Documentation

RegexCorrectness.VM.Search.Compile

theorem Regex.VM.captureNext.captures_of_some_compile {s : String} {e : Data.Expr} {pos₀ : s.ValidPos} {matched' : Option (HistoryStrategy s).Update} (h : captureNext (HistoryStrategy s) (NFA.compile e) pos₀ = matched') (isSome' : matched'.isSome = true) :
∃ (pos : s.ValidPos) (pos' : s.ValidPos) (groups : Data.CaptureGroups s), pos₀ pos Data.Expr.Captures pos pos' groups e NFA.EquivUpdate groups (matched'.get isSome')
theorem Regex.VM.captureNext.not_captures_of_none_compile {s : String} {e : Data.Expr} {pos : s.ValidPos} (h : captureNext (HistoryStrategy s) (NFA.compile e) pos = none) (pos' pos'' : s.ValidPos) (groups : Data.CaptureGroups s) (le : pos pos') :
¬Data.Expr.Captures pos' pos'' groups e