(motive : Option Lean.ConstantInfo → Sort u_1) →
  (x : Option Lean.ConstantInfo) →
    ((ctorVal : Lean.ConstructorVal) → motive (some (Lean.ConstantInfo.ctorInfo ctorVal))) →
      ((val : Lean.DefinitionVal) → motive (some (Lean.ConstantInfo.defnInfo val))) →
        ((val : Lean.OpaqueVal) → motive (some (Lean.ConstantInfo.opaqueInfo val))) →
          ((val : Lean.AxiomVal) → motive (some (Lean.ConstantInfo.axiomInfo val))) →
            ((val : Lean.QuotVal) → motive (some (Lean.ConstantInfo.quotInfo val))) →
              ((val : Lean.InductiveVal) → motive (some (Lean.ConstantInfo.inductInfo val))) →
                ((val : Lean.TheoremVal) → motive (some (Lean.ConstantInfo.thmInfo val))) →
                  ((val : Lean.RecursorVal) → motive (some (Lean.ConstantInfo.recInfo val))) →
                    (Unit → motive none) → motive x