(motive : Lean.SourceInfo → Sort u_1) →
  (info : Lean.SourceInfo) →
    (Unit → motive Lean.SourceInfo.none) →
      ((start stop : String.Pos.Raw) → (c : Bool) → motive (Lean.SourceInfo.synthetic start stop c)) →
        ((leading : Substring.Raw) →
            (start : String.Pos.Raw) →
              (trailing : Substring.Raw) →
                (stop : String.Pos.Raw) → motive (Lean.SourceInfo.original leading start trailing stop)) →
          motive info