Metamath Proof Explorer


Theorem 2pwp1prm

Description: For ( ( 2 ^ k ) + 1 ) to be prime, k must be a power of 2, see Wikipedia "Fermat number", section "Other theorms about Fermat numbers", https://en.wikipedia.org/wiki/Fermat_number , 5-Aug-2021. (Contributed by AV, 7-Aug-2021)

Ref Expression
Assertion 2pwp1prm K2K+1n0K=2n

Proof

Step Hyp Ref Expression
1 oddprmdvds K¬n0K=2np2pK
2 1 adantlr K2K+1¬n0K=2np2pK
3 eldifi p2p
4 prmnn pp
5 3 4 syl p2p
6 simpl K2K+1K
7 nndivides pKpKmmp=K
8 5 6 7 syl2anr K2K+1p2pKmmp=K
9 2re 2
10 9 a1i m2
11 nnnn0 mm0
12 1le2 12
13 12 a1i m12
14 10 11 13 expge1d m12m
15 1zzd m1
16 2nn 2
17 16 a1i m2
18 17 11 nnexpcld m2m
19 18 nnzd m2m
20 zleltp1 12m12m1<2m+1
21 15 19 20 syl2anc m12m1<2m+1
22 14 21 mpbid m1<2m+1
23 18 nncnd m2m
24 1cnd m1
25 subneg 2m12m-1=2m+1
26 25 breq2d 2m11<2m-11<2m+1
27 23 24 26 syl2anc m1<2m-11<2m+1
28 22 27 mpbird m1<2m-1
29 28 adantl p2m1<2m-1
30 29 ad2antlr Kp2mmp=K1<2m-1
31 18 nnred m2m
32 31 adantl p2m2m
33 16 a1i p2m2
34 11 adantl p2mm0
35 5 nnnn0d p2p0
36 35 adantr p2mp0
37 34 36 nn0mulcld p2mmp0
38 33 37 nnexpcld p2m2mp
39 38 nnred p2m2mp
40 1red p2m1
41 9 a1i p2m2
42 nnz mm
43 42 adantl p2mm
44 5 nnzd p2p
45 44 adantr p2mp
46 43 45 zmulcld p2mmp
47 1lt2 1<2
48 47 a1i p2m1<2
49 prmgt1 p1<p
50 3 49 syl p21<p
51 50 adantr p2m1<p
52 nnre mm
53 52 adantl p2mm
54 5 nnred p2p
55 54 adantr p2mp
56 nngt0 m0<m
57 56 adantl p2m0<m
58 ltmulgt11 mp0<m1<pm<mp
59 53 55 57 58 syl3anc p2m1<pm<mp
60 51 59 mpbid p2mm<mp
61 ltexp2a 2mmp1<2m<mp2m<2mp
62 41 43 46 48 60 61 syl32anc p2m2m<2mp
63 32 39 40 62 ltadd1dd p2m2m+1<2mp+1
64 63 ad2antlr Kp2mmp=K2m+1<2mp+1
65 23 24 subnegd m2m-1=2m+1
66 65 eqcomd m2m+1=2m-1
67 66 adantl p2m2m+1=2m-1
68 67 ad2antlr Kp2mmp=K2m+1=2m-1
69 oveq2 mp=K2mp=2K
70 69 oveq1d mp=K2mp+1=2K+1
71 70 adantl Kp2mmp=K2mp+1=2K+1
72 64 68 71 3brtr3d Kp2mmp=K2m-1<2K+1
73 neg1z 1
74 73 a1i m1
75 19 74 zsubcld m2m-1
76 75 adantl p2m2m-1
77 fzofi 0..^pFin
78 77 a1i p2m0..^pFin
79 19 adantl p2m2m
80 elfzonn0 k0..^pk0
81 zexpcl 2mk02mk
82 79 80 81 syl2an p2mk0..^p2mk
83 73 a1i p2mk0..^p1
84 fzonnsub k0..^ppk
85 84 adantl p2mk0..^ppk
86 nnm1nn0 pkp-k-10
87 85 86 syl p2mk0..^pp-k-10
88 zexpcl 1p-k-101p-k-1
89 83 87 88 syl2anc p2mk0..^p1p-k-1
90 82 89 zmulcld p2mk0..^p2mk1p-k-1
91 78 90 fsumzcl p2mk0..^p2mk1p-k-1
92 dvdsmul1 2m-1k0..^p2mk1p-k-12m-12m-1k0..^p2mk1p-k-1
93 76 91 92 syl2anc p2m2m-12m-1k0..^p2mk1p-k-1
94 93 ad2antlr Kp2mmp=K2m-12m-1k0..^p2mk1p-k-1
95 23 adantl p2m2m
96 neg1cn 1
97 96 a1i p2m1
98 pwdif p02m12mp1p=2m-1k0..^p2mk1p-k-1
99 36 95 97 98 syl3anc p2m2mp1p=2m-1k0..^p2mk1p-k-1
100 99 breq2d p2m2m-12mp1p2m-12m-1k0..^p2mk1p-k-1
101 100 ad2antlr Kp2mmp=K2m-12mp1p2m-12m-1k0..^p2mk1p-k-1
102 94 101 mpbird Kp2mmp=K2m-12mp1p
103 2cnd K2
104 nnnn0 KK0
105 103 104 expcld K2K
106 1cnd K1
107 105 106 subnegd K2K-1=2K+1
108 107 eqcomd K2K+1=2K-1
109 108 adantr Kp2m2K+1=2K-1
110 109 adantr Kp2mmp=K2K+1=2K-1
111 oveq2 K=mp2K=2mp
112 111 eqcoms mp=K2K=2mp
113 112 adantl Kp2mmp=K2K=2mp
114 2cnd p2m2
115 114 36 34 expmuld p2m2mp=2mp
116 115 ad2antlr Kp2mmp=K2mp=2mp
117 113 116 eqtrd Kp2mmp=K2K=2mp
118 1exp p1p=1
119 44 118 syl p21p=1
120 119 eqcomd p21=1p
121 120 negeqd p21=1p
122 1cnd p21
123 oddn2prm p2¬2p
124 oexpneg 1p¬2p1p=1p
125 122 5 123 124 syl3anc p21p=1p
126 125 eqcomd p21p=1p
127 121 126 eqtrd p21=1p
128 127 adantr p2m1=1p
129 128 ad2antlr Kp2mmp=K1=1p
130 117 129 oveq12d Kp2mmp=K2K-1=2mp1p
131 110 130 eqtrd Kp2mmp=K2K+1=2mp1p
132 131 breq2d Kp2mmp=K2m-12K+12m-12mp1p
133 102 132 mpbird Kp2mmp=K2m-12K+1
134 30 72 133 dvdsnprmd Kp2mmp=K¬2K+1
135 134 pm2.21d Kp2mmp=K2K+1n0K=2n
136 135 ex Kp2mmp=K2K+1n0K=2n
137 136 com23 Kp2m2K+1mp=Kn0K=2n
138 137 impancom K2K+1p2mmp=Kn0K=2n
139 138 impl K2K+1p2mmp=Kn0K=2n
140 139 rexlimdva K2K+1p2mmp=Kn0K=2n
141 8 140 sylbid K2K+1p2pKn0K=2n
142 141 rexlimdva K2K+1p2pKn0K=2n
143 142 adantr K2K+1¬n0K=2np2pKn0K=2n
144 2 143 mpd K2K+1¬n0K=2nn0K=2n
145 144 pm2.18da K2K+1n0K=2n