Metamath Proof Explorer


Theorem isprimroot2

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

Ref Expression
Hypotheses isprimroot2.1 ( 𝜑𝑅 ∈ CMnd )
isprimroot2.2 ( 𝜑𝐾 ∈ ℕ )
isprimroot2.3 ( 𝜑𝑀 ∈ ( Base ‘ 𝑅 ) )
isprimroot2.4 ( 𝜑 → ( ( od ‘ 𝑅 ) ‘ 𝑀 ) = 𝐾 )
Assertion isprimroot2 ( 𝜑𝑀 ∈ ( 𝑅 PrimRoots 𝐾 ) )

Proof

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