- base {s : String} {nfa : NFA} {pos : s.ValidPos} {i : Fin nfa.nodes.size} : nfa.εClosure' pos i i []
- step {s : String} {nfa : NFA} {pos : s.ValidPos} {i j k : Fin nfa.nodes.size} {update₁ : Option (ℕ × s.ValidPos)} {update₂ : List (ℕ × s.ValidPos)} (step : nfa.εStep' pos i j update₁) (rest : nfa.εClosure' pos j k update₂) : nfa.εClosure' pos i k (update₁ ::ₒ update₂)
Instances For
theorem
Regex.NFA.εClosure'.snoc
{nfa : NFA}
{s : String}
{pos : s.ValidPos}
{i j k : Fin nfa.nodes.size}
{update₁ : List (ℕ × s.ValidPos)}
{update₂ : Option (ℕ × s.ValidPos)}
(cls : nfa.εClosure' pos i j update₁)
(step : nfa.εStep' pos j k update₂)
:
nfa.εClosure' pos i k (update₁ ++ List.ofOption update₂)