theorem
String.Slice.Pattern.Model.find?_eq_some_iff
{ρ : Type}
(pat : ρ)
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
{pos : s.Pos}
:
theorem
String.Slice.Pattern.Model.find?_eq_none_iff
{ρ : Type}
(pat : ρ)
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
:
@[simp]
theorem
String.Slice.isSome_find?
{ρ : Type}
(pat : ρ)
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[Pattern.ToForwardSearcher pat σ]
{s : Slice}
:
@[simp]
theorem
String.Slice.find?_eq_none_iff
{ρ : Type}
(pat : ρ)
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[Pattern.ToForwardSearcher pat σ]
{s : Slice}
:
theorem
String.Slice.Pattern.Model.contains_eq_false_iff
{ρ : Type}
(pat : ρ)
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
:
theorem
String.Slice.Pattern.Model.contains_eq_true_iff
{ρ : Type}
(pat : ρ)
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
:
theorem
String.Slice.Pos.find?_eq_find?_sliceFrom
{ρ : Type}
{pat : ρ}
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[Pattern.ToForwardSearcher pat σ]
{s : Slice}
{p : s.Pos}
:
theorem
String.Slice.Pattern.Model.posFind?_eq_some_iff
{ρ : Type}
{pat : ρ}
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
{pos pos' : s.Pos}
:
theorem
String.Slice.Pattern.Model.posFind?_eq_none_iff
{ρ : Type}
{pat : ρ}
[PatternModel pat]
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[∀ (s : Slice), Std.LawfulIteratorLoop (σ s) Id Id]
[ToForwardSearcher pat σ]
[LawfulToForwardSearcherModel pat]
{s : Slice}
{pos : s.Pos}
:
theorem
String.Pos.find?_eq_find?_toSlice
{ρ : Type}
{pat : ρ}
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Slice.Pattern.SearchStep s)]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[Slice.Pattern.ToForwardSearcher pat σ]
{s : String}
{p : s.Pos}
:
theorem
String.find?_eq_find?_toSlice
{ρ : Type}
{pat : ρ}
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Slice.Pattern.SearchStep s)]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[Slice.Pattern.ToForwardSearcher pat σ]
{s : String}
:
theorem
String.contains_eq_contains_toSlice
{ρ : Type}
{pat : ρ}
{σ : Slice → Type}
[(s : Slice) → Std.Iterator (σ s) Id (Slice.Pattern.SearchStep s)]
[(s : Slice) → Std.IteratorLoop (σ s) Id Id]
[Slice.Pattern.ToForwardSearcher pat σ]
{s : String}
: