Theorem: AIG.RefStream.getRef_push_ref_eq (LeanSAT/AIG/RefStream.lean)

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig : AIG α
len : Nat
s : aig.RefStream len
ref : aig.Ref
⊢ len < len + 1
Tactic:
omega
State after:
no goals

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig : AIG α
len : Nat
s : aig.RefStream len
ref : aig.Ref
⊢ (s.pushRef ref).getRef len ⋯ = ref
Tactic:
have := s.hlen
State after:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig : AIG α
len : Nat
s : aig.RefStream len
ref : aig.Ref
this : s.refs.size = len
⊢ (s.pushRef ref).getRef len ⋯ = ref

State before:
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
aig : AIG α
len : Nat
s : aig.RefStream len
ref : aig.Ref
this : s.refs.size = len
⊢ (s.pushRef ref).getRef len ⋯ = ref
Tactic:
simp [getRef, pushRef, ← this]
State after:
no goals