This module contains the verification of the bitblaster for symbolic BitVec
values from
Impl.Var
.
@[irreducible]
theorem
Std.Tactic.BVDecide.BVExpr.bitblast.blastVar.go_denote_eq
{w : Nat}
(aig : Sat.AIG BVBit)
(a : Nat)
(assign : Assignment)
(curr : Nat)
(hcurr : curr ≤ w)
(s : aig.RefVec curr)
(idx : Nat)
(hidx1 : idx < w)
:
@[simp]
theorem
Std.Tactic.BVDecide.BVExpr.bitblast.denote_blastVar
{w : Nat}
(aig : Sat.AIG BVBit)
(var : BVVar w)
(assign : Assignment)
(idx : Nat)
(hidx : idx < w)
:
⟦assign.toAIGAssignment, { aig := (blastVar aig var).aig, ref := (blastVar aig var).vec.get idx hidx }⟧ = (eval assign (Std.Tactic.BVDecide.BVExpr.var var.ident)).getLsbD idx