{α : Type} →
  {motive_1 : Lean.Meta.DiscrTree.Trie α → Sort u} →
    {motive_2 : Array (Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α) → Sort u} →
      {motive_3 : List (Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α) → Sort u} →
        {motive_4 : Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α → Sort u} →
          (t : Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α) →
            ((t : Lean.Meta.DiscrTree.Trie α) → t.below → motive_1 t) →
              ((t : Array (Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α)) →
                  Lean.Meta.DiscrTree.Trie.below_1 t → motive_2 t) →
                ((t : List (Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α)) →
                    Lean.Meta.DiscrTree.Trie.below_2 t → motive_3 t) →
                  ((t : Lean.Meta.DiscrTree.Key × Lean.Meta.DiscrTree.Trie α) →
                      Lean.Meta.DiscrTree.Trie.below_3 t → motive_4 t) →
                    motive_4 t