theorem
Regex.NFA.Path.eq_or_path_next
{s : String}
{nfa : NFA}
{next : ℕ}
{e : Data.Expr}
{result : NFA}
{lb : ℕ}
{pos pos' : s.ValidPos}
{i j : ℕ}
{update : List (ℕ × s.ValidPos)}
(eq : nfa.pushRegex next e = result)
(jlt : j < nfa.nodes.size)
(ige : i ≥ nfa.nodes.size)
(path : result.Path lb i pos j pos' update)
:
theorem
Regex.NFA.Path.path_next_of_ne
{s : String}
{nfa : NFA}
{next : ℕ}
{e : Data.Expr}
{result : NFA}
{lb : ℕ}
{pos pos' : s.ValidPos}
{i j : ℕ}
{update : List (ℕ × s.ValidPos)}
(eq : nfa.pushRegex next e = result)
(jlt : j < nfa.nodes.size)
(ige : i ≥ nfa.nodes.size)
(ne : j ≠ next)
(path : result.Path lb i pos j pos' update)
: