This module contains the verification of the BitVec
constant bitblaster from Impl.Const
.
@[irreducible]
theorem
Std.Tactic.BVDecide.BVExpr.bitblast.blastConst.go_get_aux
{α : Type}
[Hashable α]
[DecidableEq α]
{w : Nat}
(aig : Sat.AIG α)
(c : BitVec w)
(curr : Nat)
(hcurr : curr ≤ w)
(s : aig.RefVec curr)
(idx : Nat)
(hidx : idx < curr)
(hfoo : aig.decls.size ≤ (go aig c curr s hcurr).aig.decls.size)
:
@[simp]
theorem
Std.Tactic.BVDecide.BVExpr.bitblast.denote_blastConst
{α : Type}
[Hashable α]
[DecidableEq α]
{w : Nat}
(aig : Sat.AIG α)
(c : BitVec w)
(assign : α → Bool)
(idx : Nat)
(hidx : idx < w)
:
⟦assign, { aig := (blastConst aig c).aig, ref := (blastConst aig c).vec.get idx hidx }⟧ = c.getLsbD idx