{u : Lean.Level} →
  {α : Q(Type u)} →
    {bt : Q(«$α») → Type} →
      {sα : Q(CommSemiring «$α»)} →
        Mathlib.Tactic.Ring.Common.RingCompute bt sα →
          {a : Q(«$α»)} →
            {b : Q(ℕ)} →
              Mathlib.Tactic.Ring.Common.ExBase bt sα a →
                Mathlib.Tactic.Ring.Common.ExProdNat b →
                  Mathlib.Tactic.Ring.Common.Result (Mathlib.Tactic.Ring.Common.ExProd bt sα)
                    q(«$a» ^ «$b» * Nat.rawCast 1)