apply denote.eq_of_aig_eq (entry := ⟨aig, start,hstart⟩)
w : Nat
aig : AIG BVBit
expr : BVExpr w
assign : Assignment
start : Nat
hstart : start < aig.decls.size
⊢ ⟦{ aig := (go aig expr).val.aig, ref := { gate := start, hgate := ⋯ } }, assign.toAIGAssignment⟧ =
    ⟦{ aig := aig, ref := { gate := start, hgate := hstart } }, assign.toAIGAssignment⟧
case hprefix
w : Nat
aig : AIG BVBit
expr : BVExpr w
assign : Assignment
start : Nat
hstart : start < aig.decls.size
⊢ IsPrefix { aig := aig, ref := { gate := start, hgate := hstart } }.aig.decls (go aig expr).val.aig.decls