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