{G : Type u} →
  [toMonoid : Monoid G] →
    [toInv : Inv G] →
      [toDiv : Div G] →
        autoParam (∀ (a b : G), a / b = a * b⁻¹) DivInvMonoid.div_eq_mul_inv._autoParam →
          (zpow : ℤ → G → G) →
            autoParam (∀ (a : G), zpow 0 a = 1) DivInvMonoid.zpow_zero'._autoParam →
              autoParam (∀ (n : ℕ) (a : G), zpow (↑n.succ) a = zpow (↑n) a * a) DivInvMonoid.zpow_succ'._autoParam →
                autoParam (∀ (n : ℕ) (a : G), zpow (Int.negSucc n) a = (zpow (↑n.succ) a)⁻¹)
                    DivInvMonoid.zpow_neg'._autoParam →
                  DivInvMonoid G