{ρ : Type} →
  {pat : ρ} →
    [inst : String.Slice.Pattern.ForwardPattern pat] →
      {motive : String.Slice.Pattern.LawfulForwardPattern pat → Sort u} →
        (t : String.Slice.Pattern.LawfulForwardPattern pat) →
          ((dropPrefixOfNonempty?_eq :
                ∀ {s : String.Slice} (h : s.isEmpty = false),
                  String.Slice.Pattern.ForwardPattern.dropPrefixOfNonempty? pat s h =
                    String.Slice.Pattern.ForwardPattern.dropPrefix? pat s) →
              (startsWith_eq :
                  ∀ (s : String.Slice),
                    String.Slice.Pattern.ForwardPattern.startsWith pat s =
                      (String.Slice.Pattern.ForwardPattern.dropPrefix? pat s).isSome) →
                motive ⋯) →
            motive t