Metamath Proof Explorer


Theorem fppr2odd

Description: A Fermat pseudoprime to the base 2 is odd. (Contributed by AV, 5-Jun-2023)

Ref Expression
Assertion fppr2odd ( 𝑋 ∈ ( FPPr ‘ 2 ) → 𝑋 ∈ Odd )

Proof

Step Hyp Ref Expression
1 2nn ⊢ 2 ∈ ℕ
2 fpprel ⊢ ( 2 ∈ ℕ → ( 𝑋 ∈ ( FPPr ‘ 2 ) ↔ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑋 ∉ ℙ ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) ) )
3 1 2 ax-mp ⊢ ( 𝑋 ∈ ( FPPr ‘ 2 ) ↔ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑋 ∉ ℙ ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) )
4 eluz4nn ⊢ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) → 𝑋 ∈ ℕ )
5 4 adantr ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → 𝑋 ∈ ℕ )
6 eluzelz ⊢ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) → 𝑋 ∈ ℤ )
7 zeo2ALTV ⊢ ( 𝑋 ∈ ℤ → ( 𝑋 ∈ Even ↔ ¬ 𝑋 ∈ Odd ) )
8 6 7 syl ⊢ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) → ( 𝑋 ∈ Even ↔ ¬ 𝑋 ∈ Odd ) )
9 8 adantr ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( 𝑋 ∈ Even ↔ ¬ 𝑋 ∈ Odd ) )
10 9 biimprd ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( ¬ 𝑋 ∈ Odd → 𝑋 ∈ Even ) )
11 nnennexALTV ⊢ ( ( 𝑋 ∈ ℕ ∧ 𝑋 ∈ Even ) → ∃ 𝑦 ∈ ℕ 𝑋 = ( 2 · 𝑦 ) )
12 5 10 11 syl6an ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( ¬ 𝑋 ∈ Odd → ∃ 𝑦 ∈ ℕ 𝑋 = ( 2 · 𝑦 ) ) )
13 oveq1 ⊢ ( 𝑋 = ( 2 · 𝑦 ) → ( 𝑋 − 1 ) = ( ( 2 · 𝑦 ) − 1 ) )
14 13 oveq2d ⊢ ( 𝑋 = ( 2 · 𝑦 ) → ( 2 ↑ ( 𝑋 − 1 ) ) = ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) )
15 id ⊢ ( 𝑋 = ( 2 · 𝑦 ) → 𝑋 = ( 2 · 𝑦 ) )
16 14 15 oveq12d ⊢ ( 𝑋 = ( 2 · 𝑦 ) → ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) )
17 16 eqeq1d ⊢ ( 𝑋 = ( 2 · 𝑦 ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ↔ ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 ) )
18 17 adantl ⊢ ( ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑋 = ( 2 · 𝑦 ) ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ↔ ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 ) )
19 2z ⊢ 2 ∈ ℤ
20 1 a1i ⊢ ( 𝑦 ∈ ℕ → 2 ∈ ℕ )
21 id ⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℕ )
22 20 21 nnmulcld ⊢ ( 𝑦 ∈ ℕ → ( 2 · 𝑦 ) ∈ ℕ )
23 nnm1nn0 ⊢ ( ( 2 · 𝑦 ) ∈ ℕ → ( ( 2 · 𝑦 ) − 1 ) ∈ ℕ0 )
24 22 23 syl ⊢ ( 𝑦 ∈ ℕ → ( ( 2 · 𝑦 ) − 1 ) ∈ ℕ0 )
25 zexpcl ⊢ ( ( 2 ∈ ℤ ∧ ( ( 2 · 𝑦 ) − 1 ) ∈ ℕ0 ) → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℤ )
26 19 24 25 sylancr ⊢ ( 𝑦 ∈ ℕ → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℤ )
27 22 nnrpd ⊢ ( 𝑦 ∈ ℕ → ( 2 · 𝑦 ) ∈ ℝ+ )
28 modmuladdim ⊢ ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℤ ∧ ( 2 · 𝑦 ) ∈ ℝ+ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 → ∃ 𝑚 ∈ ℤ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) ) )
29 26 27 28 syl2anc ⊢ ( 𝑦 ∈ ℕ → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 → ∃ 𝑚 ∈ ℤ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) ) )
30 24 adantr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 · 𝑦 ) − 1 ) ∈ ℕ0 )
31 19 30 25 sylancr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℤ )
32 31 zcnd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℂ )
33 zcn ⊢ ( 𝑚 ∈ ℤ → 𝑚 ∈ ℂ )
34 33 adantl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 𝑚 ∈ ℂ )
35 2cnd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 2 ∈ ℂ )
36 nncn ⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℂ )
37 36 adantr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 𝑦 ∈ ℂ )
38 35 37 mulcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · 𝑦 ) ∈ ℂ )
39 34 38 mulcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 𝑚 · ( 2 · 𝑦 ) ) ∈ ℂ )
40 1cnd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 1 ∈ ℂ )
41 subadd ⊢ ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℂ ∧ ( 𝑚 · ( 2 · 𝑦 ) ) ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = 1 ↔ ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) = ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ) )
42 eqcom ⊢ ( ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) = ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ↔ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) )
43 41 42 bitrdi ⊢ ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) ∈ ℂ ∧ ( 𝑚 · ( 2 · 𝑦 ) ) ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = 1 ↔ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) ) )
44 32 39 40 43 syl3anc ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = 1 ↔ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) ) )
45 2cnd ⊢ ( 𝑦 ∈ ℕ → 2 ∈ ℂ )
46 45 36 mulcld ⊢ ( 𝑦 ∈ ℕ → ( 2 · 𝑦 ) ∈ ℂ )
47 1cnd ⊢ ( 𝑦 ∈ ℕ → 1 ∈ ℂ )
48 46 47 subcld ⊢ ( 𝑦 ∈ ℕ → ( ( 2 · 𝑦 ) − 1 ) ∈ ℂ )
49 48 adantr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 · 𝑦 ) − 1 ) ∈ ℂ )
50 npcan1 ⊢ ( ( ( 2 · 𝑦 ) − 1 ) ∈ ℂ → ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) = ( ( 2 · 𝑦 ) − 1 ) )
51 49 50 syl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) = ( ( 2 · 𝑦 ) − 1 ) )
52 51 eqcomd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 · 𝑦 ) − 1 ) = ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) )
53 52 oveq2d ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( 2 ↑ ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) ) )
54 2t1e2 ⊢ ( 2 · 1 ) = 2
55 54 eqcomi ⊢ 2 = ( 2 · 1 )
56 55 oveq2i ⊢ ( ( 2 · 𝑦 ) − 2 ) = ( ( 2 · 𝑦 ) − ( 2 · 1 ) )
57 sub1m1 ⊢ ( ( 2 · 𝑦 ) ∈ ℂ → ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) = ( ( 2 · 𝑦 ) − 2 ) )
58 38 57 syl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) = ( ( 2 · 𝑦 ) − 2 ) )
59 35 37 40 subdid ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · ( 𝑦 − 1 ) ) = ( ( 2 · 𝑦 ) − ( 2 · 1 ) ) )
60 56 58 59 3eqtr4a ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) = ( 2 · ( 𝑦 − 1 ) ) )
61 2nn0 ⊢ 2 ∈ ℕ0
62 61 a1i ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 2 ∈ ℕ0 )
63 nnm1nn0 ⊢ ( 𝑦 ∈ ℕ → ( 𝑦 − 1 ) ∈ ℕ0 )
64 63 adantr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 𝑦 − 1 ) ∈ ℕ0 )
65 62 64 nn0mulcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · ( 𝑦 − 1 ) ) ∈ ℕ0 )
66 60 65 eqeltrd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ∈ ℕ0 )
67 35 66 expp1d ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) ) = ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) · 2 ) )
68 35 66 expcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ∈ ℂ )
69 68 35 mulcomd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) · 2 ) = ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) )
70 67 69 eqtrd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) + 1 ) ) = ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) )
71 53 70 eqtrd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) )
72 34 35 37 mul12d ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 𝑚 · ( 2 · 𝑦 ) ) = ( 2 · ( 𝑚 · 𝑦 ) ) )
73 71 72 oveq12d ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = ( ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) − ( 2 · ( 𝑚 · 𝑦 ) ) ) )
74 34 37 mulcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 𝑚 · 𝑦 ) ∈ ℂ )
75 35 68 74 subdid ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) = ( ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) − ( 2 · ( 𝑚 · 𝑦 ) ) ) )
76 75 eqcomd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 · ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ) − ( 2 · ( 𝑚 · 𝑦 ) ) ) = ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) )
77 73 76 eqtrd ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) )
78 77 eqeq1d ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = 1 ↔ ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) = 1 ) )
79 zexpcl ⊢ ( ( 2 ∈ ℤ ∧ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ∈ ℕ0 ) → ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ∈ ℤ )
80 19 66 79 sylancr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) ∈ ℤ )
81 simpr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 𝑚 ∈ ℤ )
82 nnz ⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℤ )
83 82 adantr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → 𝑦 ∈ ℤ )
84 81 83 zmulcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 𝑚 · 𝑦 ) ∈ ℤ )
85 80 84 zsubcld ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ∈ ℤ )
86 m2even ⊢ ( ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ∈ ℤ → ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ∈ Even )
87 85 86 syl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ∈ Even )
88 1oddALTV ⊢ 1 ∈ Odd
89 zneoALTV ⊢ ( ( ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ∈ Even ∧ 1 ∈ Odd ) → ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ≠ 1 )
90 87 88 89 sylancl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ≠ 1 )
91 eqneqall ⊢ ( ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) = 1 → ( ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) ≠ 1 → 𝑋 ∈ Odd ) )
92 90 91 syl5com ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 · ( ( 2 ↑ ( ( ( 2 · 𝑦 ) − 1 ) − 1 ) ) − ( 𝑚 · 𝑦 ) ) ) = 1 → 𝑋 ∈ Odd ) )
93 78 92 sylbid ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) − ( 𝑚 · ( 2 · 𝑦 ) ) ) = 1 → 𝑋 ∈ Odd ) )
94 44 93 sylbird ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑚 ∈ ℤ ) → ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) → 𝑋 ∈ Odd ) )
95 94 rexlimdva ⊢ ( 𝑦 ∈ ℕ → ( ∃ 𝑚 ∈ ℤ ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) = ( ( 𝑚 · ( 2 · 𝑦 ) ) + 1 ) → 𝑋 ∈ Odd ) )
96 29 95 syld ⊢ ( 𝑦 ∈ ℕ → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 → 𝑋 ∈ Odd ) )
97 96 adantl ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑦 ∈ ℕ ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 → 𝑋 ∈ Odd ) )
98 97 adantr ⊢ ( ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑋 = ( 2 · 𝑦 ) ) → ( ( ( 2 ↑ ( ( 2 · 𝑦 ) − 1 ) ) mod ( 2 · 𝑦 ) ) = 1 → 𝑋 ∈ Odd ) )
99 18 98 sylbid ⊢ ( ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑋 = ( 2 · 𝑦 ) ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 → 𝑋 ∈ Odd ) )
100 99 ex ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑦 ∈ ℕ ) → ( 𝑋 = ( 2 · 𝑦 ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 → 𝑋 ∈ Odd ) ) )
101 100 rexlimdva ⊢ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) → ( ∃ 𝑦 ∈ ℕ 𝑋 = ( 2 · 𝑦 ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 → 𝑋 ∈ Odd ) ) )
102 101 com23 ⊢ ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) → ( ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 → ( ∃ 𝑦 ∈ ℕ 𝑋 = ( 2 · 𝑦 ) → 𝑋 ∈ Odd ) ) )
103 102 imp ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( ∃ 𝑦 ∈ ℕ 𝑋 = ( 2 · 𝑦 ) → 𝑋 ∈ Odd ) )
104 12 103 syld ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( ¬ 𝑋 ∈ Odd → 𝑋 ∈ Odd ) )
105 104 3adant2 ⊢ ( ( 𝑋 ∈ ( ℤ≥ ‘ 4 ) ∧ 𝑋 ∉ ℙ ∧ ( ( 2 ↑ ( 𝑋 − 1 ) ) mod 𝑋 ) = 1 ) → ( ¬ 𝑋 ∈ Odd → 𝑋 ∈ Odd ) )
106 3 105 sylbi ⊢ ( 𝑋 ∈ ( FPPr ‘ 2 ) → ( ¬ 𝑋 ∈ Odd → 𝑋 ∈ Odd ) )
107 106 pm2.18d ⊢ ( 𝑋 ∈ ( FPPr ‘ 2 ) → 𝑋 ∈ Odd )