cases hj with
| inl hnext => exact exploreεClosure_subset h j hnext
| inr hcls =>
  have inv' := lower_inv_exploreεClosure h inv
  have ⟨_, hmem⟩ := εClosure_subset_lower_inv inv' target (target_mem_exploreεClosure h) j hcls
  exact hmem
nfa : NFA
pos : String.Pos
next : SparseSet nfa.nodes.size
currentSave : Array (Option String.Pos)
matched : Option (Array (Option String.Pos))
saveSlots : Data.Vec (Array (Option String.Pos)) nfa.nodes.size
target : Fin nfa.nodes.size
stack : Array (StackEntry nfa.nodes.size)
matched' : Option (Array (Option String.Pos))
next' : SparseSet nfa.nodes.size
saveSlots' : Data.Vec (Array (Option String.Pos)) nfa.nodes.size
h : exploreεClosure nfa pos next currentSave matched saveSlots target stack = (matched', next', saveSlots')
inv : LowerInvExploreεClosure nfa next target stack
j : Fin nfa.nodes.size
hj : j ∈ next ∨ ↑j ∈ nfa.εClosure ↑target
⊢ j ∈ next'
no goals