{u : Lean.Level} →
  {α : Q(Type u)} →
    {sα : Q(CommSemiring «$α»)} →
      {motive : Mathlib.Tactic.Ring.Cache sα → Sort u} →
        ((rα : Option Q(CommRing «$α»)) →
            (dsα : Option Q(Semifield «$α»)) →
              (czα : Option Q(CharZero «$α»)) → motive { rα := rα, dsα := dsα, czα := czα }) →
          (t : Mathlib.Tactic.Ring.Cache sα) → motive t