Metamath Proof Explorer


Theorem aks4d1

Description: Lemma 4.1 from https://www3.nd.edu/%7eandyp/notes/AKS.pdf , existence of a polynomially bounded number by the digit size of N that asserts the polynomial subspace that we need to search to guarantee that N is prime. Eventually we want to show that the polynomial searching space is bounded by degree B . (Contributed by metakunt, 14-Nov-2024)

Ref Expression
Hypotheses aks4d1.1 ( 𝜑𝑁 ∈ ( ℤ ‘ 3 ) )
aks4d1.2 𝐵 = ( ⌈ ‘ ( ( 2 logb 𝑁 ) ↑ 5 ) )
Assertion aks4d1 ( 𝜑 → ∃ 𝑟 ∈ ( 1 ... 𝐵 ) ( ( 𝑁 gcd 𝑟 ) = 1 ∧ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑟 ) ‘ 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 aks4d1.1 ( 𝜑𝑁 ∈ ( ℤ ‘ 3 ) )
2 aks4d1.2 𝐵 = ( ⌈ ‘ ( ( 2 logb 𝑁 ) ↑ 5 ) )
3 oveq2 ( 𝑏 = 𝑎 → ( 𝑁𝑏 ) = ( 𝑁𝑎 ) )
4 3 oveq1d ( 𝑏 = 𝑎 → ( ( 𝑁𝑏 ) − 1 ) = ( ( 𝑁𝑎 ) − 1 ) )
5 4 cbvprodv 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) = ∏ 𝑎 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑎 ) − 1 )
6 5 oveq2i ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) = ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑎 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑎 ) − 1 ) )
7 id ( = 𝑘 = 𝑘 )
8 oveq2 ( 𝑐 = 𝑏 → ( 𝑁𝑐 ) = ( 𝑁𝑏 ) )
9 8 oveq1d ( 𝑐 = 𝑏 → ( ( 𝑁𝑐 ) − 1 ) = ( ( 𝑁𝑏 ) − 1 ) )
10 9 cbvprodv 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) = ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 )
11 10 oveq2i ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) = ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) )
12 11 a1i ( = 𝑘 → ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) = ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) )
13 7 12 breq12d ( = 𝑘 → ( ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) ↔ 𝑘 ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) ) )
14 13 notbid ( = 𝑘 → ( ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) ↔ ¬ 𝑘 ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) ) )
15 14 cbvrabv { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } = { 𝑘 ∈ ( 1 ... 𝐵 ) ∣ ¬ 𝑘 ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) }
16 15 infeq1i inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) = inf ( { 𝑘 ∈ ( 1 ... 𝐵 ) ∣ ¬ 𝑘 ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) } , ℝ , < )
17 1 6 2 16 aks4d1p4 ( 𝜑 → ( inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ∈ ( 1 ... 𝐵 ) ∧ ¬ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑏 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑏 ) − 1 ) ) ) )
18 17 simpld ( 𝜑 → inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ∈ ( 1 ... 𝐵 ) )
19 oveq2 ( 𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) → ( 𝑁 gcd 𝑟 ) = ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) )
20 19 adantl ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( 𝑁 gcd 𝑟 ) = ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) )
21 20 eqeq1d ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( ( 𝑁 gcd 𝑟 ) = 1 ↔ ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) = 1 ) )
22 fveq2 ( 𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) → ( od𝑟 ) = ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) )
23 22 adantl ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( od𝑟 ) = ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) )
24 23 fveq1d ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( ( od𝑟 ) ‘ 𝑁 ) = ( ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) ‘ 𝑁 ) )
25 24 breq2d ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑟 ) ‘ 𝑁 ) ↔ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) ‘ 𝑁 ) ) )
26 21 25 anbi12d ( ( 𝜑𝑟 = inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) → ( ( ( 𝑁 gcd 𝑟 ) = 1 ∧ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑟 ) ‘ 𝑁 ) ) ↔ ( ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) = 1 ∧ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) ‘ 𝑁 ) ) ) )
27 1 6 2 16 aks4d1p8 ( 𝜑 → ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) = 1 )
28 1 6 2 16 aks4d1p9 ( 𝜑 → ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) ‘ 𝑁 ) )
29 27 28 jca ( 𝜑 → ( ( 𝑁 gcd inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) = 1 ∧ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od ‘ inf ( { ∈ ( 1 ... 𝐵 ) ∣ ¬ ∥ ( ( 𝑁 ↑ ( ⌊ ‘ ( 2 logb 𝐵 ) ) ) · ∏ 𝑐 ∈ ( 1 ... ( ⌊ ‘ ( ( 2 logb 𝑁 ) ↑ 2 ) ) ) ( ( 𝑁𝑐 ) − 1 ) ) } , ℝ , < ) ) ‘ 𝑁 ) ) )
30 18 26 29 rspcedvd ( 𝜑 → ∃ 𝑟 ∈ ( 1 ... 𝐵 ) ( ( 𝑁 gcd 𝑟 ) = 1 ∧ ( ( 2 logb 𝑁 ) ↑ 2 ) < ( ( od𝑟 ) ‘ 𝑁 ) ) )