{M : Type u_1} →
  [inst : CommMonoid M] →
    {ζ : M} →
      {k : ℕ} →
        {motive : IsPrimitiveRoot ζ k → Sort u} →
          (t : IsPrimitiveRoot ζ k) →
            ((pow_eq_one : ζ ^ k = 1) → (dvd_of_pow_eq_one : ∀ (l : ℕ), ζ ^ l = 1 → k ∣ l) → motive ⋯) → motive t