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