@[inline]
Given op the operand for not,
- When op := decide' e
- return
some decide' (¬ e)
- return
- Otherwise:
- return
none
- return
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply the following simplification/normalization rules on not :
- ! true ==> false
- ! false ==> true
- ! (! e) ==> e
- !(decide' e) ==> decide' (¬ e)
Assume that f = Expr.const ``not.
An error is triggered if args.size ≠ 1 (i.e., only fully applied
notexpected at this stage) TODO: consider additional simplification rules
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply simplification/normalization rules on Boolean not operator.
Equations
- Blaster.Optimize.optimizeBoolNot? (Lean.Expr.const `Bool.not us) args = do let a ← Blaster.Optimize.optimizeBoolNot (Lean.Expr.const `Bool.not us) args pure (some a)
- Blaster.Optimize.optimizeBoolNot? f args = pure none