Metamath Proof Explorer


Theorem isprimroot2

Description: Alternative way of creating primitive roots. (Contributed by metakunt, 14-Jul-2025)

Ref Expression
Hypotheses isprimroot2.1 ⊢ φ → R ∈ CMnd
isprimroot2.2 ⊢ φ → K ∈ ℕ
isprimroot2.3 ⊢ φ → M ∈ Base R
isprimroot2.4 ⊢ φ → od ⁡ R ⁡ M = K
Assertion isprimroot2 ⊢ φ → M ∈ R PrimRoots K

Proof

Step Hyp Ref Expression
1 isprimroot2.1 ⊢ φ → R ∈ CMnd
2 isprimroot2.2 ⊢ φ → K ∈ ℕ
3 isprimroot2.3 ⊢ φ → M ∈ Base R
4 isprimroot2.4 ⊢ φ → od ⁡ R ⁡ M = K
5 4 eqcomd ⊢ φ → K = od ⁡ R ⁡ M
6 5 oveq1d ⊢ φ → K ⋅ R M = od ⁡ R ⁡ M ⋅ R M
7 eqid ⊢ Base R = Base R
8 eqid ⊢ od ⁡ R = od ⁡ R
9 eqid ⊢ ⋅ R = ⋅ R
10 eqid ⊢ 0 R = 0 R
11 7 8 9 10 odid ⊢ M ∈ Base R → od ⁡ R ⁡ M ⋅ R M = 0 R
12 3 11 syl ⊢ φ → od ⁡ R ⁡ M ⋅ R M = 0 R
13 6 12 eqtrd ⊢ φ → K ⋅ R M = 0 R
14 4 ad2antrr ⊢ φ ∧ l ∈ ℕ 0 ∧ l ⋅ R M = 0 R → od ⁡ R ⁡ M = K
15 14 eqcomd ⊢ φ ∧ l ∈ ℕ 0 ∧ l ⋅ R M = 0 R → K = od ⁡ R ⁡ M
16 1 cmnmndd ⊢ φ → R ∈ Mnd
17 16 adantr ⊢ φ ∧ l ∈ ℕ 0 → R ∈ Mnd
18 3 adantr ⊢ φ ∧ l ∈ ℕ 0 → M ∈ Base R
19 simpr ⊢ φ ∧ l ∈ ℕ 0 → l ∈ ℕ 0
20 7 8 9 10 oddvdsnn0 ⊢ R ∈ Mnd ∧ M ∈ Base R ∧ l ∈ ℕ 0 → od ⁡ R ⁡ M ∥ l ↔ l ⋅ R M = 0 R
21 17 18 19 20 syl3anc ⊢ φ ∧ l ∈ ℕ 0 → od ⁡ R ⁡ M ∥ l ↔ l ⋅ R M = 0 R
22 21 bicomd ⊢ φ ∧ l ∈ ℕ 0 → l ⋅ R M = 0 R ↔ od ⁡ R ⁡ M ∥ l
23 22 biimpd ⊢ φ ∧ l ∈ ℕ 0 → l ⋅ R M = 0 R → od ⁡ R ⁡ M ∥ l
24 23 imp ⊢ φ ∧ l ∈ ℕ 0 ∧ l ⋅ R M = 0 R → od ⁡ R ⁡ M ∥ l
25 15 24 eqbrtrd ⊢ φ ∧ l ∈ ℕ 0 ∧ l ⋅ R M = 0 R → K ∥ l
26 25 ex ⊢ φ ∧ l ∈ ℕ 0 → l ⋅ R M = 0 R → K ∥ l
27 26 ralrimiva ⊢ φ → ∀ l ∈ ℕ 0 l ⋅ R M = 0 R → K ∥ l
28 3 13 27 3jca ⊢ φ → M ∈ Base R ∧ K ⋅ R M = 0 R ∧ ∀ l ∈ ℕ 0 l ⋅ R M = 0 R → K ∥ l
29 2 nnnn0d ⊢ φ → K ∈ ℕ 0
30 1 29 9 isprimroot ⊢ φ → M ∈ R PrimRoots K ↔ M ∈ Base R ∧ K ⋅ R M = 0 R ∧ ∀ l ∈ ℕ 0 l ⋅ R M = 0 R → K ∥ l
31 28 30 mpbird ⊢ φ → M ∈ R PrimRoots K