{ρ : Type} →
  {pat : ρ} →
    [inst : String.Slice.Pattern.ForwardPattern pat] →
      [inst_1 : String.Slice.Pattern.Model.ForwardPatternModel pat] →
        {motive : String.Slice.Pattern.Model.LawfulForwardPatternModel pat → Sort u} →
          (t : String.Slice.Pattern.Model.LawfulForwardPatternModel pat) →
            ([toLawfulForwardPattern : String.Slice.Pattern.LawfulForwardPattern pat] →
                (dropPrefix?_eq_some_iff :
                    ∀ {s : String.Slice} (pos : s.Pos),
                      String.Slice.Pattern.ForwardPattern.dropPrefix? pat s = some pos ↔
                        String.Slice.Pattern.Model.IsLongestMatch pat pos) →
                  motive ⋯) →
              motive t