This module contains the implementation of a bitblaster for BitVec
expressions (BVExpr
).
That is, expressions that evaluate to BitVec
again. Its used as a building block in bitblasting
general BitVec
problems with boolean substructure.
Equations
- Std.Tactic.BVDecide.BVExpr.bitblast aig expr = (Std.Tactic.BVDecide.BVExpr.bitblast.go aig expr).val
Instances For
def
Std.Tactic.BVDecide.BVExpr.bitblast.go
{w : Nat}
(aig : Sat.AIG BVBit)
(expr : BVExpr w)
:
aig.ExtendingRefVecEntry w
Equations
- One or more equations did not get rendered due to their size.
- Std.Tactic.BVDecide.BVExpr.bitblast.go aig (Std.Tactic.BVDecide.BVExpr.var a) = ⟨Std.Tactic.BVDecide.BVExpr.bitblast.blastVar aig { ident := a }, ⋯⟩
- Std.Tactic.BVDecide.BVExpr.bitblast.go aig (Std.Tactic.BVDecide.BVExpr.const val) = ⟨Std.Tactic.BVDecide.BVExpr.bitblast.blastConst aig val, ⋯⟩