Provides the logic for generating auxiliary lemmas during reification.
def
Lean.Elab.Tactic.BVDecide.Frontend.addIfLemmas
(discr : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical)
(atom lhs rhs : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVExpr)
(discrExpr atomExpr lhsExpr rhsExpr : Lean.Expr)
:
This function adds the two lemmas:
discrExpr = true → atomExpr = lhsExpr
discrExpr = false → atomExpr = rhsExpr
It assumes thatdiscrExpr
,lhsExpr
andrhsExpr
are the expressions corresponding todiscr
,lhs
andrhs
. Furthermore it assumes thatatomExpr
is of the formif discrExpr = true then lhsExpr else rhsExpr
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.BVDecide.Frontend.addIfLemmas.mkIfTrueLemma
(discr : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical)
(atom lhs rhs : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVExpr)
(discrExpr atomExpr lhsExpr rhsExpr : Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.BVDecide.Frontend.addIfLemmas.mkIfFalseLemma
(discr : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical)
(atom lhs rhs : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVExpr)
(discrExpr atomExpr lhsExpr rhsExpr : Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.Tactic.BVDecide.Frontend.addIfLemmas.mkIfLemma
(discrVal : Bool)
(discr : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical)
(atom lhs rhs : Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVExpr)
(discrExpr atomExpr lhsExpr rhsExpr : Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.