Provides the logic for reifying BitVec problems with boolean substructure.
Equations
- Lean.Meta.Tactic.BVDecide.ReifiedBVLogical.mkRefl expr = Lean.mkApp2 (Lean.mkConst `Eq.refl [1]) (Lean.mkConst `Bool) expr
Instances For
Equations
- Lean.Meta.Tactic.BVDecide.ReifiedBVLogical.mkTrans x y z hxy hyz = Lean.mkApp6 (Lean.mkConst `Eq.trans [1]) (Lean.mkConst `Bool) x y z hxy hyz
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a reified version of the constant val.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def Lean.Meta.Tactic.BVDecide.ReifiedBVLogical.mkGate (lhs rhs : ReifiedBVLogical) (lhsExpr rhsExpr : Expr) (gate : Std.Tactic.BVDecide.Gate) (origExpr : Expr) :
Construct the reified version of applying the gate in gate to lhs and rhs.
This function assumes that lhsExpr and rhsExpr are the corresponding expressions to lhs
and rhs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def Lean.Meta.Tactic.BVDecide.ReifiedBVLogical.mkNot (sub : ReifiedBVLogical) (subExpr origExpr : Expr) :
Construct the reified version of Bool.not subExpr.
This function assumes that subExpr is the expression corresponding to sub.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def Lean.Meta.Tactic.BVDecide.ReifiedBVLogical.mkIte (discr lhs rhs : ReifiedBVLogical) (discrExpr lhsExpr rhsExpr origExpr : Expr) :
Construct the reified version of if discrExpr then lhsExpr else rhsExpr.
This function assumes that discrExpr, lhsExprandrhsExprare the corresponding expressions to
`discr, lhsandrhs`.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a ReifiedBVLogical from ReifiedBVPred by wrapping it as an atom.
Equations
- One or more equations did not get rendered due to their size.