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