Documentation

Regex.NFA.Lemmas

theorem NFA.valid_sorted_of_valid (captures : Array Capture) (h : Capture.Valid captures) :
Capture.Valid (captures.mergeSort fun (a b : Capture) => decide (a b))
theorem NFA.valid_unique_of_valid (captures : Array Capture) (h : Capture.Valid captures) :
theorem NFA.CapturesValidOfRangeMap (captures : Array Capture) (h : List.map (fun (i : Nat) => if i % 2 = 0 then { role := Capture.Role.Start, group := i.div 2 } else { role := Capture.Role.End, group := i.div 2 }) (List.range captures.size) = captures.toList) :
Capture.Valid captures