@[irreducible]
noncomputable def
String.Slice.Pattern.Model.split
{ρ : Type}
(pat : ρ)
[PatternModel pat]
{s : Slice}
(firstRejected curr : s.Pos)
(hle : firstRejected ≤ curr)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
String.Slice.Pattern.Model.split_endPos
{ρ : Type}
{pat : ρ}
[PatternModel pat]
{s : Slice}
{firstRejected : s.Pos}
:
theorem
String.Slice.Pattern.Model.split_eq_of_isLongestMatchAt
{ρ : Type}
{pat : ρ}
[PatternModel pat]
{s : Slice}
{firstRejected start stop : s.Pos}
{hle : firstRejected ≤ start}
(h : IsLongestMatchAt pat start stop)
:
Model.split pat firstRejected start hle = s.subslice firstRejected start hle :: Model.split pat stop stop ⋯
theorem
String.Slice.Pattern.Model.split_eq_next_of_not_matchesAt
{ρ : Type}
{pat : ρ}
[PatternModel pat]
{s : Slice}
{firstRejected start : s.Pos}
{hle : firstRejected ≤ start}
(hs : start ≠ s.endPos)
(h : ¬MatchesAt pat start)
:
theorem
String.Slice.Pattern.toList_splitToSubslice_eq_modelSplit
{ρ : Type}
(pat : ρ)
[Model.PatternModel pat]
{σ : Slice → Type}
[ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[Model.LawfulToForwardSearcherModel pat]
(s : Slice)
:
theorem
String.Slice.toList_splitToSubslice_of_isEmpty
{ρ : Type}
(pat : ρ)
[Pattern.Model.PatternModel pat]
{σ : Slice → Type}
[Pattern.ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[Pattern.Model.LawfulToForwardSearcherModel pat]
{s : Slice}
(h : s.isEmpty = true)
:
theorem
String.Slice.toList_split_eq_splitToSubslice
{ρ : Type}
(pat : ρ)
{σ : Slice → Type}
[Pattern.ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
{s : Slice}
:
theorem
String.Slice.toList_split_of_isEmpty
{ρ : Type}
(pat : ρ)
[Pattern.Model.PatternModel pat]
{σ : Slice → Type}
[Pattern.ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[Pattern.Model.LawfulToForwardSearcherModel pat]
{s : Slice}
(h : s.isEmpty = true)
:
theorem
String.split_eq_split_toSlice
{ρ : Type}
{pat : ρ}
{σ : Slice → Type}
[Slice.Pattern.ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (Slice.Pattern.SearchStep s)]
{s : String}
:
@[simp]
theorem
String.toList_split_empty
{ρ : Type}
(pat : ρ)
[Slice.Pattern.Model.PatternModel pat]
{σ : Slice → Type}
[Slice.Pattern.ToForwardSearcher pat σ]
[(s : Slice) → Std.Iterator (σ s) Id (Slice.Pattern.SearchStep s)]
[∀ (s : Slice), Std.Iterators.Finite (σ s) Id]
[Slice.Pattern.Model.LawfulToForwardSearcherModel pat]
: