(motive : Option (Lean.ConstructorVal × Array Lean.Expr) → Sort u_1) →
  (__discr : Option (Lean.ConstructorVal × Array Lean.Expr)) →
    ((ctorVal : Lean.ConstructorVal) → (args : Array Lean.Expr) → motive (some (ctorVal, args))) →
      ((x : Option (Lean.ConstructorVal × Array Lean.Expr)) → motive x) → motive __discr