Metamath Proof Explorer


Theorem aks6d1c2p1

Description: In the AKS-theorem the subset defined by E takes values in the positive integers. (Contributed by metakunt, 7-Jan-2025)

Ref Expression
Hypotheses aks6d1c2p1.1 ( 𝜑𝑁 ∈ ℕ )
aks6d1c2p1.2 ( 𝜑𝑃 ∈ ℙ )
aks6d1c2p1.3 ( 𝜑𝑃𝑁 )
aks6d1c2p1.4 𝐸 = ( 𝑘 ∈ ℕ0 , 𝑙 ∈ ℕ0 ↦ ( ( 𝑃𝑘 ) · ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) ) )
Assertion aks6d1c2p1 ( 𝜑𝐸 : ( ℕ0 × ℕ0 ) ⟶ ℕ )

Proof

Step Hyp Ref Expression
1 aks6d1c2p1.1 ( 𝜑𝑁 ∈ ℕ )
2 aks6d1c2p1.2 ( 𝜑𝑃 ∈ ℙ )
3 aks6d1c2p1.3 ( 𝜑𝑃𝑁 )
4 aks6d1c2p1.4 𝐸 = ( 𝑘 ∈ ℕ0 , 𝑙 ∈ ℕ0 ↦ ( ( 𝑃𝑘 ) · ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) ) )
5 prmnn ( 𝑃 ∈ ℙ → 𝑃 ∈ ℕ )
6 2 5 syl ( 𝜑𝑃 ∈ ℕ )
7 6 adantr ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → 𝑃 ∈ ℕ )
8 simpr ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → 𝑎 ∈ ( ℕ0 × ℕ0 ) )
9 xp1st ( 𝑎 ∈ ( ℕ0 × ℕ0 ) → ( 1st𝑎 ) ∈ ℕ0 )
10 8 9 syl ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( 1st𝑎 ) ∈ ℕ0 )
11 7 10 nnexpcld ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( 𝑃 ↑ ( 1st𝑎 ) ) ∈ ℕ )
12 1 6 jca ( 𝜑 → ( 𝑁 ∈ ℕ ∧ 𝑃 ∈ ℕ ) )
13 nndivdvds ( ( 𝑁 ∈ ℕ ∧ 𝑃 ∈ ℕ ) → ( 𝑃𝑁 ↔ ( 𝑁 / 𝑃 ) ∈ ℕ ) )
14 12 13 syl ( 𝜑 → ( 𝑃𝑁 ↔ ( 𝑁 / 𝑃 ) ∈ ℕ ) )
15 3 14 mpbid ( 𝜑 → ( 𝑁 / 𝑃 ) ∈ ℕ )
16 15 adantr ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( 𝑁 / 𝑃 ) ∈ ℕ )
17 xp2nd ( 𝑎 ∈ ( ℕ0 × ℕ0 ) → ( 2nd𝑎 ) ∈ ℕ0 )
18 8 17 syl ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( 2nd𝑎 ) ∈ ℕ0 )
19 16 18 nnexpcld ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ∈ ℕ )
20 11 19 nnmulcld ( ( 𝜑𝑎 ∈ ( ℕ0 × ℕ0 ) ) → ( ( 𝑃 ↑ ( 1st𝑎 ) ) · ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ) ∈ ℕ )
21 vex 𝑘 ∈ V
22 vex 𝑙 ∈ V
23 21 22 op1std ( 𝑎 = ⟨ 𝑘 , 𝑙 ⟩ → ( 1st𝑎 ) = 𝑘 )
24 23 oveq2d ( 𝑎 = ⟨ 𝑘 , 𝑙 ⟩ → ( 𝑃 ↑ ( 1st𝑎 ) ) = ( 𝑃𝑘 ) )
25 21 22 op2ndd ( 𝑎 = ⟨ 𝑘 , 𝑙 ⟩ → ( 2nd𝑎 ) = 𝑙 )
26 25 oveq2d ( 𝑎 = ⟨ 𝑘 , 𝑙 ⟩ → ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) = ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) )
27 24 26 oveq12d ( 𝑎 = ⟨ 𝑘 , 𝑙 ⟩ → ( ( 𝑃 ↑ ( 1st𝑎 ) ) · ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ) = ( ( 𝑃𝑘 ) · ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) ) )
28 27 mpompt ( 𝑎 ∈ ( ℕ0 × ℕ0 ) ↦ ( ( 𝑃 ↑ ( 1st𝑎 ) ) · ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ) ) = ( 𝑘 ∈ ℕ0 , 𝑙 ∈ ℕ0 ↦ ( ( 𝑃𝑘 ) · ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) ) )
29 28 eqcomi ( 𝑘 ∈ ℕ0 , 𝑙 ∈ ℕ0 ↦ ( ( 𝑃𝑘 ) · ( ( 𝑁 / 𝑃 ) ↑ 𝑙 ) ) ) = ( 𝑎 ∈ ( ℕ0 × ℕ0 ) ↦ ( ( 𝑃 ↑ ( 1st𝑎 ) ) · ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ) )
30 4 29 eqtri 𝐸 = ( 𝑎 ∈ ( ℕ0 × ℕ0 ) ↦ ( ( 𝑃 ↑ ( 1st𝑎 ) ) · ( ( 𝑁 / 𝑃 ) ↑ ( 2nd𝑎 ) ) ) )
31 20 30 fmptd ( 𝜑𝐸 : ( ℕ0 × ℕ0 ) ⟶ ℕ )