Documentation

Regex.Interval.Lemmas

instance Intervals.instInhabitedIntervalSet (α : Type) [LT α] [LE α] [HSub α α Nat] [(a b : α) → Decidable (a < b)] [(a b : α) → Decidable (a = b)] :
Equations
Equations
Instances For
    theorem Intervals.pred_lt' {n m : Nat} (h : m < n) :
    n.pred < n
    theorem Intervals.Fin.pred {n : Nat} {i : Fin n} (h : 0 < i) :
    i - 1 < n
    theorem Intervals.List.eq_head_of_get_first {α : Type u_1} {head : α} {tail : List α} (arr : List α) (h1 : 0 < arr.length) (h2 : arr = head :: tail) :
    head = arr.get 0, h1
    theorem Intervals.Array.eq_head_of_get_first {α : Type u_1} {head : α} {tail : List α} (arr : Array α) (h1 : 0 < arr.size) (h2 : arr.toList = head :: tail) :
    head = arr[0]
    theorem Intervals.nonOverlapping_of_nth {head : NonemptyInterval Char} {tail : List (NonemptyInterval Char)} (ranges : Array (NonemptyInterval Char)) (n : Nat) (h1 : 0 < n) (h2 : n + 1 < ranges.size) (h3 : ranges.toList = head :: tail) (h4 : ∀ (i : Nat) (h : i < tail.length - 1), Interval.nonOverlapping (tail.get i, ) (tail.get i + 1, )) :
    Interval.nonOverlapping ranges[n] ranges[n + 1]
    theorem Intervals.nonOverlapping_of_pred (ranges : Array (NonemptyInterval Char)) (i : Fin ranges.size) (x y : NonemptyInterval Char) (h : 0 < i) (hx : x = ranges[i - 1]) (hy : y = ranges[i]) (hr : nonOverlapping ranges) :