Apply the following simplification/normalization rules on Blaster.decide':
- decide' False ==> false
- decide' True ==> true
- decide' (true = p) ==> p
- decide' (false = p) ==> ! p An error is trigerred if args.size ≠ 2.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Return some p if e := true = p
Return some (! p) if e := false = p
Otherwise none.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply simplification/normalization rules on Blaster.decide'.
Equations
- Blaster.Optimize.optimizeDecide? (Lean.Expr.const `Blaster.decide' us) args = do let a ← Blaster.Optimize.optimizeDecideCore (Lean.Expr.const `Blaster.decide' us) args pure (some a)
- Blaster.Optimize.optimizeDecide? f args = pure none