Metamath Proof Explorer


Theorem aks6d1c7lem4

Description: In the AKS algorithm there exists a unique prime number p that divides N . (Contributed by metakunt, 16-May-2025)

Ref Expression
Hypotheses aks6d1c7.1 = { ⟨ 𝑒 , 𝑓 ⟩ ∣ ( 𝑒 ∈ ℕ ∧ 𝑓 ∈ ( Base ‘ ( Poly1𝐾 ) ) ∧ ∀ 𝑦 ∈ ( ( mulGrp ‘ 𝐾 ) PrimRoots 𝑅 ) ( 𝑒 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) ( ( ( eval1𝐾 ) ‘ 𝑓 ) ‘ 𝑦 ) ) = ( ( ( eval1𝐾 ) ‘ 𝑓 ) ‘ ( 𝑒 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) 𝑦 ) ) ) }
aks6d1c7.2 𝑃 = ( chr ‘ 𝐾 )
aks6d1c7.3 ( 𝜑𝐾 ∈ Field )
aks6d1c7.4 ( 𝜑𝑃 ∈ ℙ )
aks6d1c7.5 ( 𝜑𝑅 ∈ ℕ )
aks6d1c7.6 ( 𝜑𝑁 ∈ ( ℤ ‘ 3 ) )
aks6d1c7.7 ( 𝜑𝑃𝑁 )
aks6d1c7.8 ( 𝜑 → ( 𝑁 gcd 𝑅 ) = 1 )
aks6d1c7.9 𝐴 = ( ⌊ ‘ ( ( √ ‘ ( ϕ ‘ 𝑅 ) ) · ( 2 logb 𝑁 ) ) )
aks6d1c7.10 ( 𝜑 → ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑅 ) ‘ 𝑁 ) )
aks6d1c7.11 ( 𝜑 → ( 𝑥 ∈ ( Base ‘ 𝐾 ) ↦ ( 𝑃 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) 𝑥 ) ) ∈ ( 𝐾 RingIso 𝐾 ) )
aks6d1c7.12 ( 𝜑𝑀 ∈ ( ( mulGrp ‘ 𝐾 ) PrimRoots 𝑅 ) )
aks6d1c7.13 ( 𝜑 → ∀ 𝑏 ∈ ( 1 ... 𝐴 ) ( 𝑏 gcd 𝑁 ) = 1 )
aks6d1c7.14 ( 𝜑 → ∀ 𝑎 ∈ ( 1 ... 𝐴 ) 𝑁 ( ( var1𝐾 ) ( +g ‘ ( Poly1𝐾 ) ) ( ( algSc ‘ ( Poly1𝐾 ) ) ‘ ( ( ℤRHom ‘ 𝐾 ) ‘ 𝑎 ) ) ) )
Assertion aks6d1c7lem4 ( 𝜑 → ∃! 𝑝 ∈ ℙ 𝑝𝑁 )

Proof

