∀ {ρ : Type} {pat : ρ} [inst : String.Slice.Pattern.Model.PatternModel pat] {s : String.Slice}
  {startPos startPos' endPos : s.Pos} {l : List (String.Slice.Pattern.SearchStep s)},
  String.Slice.Pattern.Model.IsValidSearchFrom pat endPos l →
    String.Slice.Pattern.Model.IsLongestMatchAt pat startPos' endPos →
      startPos = startPos' →
        String.Slice.Pattern.Model.IsValidSearchFrom pat startPos'
          (String.Slice.Pattern.SearchStep.matched startPos endPos :: l)