- init {s : String} {nfa : NFA} {wf : nfa.WellFormed} {pos : s.Pos} : Path nfa wf pos pos ⟨nfa.start, ⋯⟩ []
- more {s : String} {nfa : NFA} {wf : nfa.WellFormed} {pos : s.Pos} {i j : Fin nfa.nodes.size} {pos' pos'' : s.Pos} {update₁ : List (ℕ × s.Pos)} {update₂ : Option (ℕ × s.Pos)} {update₃ : List (ℕ × s.Pos)} (prev : Path nfa wf pos pos' i update₁) (step : nfa.Step 0 (↑i) pos' (↑j) pos'' update₂) (equpdate : update₃ = update₁ ++ List.ofOption update₂) : Path nfa wf pos pos'' j update₃
Instances For
theorem
Regex.Backtracker.Path.concat_nfaPath
{s : String}
{nfa : NFA}
{wf : nfa.WellFormed}
{pos pos' pos'' : s.Pos}
{update₁ update₂ update₃ : List (ℕ × s.Pos)}
{i j : ℕ}
(isLt : i < nfa.nodes.size)
(path₁ : Path nfa wf pos pos' ⟨i, isLt⟩ update₁)
(path₂ : nfa.Path 0 i pos' j pos'' update₂)
(equpdate : update₃ = update₁ ++ update₂)
:
def
Regex.Backtracker.Path.bvpos'
{s : String}
{nfa : NFA}
{wf : nfa.WellFormed}
{startPos : s.Pos}
{bvpos : Data.BVPos startPos}
{pos' : s.Pos}
{i : Fin nfa.nodes.size}
{update : List (ℕ × s.Pos)}
(path : Path nfa wf bvpos.current pos' i update)
:
Data.BVPos startPos