Documentation

Init.Data.String.Lemmas.Order

@[simp]
theorem String.Slice.Pos.next_le_iff_lt {s : Slice} {p q : s.Pos} {h : p ≠ s.endPos} :
p.next h ≤ q ↔ p < q
@[simp]
theorem String.Slice.Pos.lt_next_iff_le {s : Slice} {p q : s.Pos} {h : q ≠ s.endPos} :
p < q.next h ↔ p ≤ q
theorem String.Slice.Pos.next_eq_iff {s : Slice} {p q : s.Pos} {h : p ≠ s.endPos} :
p.next h = q ↔ p < q ∧ ∀ (q' : s.Pos), p < q' → q ≤ q'
@[simp]
theorem String.Pos.next_le_iff_lt {s : String} {p q : s.Pos} {h : p ≠ s.endPos} :
p.next h ≤ q ↔ p < q
@[simp]
theorem String.Pos.lt_next_iff_le {s : String} {p q : s.Pos} {h : q ≠ s.endPos} :
p < q.next h ↔ p ≤ q
theorem String.Pos.next_eq_iff {s : String} {p q : s.Pos} {h : p ≠ s.endPos} :
p.next h = q ↔ p < q ∧ ∀ (q' : s.Pos), p < q' → q ≤ q'
@[simp]
@[simp]
@[simp]
theorem String.Slice.Pos.endPos_le {s : Slice} (p : s.Pos) :
@[simp]
theorem String.Slice.Pos.lt_endPos_iff {s : Slice} (p : s.Pos) :
@[simp]
theorem String.Pos.le_startPos {s : String} (p : s.Pos) :
@[simp]
@[simp]
theorem String.Pos.endPos_le {s : String} (p : s.Pos) :
@[simp]
theorem String.Slice.Pos.ne_startPos_of_lt {s : Slice} {p q : s.Pos} :
p < q → q ≠ s.startPos
@[simp]
theorem String.Pos.not_lt_startPos {s : String} {p : s.Pos} :
@[simp]
@[simp]
theorem String.Pos.not_endPos_lt {s : String} {p : s.Pos} :
theorem String.Pos.ne_endPos_of_lt {s : String} {p q : s.Pos} :
p < q → p ≠ s.endPos
@[simp]
theorem String.Slice.Pos.le_next {s : Slice} {p : s.Pos} {h : p ≠ s.endPos} :
p ≤ p.next h
@[simp]
theorem String.Pos.le_next {s : String} {p : s.Pos} {h : p ≠ s.endPos} :
p ≤ p.next h
@[simp]
theorem String.Slice.Pos.next_ne_startPos {s : Slice} {p : s.Pos} {h : p ≠ s.endPos} :
@[simp]
theorem String.Slice.Pos.getUTF8Byte_offset {s : Slice} {p : s.Pos} {h : p.offset < s.rawEndPos} :
s.getUTF8Byte p.offset h = p.byte ⋯