Theorem: BVExpr.bitblast.blastNot_eq_eval_getLsb (LeanSAT/Reflect/BVExpr/BitBlast/Lemmas/Not.lean)

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
w : Nat
aig : AIG α
target : aig.RefStream w
assign : α → Bool
⊢ ∀ (idx : Nat) (hidx : idx < w),
    ⟦{ aig := (blastNot aig target).aig, ref := (blastNot aig target).stream.getRef idx hidx }, assign⟧ =
      !⟦{ aig := aig, ref := target.getRef idx hidx }, assign⟧
Tactic:
intro idx hidx
State after:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
w : Nat
aig : AIG α
target : aig.RefStream w
assign : α → Bool
idx : Nat
hidx : idx < w
⊢ ⟦{ aig := (blastNot aig target).aig, ref := (blastNot aig target).stream.getRef idx hidx }, assign⟧ =
    !⟦{ aig := aig, ref := target.getRef idx hidx }, assign⟧

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
w : Nat
aig : AIG α
target : aig.RefStream w
assign : α → Bool
idx : Nat
hidx : idx < w
⊢ ⟦{ aig := (blastNot aig target).aig, ref := (blastNot aig target).stream.getRef idx hidx }, assign⟧ =
    !⟦{ aig := aig, ref := target.getRef idx hidx }, assign⟧
Tactic:
unfold blastNot
State after:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
w : Nat
aig : AIG α
target : aig.RefStream w
assign : α → Bool
idx : Nat
hidx : idx < w
⊢ ⟦{ aig := (RefStream.map aig (RefStream.MapTarget.mk target mkNotCached)).aig,
        ref := (RefStream.map aig (RefStream.MapTarget.mk target mkNotCached)).stream.getRef idx hidx },
      assign⟧ =
    !⟦{ aig := aig, ref := target.getRef idx hidx }, assign⟧

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
w : Nat
aig : AIG α
target : aig.RefStream w
assign : α → Bool
idx : Nat
hidx : idx < w
⊢ ⟦{ aig := (RefStream.map aig (RefStream.MapTarget.mk target mkNotCached)).aig,
        ref := (RefStream.map aig (RefStream.MapTarget.mk target mkNotCached)).stream.getRef idx hidx },
      assign⟧ =
    !⟦{ aig := aig, ref := target.getRef idx hidx }, assign⟧
Tactic:
simp
State after:
no goals