∀ {α : Type} [inst : Hashable α] [inst_1 : DecidableEq α] {β : Type} [inst_2 : Hashable β] [inst_3 : DecidableEq β]
  {invert : Bool} (aig : Std.Sat.AIG α) (r : α → β) (start : ℕ) {hidx : start < (Std.Sat.AIG.relabel r aig).decls.size}
  (assign : β → Bool),
  ⟦assign, { aig := Std.Sat.AIG.relabel r aig, ref := { gate := start, invert := invert, hgate := hidx } }⟧ =
    ⟦assign ∘ r, { aig := aig, ref := { gate := start, invert := invert, hgate := ⋯ } }⟧