theorem
String.Slice.apply_skipPrefixWhile_bool_eq_false
{p : Char → Bool}
{s : Slice}
{h : s.skipPrefixWhile p ≠ s.endPos}
:
theorem
String.Slice.apply_skipPrefixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{h : s.skipPrefixWhile P ≠ s.endPos}
:
¬P ((s.skipPrefixWhile P).get h)
theorem
String.Slice.apply_of_lt_skipPrefixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{pos : s.Pos}
(h : pos < s.skipPrefixWhile P)
:
P (pos.get ⋯)
theorem
String.Slice.Pos.apply_revSkipWhile_bool_eq_false
{p : Char → Bool}
{s : Slice}
{pos : s.Pos}
{h : pos.revSkipWhile p ≠ s.startPos}
:
theorem
String.Slice.apply_skipSuffixWhile_bool_eq_false
{p : Char → Bool}
{s : Slice}
{h : s.skipSuffixWhile p ≠ s.startPos}
:
theorem
String.Slice.Pos.apply_revSkipWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{pos : s.Pos}
{h : pos.revSkipWhile P ≠ s.startPos}
:
¬P (((pos.revSkipWhile P).prev h).get ⋯)
theorem
String.Slice.Pos.revSkipWhile_prop_eq_self_iff_get
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{pos : s.Pos}
:
theorem
String.Slice.Pos.apply_of_revSkipWhile_le_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{pos pos' : s.Pos}
(h₁ : pos' < pos)
(h₂ : pos.revSkipWhile P ≤ pos')
:
P (pos'.get ⋯)
theorem
String.Slice.apply_skipSuffixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{h : s.skipSuffixWhile P ≠ s.startPos}
:
¬P (((s.skipSuffixWhile P).prev h).get ⋯)
theorem
String.Slice.apply_of_skipSuffixWhile_le_prop
{P : Char → Prop}
[DecidablePred P]
{s : Slice}
{pos : s.Pos}
(h : s.skipSuffixWhile P ≤ pos)
(h' : pos < s.endPos)
:
P (pos.get ⋯)
theorem
String.apply_skipPrefixWhile_bool_eq_false
{p : Char → Bool}
{s : String}
{h : s.skipPrefixWhile p ≠ s.endPos}
:
theorem
String.apply_skipPrefixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{h : s.skipPrefixWhile P ≠ s.endPos}
:
¬P ((s.skipPrefixWhile P).get h)
theorem
String.apply_of_lt_skipPrefixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{pos : s.Pos}
(h : pos < s.skipPrefixWhile P)
:
P (pos.get ⋯)
theorem
String.Pos.apply_revSkipWhile_bool_eq_false
{p : Char → Bool}
{s : String}
{pos : s.Pos}
{h : pos.revSkipWhile p ≠ s.startPos}
:
theorem
String.apply_skipSuffixWhile_bool_eq_false
{p : Char → Bool}
{s : String}
{h : s.skipSuffixWhile p ≠ s.startPos}
:
theorem
String.Pos.apply_revSkipWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{pos : s.Pos}
{h : pos.revSkipWhile P ≠ s.startPos}
:
¬P (((pos.revSkipWhile P).prev h).get ⋯)
theorem
String.Pos.revSkipWhile_prop_eq_self_iff_get
{P : Char → Prop}
[DecidablePred P]
{s : String}
{pos : s.Pos}
:
theorem
String.Pos.apply_of_revSkipWhile_le_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{pos pos' : s.Pos}
(h₁ : pos' < pos)
(h₂ : pos.revSkipWhile P ≤ pos')
:
P (pos'.get ⋯)
theorem
String.apply_skipSuffixWhile_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{h : s.skipSuffixWhile P ≠ s.startPos}
:
¬P (((s.skipSuffixWhile P).prev h).get ⋯)
theorem
String.apply_of_skipSuffixWhile_le_prop
{P : Char → Prop}
[DecidablePred P]
{s : String}
{pos : s.Pos}
(h : s.skipSuffixWhile P ≤ pos)
(h' : pos < s.endPos)
:
P (pos.get ⋯)