Provides the logic for reifying BitVec problems with boolean substructure.
Instances For
Instances For
Instances For
Construct a ReifiedBVLogical from ReifiedBVPred by wrapping it as an atom.
Instances For
Construct an uninterpreted Bool atom from t.
Instances For
Build a reified version of the constant val.
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.
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.
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`.