unfold map
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig✝ : AIG α
len : Nat
assign : α → Bool
aig : AIG α
target : MapTarget aig len
idx : Nat
hidx : idx < len
⊢ ⟦{ aig := (map aig target).aig, ref := (map aig target).stream.getRef idx hidx }, assign⟧ =
    ⟦target.func aig (target.stream.getRef idx hidx), assign⟧
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig✝ : AIG α
len : Nat
assign : α → Bool
aig : AIG α
target : MapTarget aig len
idx : Nat
hidx : idx < len
⊢ ⟦{ aig := (map.go aig 0 ⋯ empty target.stream target.func).aig,
        ref := (map.go aig 0 ⋯ empty target.stream target.func).stream.getRef idx hidx },
      assign⟧ =
    ⟦target.func aig (target.stream.getRef idx hidx), assign⟧