{motive_1 : Lean.MessageData → Sort u} →
  {motive_2 : Array Lean.MessageData → Sort u} →
    {motive_3 : List Lean.MessageData → Sort u} →
      (t : List Lean.MessageData) →
        ((t : Lean.MessageData) → t.below → motive_1 t) →
          ((t : Array Lean.MessageData) → Lean.MessageData.below_1 t → motive_2 t) →
            ((t : List Lean.MessageData) → Lean.MessageData.below_2 t → motive_3 t) →
              motive_3 t ×' Lean.MessageData.below_2 t