Documentation

Regex.Data.String

Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        @[irreducible, specialize #[]]
        def Regex.Data.String.find {s : String} (pos : s.Pos) (p : CharBool) :
        s.Pos
        Equations
        Instances For
          theorem String.Pos.ne_endPos_of_lt {s : String} {pos pos' : s.Pos} (lt : pos < pos') :
          pos s.endPos
          @[simp]
          theorem String.Pos.ne_next {s : String} {pos : s.Pos} {ne : pos s.endPos} :
          pos pos.next ne
          @[irreducible]
          def String.Pos.posRevInduction {s : String} {motive : s.PosSort u} (endPos : motive s.endPos) (next : (p : s.Pos) → (h : p s.endPos) → motive (p.next h)motive p) (p : s.Pos) :
          motive p
          Equations
          Instances For
            theorem String.Pos.splits_of_next {s l r : String} {p : s.Pos} {h : p s.endPos} (sp : (p.next h).Splits (l ++ singleton (p.get h)) r) :
            p.Splits l (singleton (p.get h) ++ r)
            theorem String.Pos.splits_get_singleton {s l r : String} {c : Char} {p : s.Pos} (sp : p.Splits l (singleton c ++ r)) :
            p.get = c
            theorem String.Pos.lt_or_eq_of_le {s : String} {p p' : s.Pos} (le : p p') :
            p < p' p = p'
            theorem String.Pos.Splits.exists_eq_append_left_of_lt {s l r : String} {p p' : s.Pos} (sp : p.Splits l r) (lt : p' < p) :
            (l₁ : String), (l₂ : String), l = l₁ ++ l₂ p'.Splits l₁ (l₂ ++ r)
            theorem String.Pos.next_inj {s : String} {pos pos' : s.Pos} {h : pos s.endPos} {h' : pos' s.endPos} (eq : pos.next h = pos'.next h') :
            pos = pos'
            theorem String.Pos.le_of_lt_next {s : String} {pos pos' : s.Pos} {h' : pos' s.endPos} (lt : pos < pos'.next h') :
            pos pos'
            theorem String.Pos.le_or_eq_of_le_next {s : String} {pos pos' : s.Pos} {h' : pos' s.endPos} (le : pos pos'.next h') :
            pos pos' pos = pos'.next h'
            theorem String.Pos.le_next_iff {s : String} {pos pos' : s.Pos} {h' : pos' s.endPos} :
            pos pos'.next h' pos pos' pos = pos'.next h'
            theorem String.Pos.lt_next_iff {s : String} {pos pos' : s.Pos} {h' : pos' s.endPos} :
            pos < pos'.next h' pos pos'
            theorem String.Pos.le_iff_lt_or_eq {s : String} {pos pos' : s.Pos} :
            pos pos' pos < pos' pos = pos'
            theorem String.Pos.lt_next_iff_lt_or_eq {s : String} {pos pos' : s.Pos} (h' : pos' s.endPos) :
            pos < pos'.next h' pos < pos' pos = pos'
            structure String.PosPlusOne (s : String) :
            Instances For
              theorem String.PosPlusOne.ext {s : String} {x y : s.PosPlusOne} (offset : x.offset = y.offset) :
              x = y
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def String.instDecidableEqPosPlusOne.decEq {s✝ : String} (x✝ x✝¹ : s✝.PosPlusOne) :
                Decidable (x✝ = x✝¹)
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[match_pattern]
                  Equations
                  Instances For
                    @[match_pattern]
                    Equations
                    Instances For
                      def String.PosPlusOne.rec' {s : String} {motive : s.PosPlusOneSort u} (pos : (p : s.Pos) → motive (pos p)) (sentinel : motive (sentinel s)) (p : s.PosPlusOne) :
                      motive p
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[inline]
                        Equations
                        Instances For
                          Equations
                          Instances For
                            def String.PosPlusOne.lt {s : String} (p₁ p₂ : s.PosPlusOne) :
                            Equations
                            Instances For
                              theorem String.PosPlusOne.lt_iff {s : String} {p₁ p₂ : s.PosPlusOne} :
                              p₁ < p₂ p₁.offset < p₂.offset
                              instance String.PosPlusOne.instDecidableLt {s : String} (p₁ p₂ : s.PosPlusOne) :
                              Decidable (p₁ < p₂)
                              Equations
                              Equations
                              Instances For
                                @[simp]
                                theorem String.PosPlusOne.lt_next {s : String} (p : s.PosPlusOne) (h : p.isValid = true) :
                                p < p.next h
                                def String.PosPlusOne.le {s : String} (p₁ p₂ : s.PosPlusOne) :
                                Equations
                                Instances For
                                  theorem String.PosPlusOne.le_iff {s : String} {p₁ p₂ : s.PosPlusOne} :
                                  p₁ p₂ p₁.offset p₂.offset
                                  @[simp]
                                  theorem String.PosPlusOne.pos_le_pos_iff {s : String} {p₁ p₂ : s.Pos} :
                                  pos p₁ pos p₂ p₁ p₂
                                  instance String.PosPlusOne.instDecidableLe {s : String} (p₁ p₂ : s.PosPlusOne) :
                                  Decidable (p₁ p₂)
                                  Equations
                                  theorem String.PosPlusOne.isValid_of_isValid_of_le {s : String} {p₁ p₂ : s.PosPlusOne} (h : p₂.isValid = true) (le : p₁ p₂) :
                                  theorem String.PosPlusOne.pos_inj {s : String} {p₁ p₂ : s.Pos} (h : pos p₁ = pos p₂) :
                                  p₁ = p₂
                                  def String.PosPlusOne.or {s : String} (p₁ p₂ : s.PosPlusOne) :
                                  Equations
                                  Instances For
                                    def String.PosPlusOne.orElse {s : String} (p₁ : s.PosPlusOne) (p₂ : Units.PosPlusOne) :
                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem String.PosPlusOne.orElse_eq_or {s : String} {p₁ : s.PosPlusOne} {p₂ : Units.PosPlusOne} :
                                      p₁.orElse p₂ = p₁.or (p₂ ())
                                      @[simp]
                                      theorem String.PosPlusOne.hOrElse_eq_orElse {s : String} {p₁ : s.PosPlusOne} {p₂ : Units.PosPlusOne} :
                                      (p₁ <|> p₂ ()) = p₁.orElse p₂
                                      @[simp]
                                      theorem String.PosPlusOne.or_valid {s : String} {p₁ p₂ : s.PosPlusOne} (h : p₁.isValid = true) :
                                      p₁.or p₂ = p₁
                                      @[simp]
                                      theorem String.PosPlusOne.or_not_valid {s : String} {p₁ p₂ : s.PosPlusOne} (h : ¬p₁.isValid = true) :
                                      p₁.or p₂ = p₂
                                      @[simp]
                                      @[simp]
                                      theorem String.PosPlusOne.sentinel_or {s : String} {p₁ p₂ : s.PosPlusOne} (h : p₁ = sentinel s) :
                                      p₁.or p₂ = p₂
                                      @[simp]
                                      theorem String.PosPlusOne.pos_or {s : String} {p : s.Pos} {p₁ p₂ : s.PosPlusOne} (h : p₁ = pos p) :
                                      p₁.or p₂ = p₁
                                      @[simp]
                                      theorem String.PosPlusOne.or_sentinel {s : String} {p₁ p₂ : s.PosPlusOne} (h : p₂ = sentinel s) :
                                      p₁.or p₂ = p₁
                                      @[simp]
                                      theorem String.PosPlusOne.or_self {s : String} {p : s.PosPlusOne} :
                                      p.or p = p
                                      @[simp]
                                      theorem String.PosPlusOne.asPos_pos {s : String} {p : s.Pos} :
                                      (pos p).asPos = p
                                      @[simp]
                                      theorem String.PosPlusOne.pos_asPos {s : String} {p : s.PosPlusOne} {h : p.isValid = true} :
                                      pos (p.asPos h) = p