Step Hyp Ref Expression
1 aks6d1c7.1 = { ⟨ 𝑒 , 𝑓 ⟩ ∣ ( 𝑒 ∈ ℕ ∧ 𝑓 ∈ ( Base ‘ ( Poly1𝐾 ) ) ∧ ∀ 𝑦 ∈ ( ( mulGrp ‘ 𝐾 ) PrimRoots 𝑅 ) ( 𝑒 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) ( ( ( eval1𝐾 ) ‘ 𝑓 ) ‘ 𝑦 ) ) = ( ( ( eval1𝐾 ) ‘ 𝑓 ) ‘ ( 𝑒 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) 𝑦 ) ) ) }
2 aks6d1c7.2 𝑃 = ( chr ‘ 𝐾 )
3 aks6d1c7.3 ( 𝜑𝐾 ∈ Field )
4 aks6d1c7.4 ( 𝜑𝑃 ∈ ℙ )
5 aks6d1c7.5 ( 𝜑𝑅 ∈ ℕ )
6 aks6d1c7.6 ( 𝜑𝑁 ∈ ( ℤ ‘ 3 ) )
7 aks6d1c7.7 ( 𝜑𝑃𝑁 )
8 aks6d1c7.8 ( 𝜑 → ( 𝑁 gcd 𝑅 ) = 1 )
9 aks6d1c7.9 𝐴 = ( ⌊ ‘ ( ( √ ‘ ( ϕ ‘ 𝑅 ) ) · ( 2 logb 𝑁 ) ) )
10 aks6d1c7.10 ( 𝜑 → ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑅 ) ‘ 𝑁 ) )
11 aks6d1c7.11 ( 𝜑 → ( 𝑥 ∈ ( Base ‘ 𝐾 ) ↦ ( 𝑃 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) 𝑥 ) ) ∈ ( 𝐾 RingIso 𝐾 ) )
12 aks6d1c7.12 ( 𝜑𝑀 ∈ ( ( mulGrp ‘ 𝐾 ) PrimRoots 𝑅 ) )
13 aks6d1c7.13 ( 𝜑 → ∀ 𝑏 ∈ ( 1 ... 𝐴 ) ( 𝑏 gcd 𝑁 ) = 1 )
14 aks6d1c7.14 ( 𝜑 → ∀ 𝑎 ∈ ( 1 ... 𝐴 ) 𝑁 ( ( var1𝐾 ) ( +g ‘ ( Poly1𝐾 ) ) ( ( algSc ‘ ( Poly1𝐾 ) ) ‘ ( ( ℤRHom ‘ 𝐾 ) ‘ 𝑎 ) ) ) )
15 3 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝐾 ∈ Field )
16 4 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑃 ∈ ℙ )
17 5 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑅 ∈ ℕ )
18 6 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑁 ∈ ( ℤ ‘ 3 ) )
19 7 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑃𝑁 )
20 8 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ( 𝑁 gcd 𝑅 ) = 1 )
21 10 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑅 ) ‘ 𝑁 ) )
22 11 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ( 𝑥 ∈ ( Base ‘ 𝐾 ) ↦ ( 𝑃 ( .g ‘ ( mulGrp ‘ 𝐾 ) ) 𝑥 ) ) ∈ ( 𝐾 RingIso 𝐾 ) )
23 12 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑀 ∈ ( ( mulGrp ‘ 𝐾 ) PrimRoots 𝑅 ) )
24 13 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ∀ 𝑏 ∈ ( 1 ... 𝐴 ) ( 𝑏 gcd 𝑁 ) = 1 )
25 14 ad2antrr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ∀ 𝑎 ∈ ( 1 ... 𝐴 ) 𝑁 ( ( var1𝐾 ) ( +g ‘ ( Poly1𝐾 ) ) ( ( algSc ‘ ( Poly1𝐾 ) ) ‘ ( ( ℤRHom ‘ 𝐾 ) ‘ 𝑎 ) ) ) )
26 simplr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑝 ∈ ℙ )
27 simpr ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑝𝑁 )
28 26 27 jca ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → ( 𝑝 ∈ ℙ ∧ 𝑝𝑁 ) )
29 1 2 15 16 17 18 19 20 9 21 22 23 24 25 28 aks6d1c7lem3 ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑃 = 𝑝 )
30 29 eqcomd ( ( ( 𝜑𝑝 ∈ ℙ ) ∧ 𝑝𝑁 ) → 𝑝 = 𝑃 )
31 30 ex ( ( 𝜑𝑝 ∈ ℙ ) → ( 𝑝𝑁𝑝 = 𝑃 ) )
32 31 ralrimiva ( 𝜑 → ∀ 𝑝 ∈ ℙ ( 𝑝𝑁𝑝 = 𝑃 ) )
33 4 7 32 3jca ( 𝜑 → ( 𝑃 ∈ ℙ ∧ 𝑃𝑁 ∧ ∀ 𝑝 ∈ ℙ ( 𝑝𝑁𝑝 = 𝑃 ) ) )
34 breq1 ( 𝑝 = 𝑃 → ( 𝑝𝑁𝑃𝑁 ) )
35 34 eqreu ( ( 𝑃 ∈ ℙ ∧ 𝑃𝑁 ∧ ∀ 𝑝 ∈ ℙ ( 𝑝𝑁𝑝 = 𝑃 ) ) → ∃! 𝑝 ∈ ℙ 𝑝𝑁 )
36 33 35 syl ( 𝜑 → ∃! 𝑝 ∈ ℙ 𝑝𝑁 )