Metamath Proof Explorer


Theorem 4sqlem12

Description: Lemma for 4sq . For any odd prime P , there is a k < P such that k P - 1 is a sum of two squares. (Contributed by Mario Carneiro, 15-Jul-2014)

Ref Expression
Hypotheses 4sq.1 S=n|xyzwn=x2+y2+z2+w2
4sq.2 φN
4sq.3 φP=2 N+1
4sq.4 φP
4sqlem11.5 A=u|m0Nu=m2modP
4sqlem11.6 F=vAP-1-v
Assertion 4sqlem12 φk1P1uiu2+1=kP

Proof

Step Hyp Ref Expression
1 4sq.1 S=n|xyzwn=x2+y2+z2+w2
2 4sq.2 φN
3 4sq.3 φP=2 N+1
4 4sq.4 φP
5 4sqlem11.5 A=u|m0Nu=m2modP
6 4sqlem11.6 F=vAP-1-v
7 1 2 3 4 5 6 4sqlem11 φAranF
8 n0 AranFjjAranF
9 7 8 sylib φjjAranF
10 vex jV
11 eqeq1 u=ju=m2modPj=m2modP
12 11 rexbidv u=jm0Nu=m2modPm0Nj=m2modP
13 10 12 5 elab2 jAm0Nj=m2modP
14 abid jj|vAj=P-1-vvAj=P-1-v
15 5 rexeqi vAj=P-1-vvu|m0Nu=m2modPj=P-1-v
16 oveq1 m=nm2=n2
17 16 oveq1d m=nm2modP=n2modP
18 17 eqeq2d m=nu=m2modPu=n2modP
19 18 cbvrexvw m0Nu=m2modPn0Nu=n2modP
20 eqeq1 u=vu=n2modPv=n2modP
21 20 rexbidv u=vn0Nu=n2modPn0Nv=n2modP
22 19 21 bitrid u=vm0Nu=m2modPn0Nv=n2modP
23 22 rexab vu|m0Nu=m2modPj=P-1-vvn0Nv=n2modPj=P-1-v
24 14 15 23 3bitri jj|vAj=P-1-vvn0Nv=n2modPj=P-1-v
25 6 rnmpt ranF=j|vAj=P-1-v
26 25 eleq2i jranFjj|vAj=P-1-v
27 rexcom4 n0Nvv=n2modPj=P-1-vvn0Nv=n2modPj=P-1-v
28 r19.41v n0Nv=n2modPj=P-1-vn0Nv=n2modPj=P-1-v
29 28 exbii vn0Nv=n2modPj=P-1-vvn0Nv=n2modPj=P-1-v
30 27 29 bitri n0Nvv=n2modPj=P-1-vvn0Nv=n2modPj=P-1-v
31 24 26 30 3bitr4i jranFn0Nvv=n2modPj=P-1-v
32 ovex n2modPV
33 oveq2 v=n2modPP-1-v=P-1-n2modP
34 33 eqeq2d v=n2modPj=P-1-vj=P-1-n2modP
35 32 34 ceqsexv vv=n2modPj=P-1-vj=P-1-n2modP
36 35 rexbii n0Nvv=n2modPj=P-1-vn0Nj=P-1-n2modP
37 31 36 bitri jranFn0Nj=P-1-n2modP
38 13 37 anbi12i jAjranFm0Nj=m2modPn0Nj=P-1-n2modP
39 elin jAranFjAjranF
40 reeanv m0Nn0Nj=m2modPj=P-1-n2modPm0Nj=m2modPn0Nj=P-1-n2modP
41 38 39 40 3bitr4i jAranFm0Nn0Nj=m2modPj=P-1-n2modP
42 eqtr2 j=m2modPj=P-1-n2modPm2modP=P-1-n2modP
43 4 3ad2ant1 φm0Nn0Nm2modP=P-1-n2modPP
44 prmnn PP
45 43 44 syl φm0Nn0Nm2modP=P-1-n2modPP
46 nnm1nn0 PP10
47 45 46 syl φm0Nn0Nm2modP=P-1-n2modPP10
48 47 nn0red φm0Nn0Nm2modP=P-1-n2modPP1
49 45 nnrpd φm0Nn0Nm2modP=P-1-n2modPP+
50 47 nn0ge0d φm0Nn0Nm2modP=P-1-n2modP0P1
51 45 nnred φm0Nn0Nm2modP=P-1-n2modPP
52 51 ltm1d φm0Nn0Nm2modP=P-1-n2modPP1<P
53 modid P1P+0P1P1<PP1modP=P1
54 48 49 50 52 53 syl22anc φm0Nn0Nm2modP=P-1-n2modPP1modP=P1
55 54 oveq1d φm0Nn0Nm2modP=P-1-n2modPP1modPn2modP=P-1-n2modP
56 simp2r φm0Nn0Nm2modP=P-1-n2modPn0N
57 56 elfzelzd φm0Nn0Nm2modP=P-1-n2modPn
58 zsqcl2 nn20
59 57 58 syl φm0Nn0Nm2modP=P-1-n2modPn20
60 59 nn0red φm0Nn0Nm2modP=P-1-n2modPn2
61 modlt n2P+n2modP<P
62 60 49 61 syl2anc φm0Nn0Nm2modP=P-1-n2modPn2modP<P
63 zsqcl nn2
64 57 63 syl φm0Nn0Nm2modP=P-1-n2modPn2
65 64 45 zmodcld φm0Nn0Nm2modP=P-1-n2modPn2modP0
66 65 nn0zd φm0Nn0Nm2modP=P-1-n2modPn2modP
67 prmz PP
68 43 67 syl φm0Nn0Nm2modP=P-1-n2modPP
69 zltlem1 n2modPPn2modP<Pn2modPP1
70 66 68 69 syl2anc φm0Nn0Nm2modP=P-1-n2modPn2modP<Pn2modPP1
71 62 70 mpbid φm0Nn0Nm2modP=P-1-n2modPn2modPP1
72 71 54 breqtrrd φm0Nn0Nm2modP=P-1-n2modPn2modPP1modP
73 modsubdir P1n2P+n2modPP1modPP-1-n2modP=P1modPn2modP
74 48 60 49 73 syl3anc φm0Nn0Nm2modP=P-1-n2modPn2modPP1modPP-1-n2modP=P1modPn2modP
75 72 74 mpbid φm0Nn0Nm2modP=P-1-n2modPP-1-n2modP=P1modPn2modP
76 simp3 φm0Nn0Nm2modP=P-1-n2modPm2modP=P-1-n2modP
77 55 75 76 3eqtr4rd φm0Nn0Nm2modP=P-1-n2modPm2modP=P-1-n2modP
78 simp2l φm0Nn0Nm2modP=P-1-n2modPm0N
79 78 elfzelzd φm0Nn0Nm2modP=P-1-n2modPm
80 zsqcl mm2
81 79 80 syl φm0Nn0Nm2modP=P-1-n2modPm2
82 47 nn0zd φm0Nn0Nm2modP=P-1-n2modPP1
83 82 64 zsubcld φm0Nn0Nm2modP=P-1-n2modPP-1-n2
84 moddvds Pm2P-1-n2m2modP=P-1-n2modPPm2P-1-n2
85 45 81 83 84 syl3anc φm0Nn0Nm2modP=P-1-n2modPm2modP=P-1-n2modPPm2P-1-n2
86 77 85 mpbid φm0Nn0Nm2modP=P-1-n2modPPm2P-1-n2
87 zsqcl2 mm20
88 79 87 syl φm0Nn0Nm2modP=P-1-n2modPm20
89 88 nn0cnd φm0Nn0Nm2modP=P-1-n2modPm2
90 47 nn0cnd φm0Nn0Nm2modP=P-1-n2modPP1
91 59 nn0cnd φm0Nn0Nm2modP=P-1-n2modPn2
92 89 90 91 subsub3d φm0Nn0Nm2modP=P-1-n2modPm2P-1-n2=m2+n2-P1
93 88 59 nn0addcld φm0Nn0Nm2modP=P-1-n2modPm2+n20
94 93 nn0cnd φm0Nn0Nm2modP=P-1-n2modPm2+n2
95 45 nncnd φm0Nn0Nm2modP=P-1-n2modPP
96 1cnd φm0Nn0Nm2modP=P-1-n2modP1
97 94 95 96 subsub3d φm0Nn0Nm2modP=P-1-n2modPm2+n2-P1=m2+n2+1-P
98 92 97 eqtrd φm0Nn0Nm2modP=P-1-n2modPm2P-1-n2=m2+n2+1-P
99 86 98 breqtrd φm0Nn0Nm2modP=P-1-n2modPPm2+n2+1-P
100 nn0p1nn m2+n20m2+n2+1
101 93 100 syl φm0Nn0Nm2modP=P-1-n2modPm2+n2+1
102 101 nnzd φm0Nn0Nm2modP=P-1-n2modPm2+n2+1
103 dvdssubr Pm2+n2+1Pm2+n2+1Pm2+n2+1-P
104 68 102 103 syl2anc φm0Nn0Nm2modP=P-1-n2modPPm2+n2+1Pm2+n2+1-P
105 99 104 mpbird φm0Nn0Nm2modP=P-1-n2modPPm2+n2+1
106 45 nnne0d φm0Nn0Nm2modP=P-1-n2modPP0
107 dvdsval2 PP0m2+n2+1Pm2+n2+1m2+n2+1P
108 68 106 102 107 syl3anc φm0Nn0Nm2modP=P-1-n2modPPm2+n2+1m2+n2+1P
109 105 108 mpbid φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P
110 nnrp m2+n2+1m2+n2+1+
111 nnrp PP+
112 rpdivcl m2+n2+1+P+m2+n2+1P+
113 110 111 112 syl2an m2+n2+1Pm2+n2+1P+
114 101 45 113 syl2anc φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P+
115 114 rpgt0d φm0Nn0Nm2modP=P-1-n2modP0<m2+n2+1P
116 elnnz m2+n2+1Pm2+n2+1P0<m2+n2+1P
117 109 115 116 sylanbrc φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P
118 117 nnge1d φm0Nn0Nm2modP=P-1-n2modP1m2+n2+1P
119 93 nn0red φm0Nn0Nm2modP=P-1-n2modPm2+n2
120 2nn 2
121 2 3ad2ant1 φm0Nn0Nm2modP=P-1-n2modPN
122 nnmulcl 2N2 N
123 120 121 122 sylancr φm0Nn0Nm2modP=P-1-n2modP2 N
124 123 nnred φm0Nn0Nm2modP=P-1-n2modP2 N
125 124 resqcld φm0Nn0Nm2modP=P-1-n2modP2 N2
126 nnmulcl 22 N22 N
127 120 123 126 sylancr φm0Nn0Nm2modP=P-1-n2modP22 N
128 127 nnred φm0Nn0Nm2modP=P-1-n2modP22 N
129 125 128 readdcld φm0Nn0Nm2modP=P-1-n2modP2 N2+22 N
130 1red φm0Nn0Nm2modP=P-1-n2modP1
131 121 nnsqcld φm0Nn0Nm2modP=P-1-n2modPN2
132 nnmulcl 2N22N2
133 120 131 132 sylancr φm0Nn0Nm2modP=P-1-n2modP2N2
134 133 nnred φm0Nn0Nm2modP=P-1-n2modP2N2
135 88 nn0red φm0Nn0Nm2modP=P-1-n2modPm2
136 131 nnred φm0Nn0Nm2modP=P-1-n2modPN2
137 79 zred φm0Nn0Nm2modP=P-1-n2modPm
138 elfzle1 m0N0m
139 78 138 syl φm0Nn0Nm2modP=P-1-n2modP0m
140 121 nnred φm0Nn0Nm2modP=P-1-n2modPN
141 elfzle2 m0NmN
142 78 141 syl φm0Nn0Nm2modP=P-1-n2modPmN
143 le2sq2 m0mNmNm2N2
144 137 139 140 142 143 syl22anc φm0Nn0Nm2modP=P-1-n2modPm2N2
145 57 zred φm0Nn0Nm2modP=P-1-n2modPn
146 elfzle1 n0N0n
147 56 146 syl φm0Nn0Nm2modP=P-1-n2modP0n
148 elfzle2 n0NnN
149 56 148 syl φm0Nn0Nm2modP=P-1-n2modPnN
150 le2sq2 n0nNnNn2N2
151 145 147 140 149 150 syl22anc φm0Nn0Nm2modP=P-1-n2modPn2N2
152 135 60 136 136 144 151 le2addd φm0Nn0Nm2modP=P-1-n2modPm2+n2N2+N2
153 131 nncnd φm0Nn0Nm2modP=P-1-n2modPN2
154 153 2timesd φm0Nn0Nm2modP=P-1-n2modP2N2=N2+N2
155 152 154 breqtrrd φm0Nn0Nm2modP=P-1-n2modPm2+n22N2
156 2lt4 2<4
157 2re 2
158 157 a1i φm0Nn0Nm2modP=P-1-n2modP2
159 4re 4
160 159 a1i φm0Nn0Nm2modP=P-1-n2modP4
161 131 nngt0d φm0Nn0Nm2modP=P-1-n2modP0<N2
162 ltmul1 24N20<N22<42N2<4N2
163 158 160 136 161 162 syl112anc φm0Nn0Nm2modP=P-1-n2modP2<42N2<4N2
164 156 163 mpbii φm0Nn0Nm2modP=P-1-n2modP2N2<4N2
165 2cn 2
166 121 nncnd φm0Nn0Nm2modP=P-1-n2modPN
167 sqmul 2N2 N2=22N2
168 165 166 167 sylancr φm0Nn0Nm2modP=P-1-n2modP2 N2=22N2
169 sq2 22=4
170 169 oveq1i 22N2=4N2
171 168 170 eqtrdi φm0Nn0Nm2modP=P-1-n2modP2 N2=4N2
172 164 171 breqtrrd φm0Nn0Nm2modP=P-1-n2modP2N2<2 N2
173 119 134 125 155 172 lelttrd φm0Nn0Nm2modP=P-1-n2modPm2+n2<2 N2
174 127 nnrpd φm0Nn0Nm2modP=P-1-n2modP22 N+
175 125 174 ltaddrpd φm0Nn0Nm2modP=P-1-n2modP2 N2<2 N2+22 N
176 119 125 129 173 175 lttrd φm0Nn0Nm2modP=P-1-n2modPm2+n2<2 N2+22 N
177 119 129 130 176 ltadd1dd φm0Nn0Nm2modP=P-1-n2modPm2+n2+1<2 N2+22 N+1
178 3 3ad2ant1 φm0Nn0Nm2modP=P-1-n2modPP=2 N+1
179 178 oveq1d φm0Nn0Nm2modP=P-1-n2modPP2=2 N+12
180 95 sqvald φm0Nn0Nm2modP=P-1-n2modPP2=PP
181 123 nncnd φm0Nn0Nm2modP=P-1-n2modP2 N
182 binom21 2 N2 N+12=2 N2+22 N+1
183 181 182 syl φm0Nn0Nm2modP=P-1-n2modP2 N+12=2 N2+22 N+1
184 179 180 183 3eqtr3d φm0Nn0Nm2modP=P-1-n2modPPP=2 N2+22 N+1
185 177 184 breqtrrd φm0Nn0Nm2modP=P-1-n2modPm2+n2+1<PP
186 101 nnred φm0Nn0Nm2modP=P-1-n2modPm2+n2+1
187 45 nngt0d φm0Nn0Nm2modP=P-1-n2modP0<P
188 ltdivmul m2+n2+1PP0<Pm2+n2+1P<Pm2+n2+1<PP
189 186 51 51 187 188 syl112anc φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P<Pm2+n2+1<PP
190 185 189 mpbird φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P<P
191 1z 1
192 elfzm11 1Pm2+n2+1P1P1m2+n2+1P1m2+n2+1Pm2+n2+1P<P
193 191 68 192 sylancr φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P1P1m2+n2+1P1m2+n2+1Pm2+n2+1P<P
194 109 118 190 193 mpbir3and φm0Nn0Nm2modP=P-1-n2modPm2+n2+1P1P1
195 gzreim mnm+ini
196 79 57 195 syl2anc φm0Nn0Nm2modP=P-1-n2modPm+ini
197 gzcn m+inim+in
198 196 197 syl φm0Nn0Nm2modP=P-1-n2modPm+in
199 198 absvalsq2d φm0Nn0Nm2modP=P-1-n2modPm+in2=m+in2+m+in2
200 137 145 crred φm0Nn0Nm2modP=P-1-n2modPm+in=m
201 200 oveq1d φm0Nn0Nm2modP=P-1-n2modPm+in2=m2
202 137 145 crimd φm0Nn0Nm2modP=P-1-n2modPm+in=n
203 202 oveq1d φm0Nn0Nm2modP=P-1-n2modPm+in2=n2
204 201 203 oveq12d φm0Nn0Nm2modP=P-1-n2modPm+in2+m+in2=m2+n2
205 199 204 eqtrd φm0Nn0Nm2modP=P-1-n2modPm+in2=m2+n2
206 205 oveq1d φm0Nn0Nm2modP=P-1-n2modPm+in2+1=m2+n2+1
207 101 nncnd φm0Nn0Nm2modP=P-1-n2modPm2+n2+1
208 207 95 106 divcan1d φm0Nn0Nm2modP=P-1-n2modPm2+n2+1PP=m2+n2+1
209 206 208 eqtr4d φm0Nn0Nm2modP=P-1-n2modPm+in2+1=m2+n2+1PP
210 oveq1 k=m2+n2+1PkP=m2+n2+1PP
211 210 eqeq2d k=m2+n2+1Pu2+1=kPu2+1=m2+n2+1PP
212 fveq2 u=m+inu=m+in
213 212 oveq1d u=m+inu2=m+in2
214 213 oveq1d u=m+inu2+1=m+in2+1
215 214 eqeq1d u=m+inu2+1=m2+n2+1PPm+in2+1=m2+n2+1PP
216 211 215 rspc2ev m2+n2+1P1P1m+inim+in2+1=m2+n2+1PPk1P1uiu2+1=kP
217 194 196 209 216 syl3anc φm0Nn0Nm2modP=P-1-n2modPk1P1uiu2+1=kP
218 217 3expia φm0Nn0Nm2modP=P-1-n2modPk1P1uiu2+1=kP
219 42 218 syl5 φm0Nn0Nj=m2modPj=P-1-n2modPk1P1uiu2+1=kP
220 219 rexlimdvva φm0Nn0Nj=m2modPj=P-1-n2modPk1P1uiu2+1=kP
221 41 220 biimtrid φjAranFk1P1uiu2+1=kP
222 221 exlimdv φjjAranFk1P1uiu2+1=kP
223 9 222 mpd φk1P1uiu2+1=kP