(motive : ℕ → Lean.Elab.Tactic.RCases.RCasesPatt → Sort u_1) →
  (x : ℕ) →
    (x_1 : Lean.Elab.Tactic.RCases.RCasesPatt) →
      ((p : ℕ) →
          (ref : Lean.Syntax) →
            (pat : Lean.Elab.Tactic.RCases.RCasesPatt) → motive p (Lean.Elab.Tactic.RCases.RCasesPatt.paren ref pat)) →
        ((x : ℕ) → (ref : Lean.Syntax) → (n : Lean.Name) → motive x (Lean.Elab.Tactic.RCases.RCasesPatt.one ref n)) →
          ((x : ℕ) → (ref : Lean.Syntax) → motive x (Lean.Elab.Tactic.RCases.RCasesPatt.clear ref)) →
            ((x : ℕ) →
                (ref : Lean.Syntax) →
                  (pat : Lean.Elab.Tactic.RCases.RCasesPatt) →
                    motive x (Lean.Elab.Tactic.RCases.RCasesPatt.explicit ref pat)) →
              ((p : ℕ) →
                  (ref : Lean.Syntax) →
                    (pat : Lean.Elab.Tactic.RCases.RCasesPatt) →
                      (ty : Lean.Term) → motive p (Lean.Elab.Tactic.RCases.RCasesPatt.typed ref pat ty)) →
                ((x : ℕ) →
                    (ref : Lean.Syntax) →
                      (pats : List Lean.Elab.Tactic.RCases.RCasesPatt) →
                        motive x (Lean.Elab.Tactic.RCases.RCasesPatt.tuple ref pats)) →
                  ((p : ℕ) →
                      (ref : Lean.Syntax) →
                        (pats : List Lean.Elab.Tactic.RCases.RCasesPatt) →
                          motive p (Lean.Elab.Tactic.RCases.RCasesPatt.alts ref pats)) →
                    motive x x_1