Provides the logic for reifying BitVec problems with boolean substructure.
Equations
- Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkRefl expr = Lean.mkApp2 (Lean.mkConst `Eq.refl [1]) (Lean.mkConst `Bool) expr
Instances For
Equations
- Lean.Elab.Tactic.BVDecide.Frontend.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
Construct a ReifiedBVLogical from ReifiedBVPred by wrapping it as an atom.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct an uninterrpeted Bool atom from t.
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.Elab.Tactic.BVDecide.Frontend.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.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkGate.congrThmOfGate
(gate : Std.Tactic.BVDecide.Gate)
 :
Equations
- Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkGate.congrThmOfGate Std.Tactic.BVDecide.Gate.and = `Std.Tactic.BVDecide.Reflect.Bool.and_congr
- Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkGate.congrThmOfGate Std.Tactic.BVDecide.Gate.xor = `Std.Tactic.BVDecide.Reflect.Bool.xor_congr
- Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkGate.congrThmOfGate Std.Tactic.BVDecide.Gate.beq = `Std.Tactic.BVDecide.Reflect.Bool.beq_congr
- Lean.Elab.Tactic.BVDecide.Frontend.ReifiedBVLogical.mkGate.congrThmOfGate Std.Tactic.BVDecide.Gate.or = `Std.Tactic.BVDecide.Reflect.Bool.or_congr
Instances For
def
Lean.Elab.Tactic.BVDecide.Frontend.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.Elab.Tactic.BVDecide.Frontend.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.