{u : Lean.Level} →
  {α : Q(Type u)} →
    (sα : Q(CommSemiring «$α»)) →
      {b : Q(«$α»)} →
        (rα : Q(CommRing «$α»)) →
          (motive : Mathlib.Tactic.Ring.Result (Mathlib.Tactic.Ring.ExSum sα) q(-«$b») → Sort u_1) →
            (__discr : Mathlib.Tactic.Ring.Result (Mathlib.Tactic.Ring.ExSum sα) q(-«$b»)) →
              ((_c : Q(«$α»)) →
                  (vc : Mathlib.Tactic.Ring.ExSum sα _c) →
                    (pc : Q(-«$b» = «$_c»)) → motive { expr := _c, val := vc, proof := pc }) →
                motive __discr