exact pathToNext_of_matches.alternateLeft eq ih
case alternateLeft
r : Data.Expr
cs cs✝ : List Char
r₁✝ r₂✝ : Data.Expr
a✝ : Data.Expr.matches cs✝ r₁✝
ih :
  ∀ {nfa : NFA} {next : Fin nfa.nodes.size} {nfa' : { nfa' // nfa.nodes.size < nfa'.nodes.size }},
    nfa.pushRegex next r₁✝ = nfa' → (↑nfa').pathToNext (↑next) nfa.nodes.size (↑(↑nfa').start) cs✝
nfa : NFA
next : Fin nfa.nodes.size
nfa' : { nfa' // nfa.nodes.size < nfa'.nodes.size }
eq : nfa.pushRegex next (r₁✝.alternate r₂✝) = nfa'
⊢ (↑nfa').pathToNext (↑next) nfa.nodes.size (↑(↑nfa').start) cs✝
no goals