match hcache:aig.cache.find? (.atom var) with
| some gate =>
  have := mkAtomCached_hit_aig aig hcache
  simp [this]
| none =>
  have := mkAtomCached_miss_aig aig hcache
  simp only [this, Array.get_push]
  split
  . rfl
  . contradiction
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig : AIG α
var : α
idx : Nat
h : idx < aig.decls.size
hbound : idx < (aig.mkAtomCached var).aig.decls.size
⊢ (aig.mkAtomCached var).aig.decls[idx] = aig.decls[idx]
no goals