MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  2sqlem8 Structured version   Unicode version

Theorem 2sqlem8 21157
Description: Lemma for 2sq 21161. (Contributed by Mario Carneiro, 20-Jun-2015.)
Hypotheses
Ref Expression
2sq.1  |-  S  =  ran  ( w  e.  ZZ [ _i ]  |->  ( ( abs `  w
) ^ 2 ) )
2sqlem7.2  |-  Y  =  { z  |  E. x  e.  ZZ  E. y  e.  ZZ  ( ( x  gcd  y )  =  1  /\  z  =  ( ( x ^
2 )  +  ( y ^ 2 ) ) ) }
2sqlem9.5  |-  ( ph  ->  A. b  e.  ( 1 ... ( M  -  1 ) ) A. a  e.  Y  ( b  ||  a  ->  b  e.  S ) )
2sqlem9.7  |-  ( ph  ->  M  ||  N )
2sqlem8.n  |-  ( ph  ->  N  e.  NN )
2sqlem8.m  |-  ( ph  ->  M  e.  ( ZZ>= ` 
2 ) )
2sqlem8.1  |-  ( ph  ->  A  e.  ZZ )
2sqlem8.2  |-  ( ph  ->  B  e.  ZZ )
2sqlem8.3  |-  ( ph  ->  ( A  gcd  B
)  =  1 )
2sqlem8.4  |-  ( ph  ->  N  =  ( ( A ^ 2 )  +  ( B ^
2 ) ) )
2sqlem8.c  |-  C  =  ( ( ( A  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
2sqlem8.d  |-  D  =  ( ( ( B  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
2sqlem8.e  |-  E  =  ( C  /  ( C  gcd  D ) )
2sqlem8.f  |-  F  =  ( D  /  ( C  gcd  D ) )
Assertion
Ref Expression
2sqlem8  |-  ( ph  ->  M  e.  S )
Distinct variable groups:    a, b, w, x, y, z    A, a, x, y, z    x, C    ph, x, y    B, a, b, x, y    M, a, b, x, y, z    S, a, b, x, y, z    x, D    E, a, x, y, z    x, N, y, z    Y, a, b, x, y    F, a, x, y, z
Allowed substitution hints:    ph( z, w, a, b)    A( w, b)    B( z, w)    C( y, z, w, a, b)    D( y, z, w, a, b)    S( w)    E( w, b)    F( w, b)    M( w)    N( w, a, b)    Y( z, w)

Proof of Theorem 2sqlem8
Dummy variable  p is distinct from all other variables.
StepHypRef Expression
1 2sq.1 . 2  |-  S  =  ran  ( w  e.  ZZ [ _i ]  |->  ( ( abs `  w
) ^ 2 ) )
2 2sqlem8.m . . . 4  |-  ( ph  ->  M  e.  ( ZZ>= ` 
2 ) )
3 eluz2b3 10550 . . . 4  |-  ( M  e.  ( ZZ>= `  2
)  <->  ( M  e.  NN  /\  M  =/=  1 ) )
42, 3sylib 190 . . 3  |-  ( ph  ->  ( M  e.  NN  /\  M  =/=  1 ) )
54simpld 447 . 2  |-  ( ph  ->  M  e.  NN )
6 2sqlem9.7 . . . . . . 7  |-  ( ph  ->  M  ||  N )
7 eluzelz 10497 . . . . . . . . 9  |-  ( M  e.  ( ZZ>= `  2
)  ->  M  e.  ZZ )
82, 7syl 16 . . . . . . . 8  |-  ( ph  ->  M  e.  ZZ )
9 2sqlem8.n . . . . . . . . 9  |-  ( ph  ->  N  e.  NN )
109nnzd 10375 . . . . . . . 8  |-  ( ph  ->  N  e.  ZZ )
11 2sqlem8.1 . . . . . . . . . . . 12  |-  ( ph  ->  A  e.  ZZ )
12 2sqlem8.c . . . . . . . . . . . 12  |-  C  =  ( ( ( A  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
1311, 5, 124sqlem5 13311 . . . . . . . . . . 11  |-  ( ph  ->  ( C  e.  ZZ  /\  ( ( A  -  C )  /  M
)  e.  ZZ ) )
1413simpld 447 . . . . . . . . . 10  |-  ( ph  ->  C  e.  ZZ )
15 zsqcl 11453 . . . . . . . . . 10  |-  ( C  e.  ZZ  ->  ( C ^ 2 )  e.  ZZ )
1614, 15syl 16 . . . . . . . . 9  |-  ( ph  ->  ( C ^ 2 )  e.  ZZ )
17 2sqlem8.2 . . . . . . . . . . . 12  |-  ( ph  ->  B  e.  ZZ )
18 2sqlem8.d . . . . . . . . . . . 12  |-  D  =  ( ( ( B  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
1917, 5, 184sqlem5 13311 . . . . . . . . . . 11  |-  ( ph  ->  ( D  e.  ZZ  /\  ( ( B  -  D )  /  M
)  e.  ZZ ) )
2019simpld 447 . . . . . . . . . 10  |-  ( ph  ->  D  e.  ZZ )
21 zsqcl 11453 . . . . . . . . . 10  |-  ( D  e.  ZZ  ->  ( D ^ 2 )  e.  ZZ )
2220, 21syl 16 . . . . . . . . 9  |-  ( ph  ->  ( D ^ 2 )  e.  ZZ )
2316, 22zaddcld 10380 . . . . . . . 8  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  e.  ZZ )
2411, 5, 124sqlem8 13314 . . . . . . . . . 10  |-  ( ph  ->  M  ||  ( ( A ^ 2 )  -  ( C ^
2 ) ) )
2517, 5, 184sqlem8 13314 . . . . . . . . . 10  |-  ( ph  ->  M  ||  ( ( B ^ 2 )  -  ( D ^
2 ) ) )
26 zsqcl 11453 . . . . . . . . . . . . 13  |-  ( A  e.  ZZ  ->  ( A ^ 2 )  e.  ZZ )
2711, 26syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  ( A ^ 2 )  e.  ZZ )
2827, 16zsubcld 10381 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A ^
2 )  -  ( C ^ 2 ) )  e.  ZZ )
29 zsqcl 11453 . . . . . . . . . . . . 13  |-  ( B  e.  ZZ  ->  ( B ^ 2 )  e.  ZZ )
3017, 29syl 16 . . . . . . . . . . . 12  |-  ( ph  ->  ( B ^ 2 )  e.  ZZ )
3130, 22zsubcld 10381 . . . . . . . . . . 11  |-  ( ph  ->  ( ( B ^
2 )  -  ( D ^ 2 ) )  e.  ZZ )
32 dvds2add 12882 . . . . . . . . . . 11  |-  ( ( M  e.  ZZ  /\  ( ( A ^
2 )  -  ( C ^ 2 ) )  e.  ZZ  /\  (
( B ^ 2 )  -  ( D ^ 2 ) )  e.  ZZ )  -> 
( ( M  ||  ( ( A ^
2 )  -  ( C ^ 2 ) )  /\  M  ||  (
( B ^ 2 )  -  ( D ^ 2 ) ) )  ->  M  ||  (
( ( A ^
2 )  -  ( C ^ 2 ) )  +  ( ( B ^ 2 )  -  ( D ^ 2 ) ) ) ) )
338, 28, 31, 32syl3anc 1185 . . . . . . . . . 10  |-  ( ph  ->  ( ( M  ||  ( ( A ^
2 )  -  ( C ^ 2 ) )  /\  M  ||  (
( B ^ 2 )  -  ( D ^ 2 ) ) )  ->  M  ||  (
( ( A ^
2 )  -  ( C ^ 2 ) )  +  ( ( B ^ 2 )  -  ( D ^ 2 ) ) ) ) )
3424, 25, 33mp2and 662 . . . . . . . . 9  |-  ( ph  ->  M  ||  ( ( ( A ^ 2 )  -  ( C ^ 2 ) )  +  ( ( B ^ 2 )  -  ( D ^ 2 ) ) ) )
35 2sqlem8.4 . . . . . . . . . . 11  |-  ( ph  ->  N  =  ( ( A ^ 2 )  +  ( B ^
2 ) ) )
3635oveq1d 6097 . . . . . . . . . 10  |-  ( ph  ->  ( N  -  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  -  ( ( C ^ 2 )  +  ( D ^ 2 ) ) ) )
3727zcnd 10377 . . . . . . . . . . 11  |-  ( ph  ->  ( A ^ 2 )  e.  CC )
3830zcnd 10377 . . . . . . . . . . 11  |-  ( ph  ->  ( B ^ 2 )  e.  CC )
3916zcnd 10377 . . . . . . . . . . 11  |-  ( ph  ->  ( C ^ 2 )  e.  CC )
4022zcnd 10377 . . . . . . . . . . 11  |-  ( ph  ->  ( D ^ 2 )  e.  CC )
4137, 38, 39, 40addsub4d 9459 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  -  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( A ^ 2 )  -  ( C ^ 2 ) )  +  ( ( B ^ 2 )  -  ( D ^ 2 ) ) ) )
4236, 41eqtrd 2469 . . . . . . . . 9  |-  ( ph  ->  ( N  -  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( A ^ 2 )  -  ( C ^ 2 ) )  +  ( ( B ^ 2 )  -  ( D ^ 2 ) ) ) )
4334, 42breqtrrd 4239 . . . . . . . 8  |-  ( ph  ->  M  ||  ( N  -  ( ( C ^ 2 )  +  ( D ^ 2 ) ) ) )
44 dvdssub2 12888 . . . . . . . 8  |-  ( ( ( M  e.  ZZ  /\  N  e.  ZZ  /\  ( ( C ^
2 )  +  ( D ^ 2 ) )  e.  ZZ )  /\  M  ||  ( N  -  ( ( C ^ 2 )  +  ( D ^ 2 ) ) ) )  ->  ( M  ||  N 
<->  M  ||  ( ( C ^ 2 )  +  ( D ^
2 ) ) ) )
458, 10, 23, 43, 44syl31anc 1188 . . . . . . 7  |-  ( ph  ->  ( M  ||  N  <->  M 
||  ( ( C ^ 2 )  +  ( D ^ 2 ) ) ) )
466, 45mpbid 203 . . . . . 6  |-  ( ph  ->  M  ||  ( ( C ^ 2 )  +  ( D ^
2 ) ) )
47 2sqlem7.2 . . . . . . . . . . . 12  |-  Y  =  { z  |  E. x  e.  ZZ  E. y  e.  ZZ  ( ( x  gcd  y )  =  1  /\  z  =  ( ( x ^
2 )  +  ( y ^ 2 ) ) ) }
48 2sqlem9.5 . . . . . . . . . . . 12  |-  ( ph  ->  A. b  e.  ( 1 ... ( M  -  1 ) ) A. a  e.  Y  ( b  ||  a  ->  b  e.  S ) )
49 2sqlem8.3 . . . . . . . . . . . 12  |-  ( ph  ->  ( A  gcd  B
)  =  1 )
501, 47, 48, 6, 9, 2, 11, 17, 49, 35, 12, 182sqlem8a 21156 . . . . . . . . . . 11  |-  ( ph  ->  ( C  gcd  D
)  e.  NN )
5150nnzd 10375 . . . . . . . . . 10  |-  ( ph  ->  ( C  gcd  D
)  e.  ZZ )
52 zsqcl2 11460 . . . . . . . . . 10  |-  ( ( C  gcd  D )  e.  ZZ  ->  (
( C  gcd  D
) ^ 2 )  e.  NN0 )
5351, 52syl 16 . . . . . . . . 9  |-  ( ph  ->  ( ( C  gcd  D ) ^ 2 )  e.  NN0 )
5453nn0cnd 10277 . . . . . . . 8  |-  ( ph  ->  ( ( C  gcd  D ) ^ 2 )  e.  CC )
55 2sqlem8.e . . . . . . . . . . 11  |-  E  =  ( C  /  ( C  gcd  D ) )
56 gcddvds 13016 . . . . . . . . . . . . . 14  |-  ( ( C  e.  ZZ  /\  D  e.  ZZ )  ->  ( ( C  gcd  D )  ||  C  /\  ( C  gcd  D ) 
||  D ) )
5714, 20, 56syl2anc 644 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( C  gcd  D )  ||  C  /\  ( C  gcd  D ) 
||  D ) )
5857simpld 447 . . . . . . . . . . . 12  |-  ( ph  ->  ( C  gcd  D
)  ||  C )
5950nnne0d 10045 . . . . . . . . . . . . 13  |-  ( ph  ->  ( C  gcd  D
)  =/=  0 )
60 dvdsval2 12856 . . . . . . . . . . . . 13  |-  ( ( ( C  gcd  D
)  e.  ZZ  /\  ( C  gcd  D )  =/=  0  /\  C  e.  ZZ )  ->  (
( C  gcd  D
)  ||  C  <->  ( C  /  ( C  gcd  D ) )  e.  ZZ ) )
6151, 59, 14, 60syl3anc 1185 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C  gcd  D )  ||  C  <->  ( C  /  ( C  gcd  D ) )  e.  ZZ ) )
6258, 61mpbid 203 . . . . . . . . . . 11  |-  ( ph  ->  ( C  /  ( C  gcd  D ) )  e.  ZZ )
6355, 62syl5eqel 2521 . . . . . . . . . 10  |-  ( ph  ->  E  e.  ZZ )
64 zsqcl2 11460 . . . . . . . . . 10  |-  ( E  e.  ZZ  ->  ( E ^ 2 )  e. 
NN0 )
6563, 64syl 16 . . . . . . . . 9  |-  ( ph  ->  ( E ^ 2 )  e.  NN0 )
6665nn0cnd 10277 . . . . . . . 8  |-  ( ph  ->  ( E ^ 2 )  e.  CC )
67 2sqlem8.f . . . . . . . . . . 11  |-  F  =  ( D  /  ( C  gcd  D ) )
6857simprd 451 . . . . . . . . . . . 12  |-  ( ph  ->  ( C  gcd  D
)  ||  D )
69 dvdsval2 12856 . . . . . . . . . . . . 13  |-  ( ( ( C  gcd  D
)  e.  ZZ  /\  ( C  gcd  D )  =/=  0  /\  D  e.  ZZ )  ->  (
( C  gcd  D
)  ||  D  <->  ( D  /  ( C  gcd  D ) )  e.  ZZ ) )
7051, 59, 20, 69syl3anc 1185 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C  gcd  D )  ||  D  <->  ( D  /  ( C  gcd  D ) )  e.  ZZ ) )
7168, 70mpbid 203 . . . . . . . . . . 11  |-  ( ph  ->  ( D  /  ( C  gcd  D ) )  e.  ZZ )
7267, 71syl5eqel 2521 . . . . . . . . . 10  |-  ( ph  ->  F  e.  ZZ )
73 zsqcl2 11460 . . . . . . . . . 10  |-  ( F  e.  ZZ  ->  ( F ^ 2 )  e. 
NN0 )
7472, 73syl 16 . . . . . . . . 9  |-  ( ph  ->  ( F ^ 2 )  e.  NN0 )
7574nn0cnd 10277 . . . . . . . 8  |-  ( ph  ->  ( F ^ 2 )  e.  CC )
7654, 66, 75adddid 9113 . . . . . . 7  |-  ( ph  ->  ( ( ( C  gcd  D ) ^
2 )  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  =  ( ( ( ( C  gcd  D ) ^ 2 )  x.  ( E ^
2 ) )  +  ( ( ( C  gcd  D ) ^
2 )  x.  ( F ^ 2 ) ) ) )
7751zcnd 10377 . . . . . . . . . 10  |-  ( ph  ->  ( C  gcd  D
)  e.  CC )
7863zcnd 10377 . . . . . . . . . 10  |-  ( ph  ->  E  e.  CC )
7977, 78sqmuld 11536 . . . . . . . . 9  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  E ) ^ 2 )  =  ( ( ( C  gcd  D
) ^ 2 )  x.  ( E ^
2 ) ) )
8055oveq2i 6093 . . . . . . . . . . 11  |-  ( ( C  gcd  D )  x.  E )  =  ( ( C  gcd  D )  x.  ( C  /  ( C  gcd  D ) ) )
8114zcnd 10377 . . . . . . . . . . . 12  |-  ( ph  ->  C  e.  CC )
8281, 77, 59divcan2d 9793 . . . . . . . . . . 11  |-  ( ph  ->  ( ( C  gcd  D )  x.  ( C  /  ( C  gcd  D ) ) )  =  C )
8380, 82syl5eq 2481 . . . . . . . . . 10  |-  ( ph  ->  ( ( C  gcd  D )  x.  E )  =  C )
8483oveq1d 6097 . . . . . . . . 9  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  E ) ^ 2 )  =  ( C ^ 2 ) )
8579, 84eqtr3d 2471 . . . . . . . 8  |-  ( ph  ->  ( ( ( C  gcd  D ) ^
2 )  x.  ( E ^ 2 ) )  =  ( C ^
2 ) )
8672zcnd 10377 . . . . . . . . . 10  |-  ( ph  ->  F  e.  CC )
8777, 86sqmuld 11536 . . . . . . . . 9  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  F ) ^ 2 )  =  ( ( ( C  gcd  D
) ^ 2 )  x.  ( F ^
2 ) ) )
8867oveq2i 6093 . . . . . . . . . . 11  |-  ( ( C  gcd  D )  x.  F )  =  ( ( C  gcd  D )  x.  ( D  /  ( C  gcd  D ) ) )
8920zcnd 10377 . . . . . . . . . . . 12  |-  ( ph  ->  D  e.  CC )
9089, 77, 59divcan2d 9793 . . . . . . . . . . 11  |-  ( ph  ->  ( ( C  gcd  D )  x.  ( D  /  ( C  gcd  D ) ) )  =  D )
9188, 90syl5eq 2481 . . . . . . . . . 10  |-  ( ph  ->  ( ( C  gcd  D )  x.  F )  =  D )
9291oveq1d 6097 . . . . . . . . 9  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  F ) ^ 2 )  =  ( D ^ 2 ) )
9387, 92eqtr3d 2471 . . . . . . . 8  |-  ( ph  ->  ( ( ( C  gcd  D ) ^
2 )  x.  ( F ^ 2 ) )  =  ( D ^
2 ) )
9485, 93oveq12d 6100 . . . . . . 7  |-  ( ph  ->  ( ( ( ( C  gcd  D ) ^ 2 )  x.  ( E ^ 2 ) )  +  ( ( ( C  gcd  D ) ^ 2 )  x.  ( F ^
2 ) ) )  =  ( ( C ^ 2 )  +  ( D ^ 2 ) ) )
9576, 94eqtrd 2469 . . . . . 6  |-  ( ph  ->  ( ( ( C  gcd  D ) ^
2 )  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  =  ( ( C ^ 2 )  +  ( D ^
2 ) ) )
9646, 95breqtrrd 4239 . . . . 5  |-  ( ph  ->  M  ||  ( ( ( C  gcd  D
) ^ 2 )  x.  ( ( E ^ 2 )  +  ( F ^ 2 ) ) ) )
97 zsqcl 11453 . . . . . . . 8  |-  ( ( C  gcd  D )  e.  ZZ  ->  (
( C  gcd  D
) ^ 2 )  e.  ZZ )
9851, 97syl 16 . . . . . . 7  |-  ( ph  ->  ( ( C  gcd  D ) ^ 2 )  e.  ZZ )
99 gcdcom 13021 . . . . . . 7  |-  ( ( M  e.  ZZ  /\  ( ( C  gcd  D ) ^ 2 )  e.  ZZ )  -> 
( M  gcd  (
( C  gcd  D
) ^ 2 ) )  =  ( ( ( C  gcd  D
) ^ 2 )  gcd  M ) )
1008, 98, 99syl2anc 644 . . . . . 6  |-  ( ph  ->  ( M  gcd  (
( C  gcd  D
) ^ 2 ) )  =  ( ( ( C  gcd  D
) ^ 2 )  gcd  M ) )
101 gcddvds 13016 . . . . . . . . . . . . . 14  |-  ( ( ( C  gcd  D
)  e.  ZZ  /\  M  e.  ZZ )  ->  ( ( ( C  gcd  D )  gcd 
M )  ||  ( C  gcd  D )  /\  ( ( C  gcd  D )  gcd  M ) 
||  M ) )
10251, 8, 101syl2anc 644 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( C  gcd  D )  gcd 
M )  ||  ( C  gcd  D )  /\  ( ( C  gcd  D )  gcd  M ) 
||  M ) )
103102simpld 447 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  ( C  gcd  D ) )
10451, 8gcdcld 13019 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  e.  NN0 )
105104nn0zd 10374 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  e.  ZZ )
106 dvdstr 12884 . . . . . . . . . . . . 13  |-  ( ( ( ( C  gcd  D )  gcd  M )  e.  ZZ  /\  ( C  gcd  D )  e.  ZZ  /\  C  e.  ZZ )  ->  (
( ( ( C  gcd  D )  gcd 
M )  ||  ( C  gcd  D )  /\  ( C  gcd  D ) 
||  C )  -> 
( ( C  gcd  D )  gcd  M ) 
||  C ) )
107105, 51, 14, 106syl3anc 1185 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( ( ( C  gcd  D )  gcd  M )  ||  ( C  gcd  D )  /\  ( C  gcd  D )  ||  C )  ->  ( ( C  gcd  D )  gcd 
M )  ||  C
) )
108103, 58, 107mp2and 662 . . . . . . . . . . 11  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  C )
109102simprd 451 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  M )
11013simprd 451 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( A  -  C )  /  M
)  e.  ZZ )
1115nnne0d 10045 . . . . . . . . . . . . . . 15  |-  ( ph  ->  M  =/=  0 )
11211, 14zsubcld 10381 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( A  -  C
)  e.  ZZ )
113 dvdsval2 12856 . . . . . . . . . . . . . . 15  |-  ( ( M  e.  ZZ  /\  M  =/=  0  /\  ( A  -  C )  e.  ZZ )  ->  ( M  ||  ( A  -  C )  <->  ( ( A  -  C )  /  M )  e.  ZZ ) )
1148, 111, 112, 113syl3anc 1185 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( M  ||  ( A  -  C )  <->  ( ( A  -  C
)  /  M )  e.  ZZ ) )
115110, 114mpbird 225 . . . . . . . . . . . . 13  |-  ( ph  ->  M  ||  ( A  -  C ) )
116 dvdstr 12884 . . . . . . . . . . . . . 14  |-  ( ( ( ( C  gcd  D )  gcd  M )  e.  ZZ  /\  M  e.  ZZ  /\  ( A  -  C )  e.  ZZ )  ->  (
( ( ( C  gcd  D )  gcd 
M )  ||  M  /\  M  ||  ( A  -  C ) )  ->  ( ( C  gcd  D )  gcd 
M )  ||  ( A  -  C )
) )
117105, 8, 112, 116syl3anc 1185 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( ( C  gcd  D )  gcd  M )  ||  M  /\  M  ||  ( A  -  C )
)  ->  ( ( C  gcd  D )  gcd 
M )  ||  ( A  -  C )
) )
118109, 115, 117mp2and 662 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  ( A  -  C ) )
119 dvdssub2 12888 . . . . . . . . . . . 12  |-  ( ( ( ( ( C  gcd  D )  gcd 
M )  e.  ZZ  /\  A  e.  ZZ  /\  C  e.  ZZ )  /\  ( ( C  gcd  D )  gcd  M ) 
||  ( A  -  C ) )  -> 
( ( ( C  gcd  D )  gcd 
M )  ||  A  <->  ( ( C  gcd  D
)  gcd  M )  ||  C ) )
120105, 11, 14, 118, 119syl31anc 1188 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( C  gcd  D )  gcd 
M )  ||  A  <->  ( ( C  gcd  D
)  gcd  M )  ||  C ) )
121108, 120mpbird 225 . . . . . . . . . 10  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  A )
122 dvdstr 12884 . . . . . . . . . . . . 13  |-  ( ( ( ( C  gcd  D )  gcd  M )  e.  ZZ  /\  ( C  gcd  D )  e.  ZZ  /\  D  e.  ZZ )  ->  (
( ( ( C  gcd  D )  gcd 
M )  ||  ( C  gcd  D )  /\  ( C  gcd  D ) 
||  D )  -> 
( ( C  gcd  D )  gcd  M ) 
||  D ) )
123105, 51, 20, 122syl3anc 1185 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( ( ( C  gcd  D )  gcd  M )  ||  ( C  gcd  D )  /\  ( C  gcd  D )  ||  D )  ->  ( ( C  gcd  D )  gcd 
M )  ||  D
) )
124103, 68, 123mp2and 662 . . . . . . . . . . 11  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  D )
12519simprd 451 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( B  -  D )  /  M
)  e.  ZZ )
12617, 20zsubcld 10381 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( B  -  D
)  e.  ZZ )
127 dvdsval2 12856 . . . . . . . . . . . . . . 15  |-  ( ( M  e.  ZZ  /\  M  =/=  0  /\  ( B  -  D )  e.  ZZ )  ->  ( M  ||  ( B  -  D )  <->  ( ( B  -  D )  /  M )  e.  ZZ ) )
1288, 111, 126, 127syl3anc 1185 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( M  ||  ( B  -  D )  <->  ( ( B  -  D
)  /  M )  e.  ZZ ) )
129125, 128mpbird 225 . . . . . . . . . . . . 13  |-  ( ph  ->  M  ||  ( B  -  D ) )
130 dvdstr 12884 . . . . . . . . . . . . . 14  |-  ( ( ( ( C  gcd  D )  gcd  M )  e.  ZZ  /\  M  e.  ZZ  /\  ( B  -  D )  e.  ZZ )  ->  (
( ( ( C  gcd  D )  gcd 
M )  ||  M  /\  M  ||  ( B  -  D ) )  ->  ( ( C  gcd  D )  gcd 
M )  ||  ( B  -  D )
) )
131105, 8, 126, 130syl3anc 1185 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( ( C  gcd  D )  gcd  M )  ||  M  /\  M  ||  ( B  -  D )
)  ->  ( ( C  gcd  D )  gcd 
M )  ||  ( B  -  D )
) )
132109, 129, 131mp2and 662 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  ( B  -  D ) )
133 dvdssub2 12888 . . . . . . . . . . . 12  |-  ( ( ( ( ( C  gcd  D )  gcd 
M )  e.  ZZ  /\  B  e.  ZZ  /\  D  e.  ZZ )  /\  ( ( C  gcd  D )  gcd  M ) 
||  ( B  -  D ) )  -> 
( ( ( C  gcd  D )  gcd 
M )  ||  B  <->  ( ( C  gcd  D
)  gcd  M )  ||  D ) )
134105, 17, 20, 132, 133syl31anc 1188 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( C  gcd  D )  gcd 
M )  ||  B  <->  ( ( C  gcd  D
)  gcd  M )  ||  D ) )
135124, 134mpbird 225 . . . . . . . . . 10  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M ) 
||  B )
136 ax-1ne0 9060 . . . . . . . . . . . . . . 15  |-  1  =/=  0
137136a1i 11 . . . . . . . . . . . . . 14  |-  ( ph  ->  1  =/=  0 )
13849, 137eqnetrd 2620 . . . . . . . . . . . . 13  |-  ( ph  ->  ( A  gcd  B
)  =/=  0 )
139138neneqd 2618 . . . . . . . . . . . 12  |-  ( ph  ->  -.  ( A  gcd  B )  =  0 )
140 gcdeq0 13022 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  gcd  B )  =  0  <->  ( A  =  0  /\  B  =  0 ) ) )
14111, 17, 140syl2anc 644 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A  gcd  B )  =  0  <->  ( A  =  0  /\  B  =  0 ) ) )
142139, 141mtbid 293 . . . . . . . . . . 11  |-  ( ph  ->  -.  ( A  =  0  /\  B  =  0 ) )
143 dvdslegcd 13017 . . . . . . . . . . 11  |-  ( ( ( ( ( C  gcd  D )  gcd 
M )  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  /\  -.  ( A  =  0  /\  B  =  0 ) )  -> 
( ( ( ( C  gcd  D )  gcd  M )  ||  A  /\  ( ( C  gcd  D )  gcd 
M )  ||  B
)  ->  ( ( C  gcd  D )  gcd 
M )  <_  ( A  gcd  B ) ) )
144105, 11, 17, 142, 143syl31anc 1188 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( C  gcd  D )  gcd  M )  ||  A  /\  ( ( C  gcd  D )  gcd 
M )  ||  B
)  ->  ( ( C  gcd  D )  gcd 
M )  <_  ( A  gcd  B ) ) )
145121, 135, 144mp2and 662 . . . . . . . . 9  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  <_  ( A  gcd  B ) )
146145, 49breqtrd 4237 . . . . . . . 8  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  <_  1 )
147 simpr 449 . . . . . . . . . . . 12  |-  ( ( ( C  gcd  D
)  =  0  /\  M  =  0 )  ->  M  =  0 )
148147necon3ai 2645 . . . . . . . . . . 11  |-  ( M  =/=  0  ->  -.  ( ( C  gcd  D )  =  0  /\  M  =  0 ) )
149111, 148syl 16 . . . . . . . . . 10  |-  ( ph  ->  -.  ( ( C  gcd  D )  =  0  /\  M  =  0 ) )
150 gcdn0cl 13015 . . . . . . . . . 10  |-  ( ( ( ( C  gcd  D )  e.  ZZ  /\  M  e.  ZZ )  /\  -.  ( ( C  gcd  D )  =  0  /\  M  =  0 ) )  -> 
( ( C  gcd  D )  gcd  M )  e.  NN )
15151, 8, 149, 150syl21anc 1184 . . . . . . . . 9  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  e.  NN )
152 nnle1eq1 10029 . . . . . . . . 9  |-  ( ( ( C  gcd  D
)  gcd  M )  e.  NN  ->  ( (
( C  gcd  D
)  gcd  M )  <_  1  <->  ( ( C  gcd  D )  gcd 
M )  =  1 ) )
153151, 152syl 16 . . . . . . . 8  |-  ( ph  ->  ( ( ( C  gcd  D )  gcd 
M )  <_  1  <->  ( ( C  gcd  D
)  gcd  M )  =  1 ) )
154146, 153mpbid 203 . . . . . . 7  |-  ( ph  ->  ( ( C  gcd  D )  gcd  M )  =  1 )
155 2nn 10134 . . . . . . . . 9  |-  2  e.  NN
156155a1i 11 . . . . . . . 8  |-  ( ph  ->  2  e.  NN )
157 rplpwr 13057 . . . . . . . 8  |-  ( ( ( C  gcd  D
)  e.  NN  /\  M  e.  NN  /\  2  e.  NN )  ->  (
( ( C  gcd  D )  gcd  M )  =  1  ->  (
( ( C  gcd  D ) ^ 2 )  gcd  M )  =  1 ) )
15850, 5, 156, 157syl3anc 1185 . . . . . . 7  |-  ( ph  ->  ( ( ( C  gcd  D )  gcd 
M )  =  1  ->  ( ( ( C  gcd  D ) ^ 2 )  gcd 
M )  =  1 ) )
159154, 158mpd 15 . . . . . 6  |-  ( ph  ->  ( ( ( C  gcd  D ) ^
2 )  gcd  M
)  =  1 )
160100, 159eqtrd 2469 . . . . 5  |-  ( ph  ->  ( M  gcd  (
( C  gcd  D
) ^ 2 ) )  =  1 )
16165, 74nn0addcld 10279 . . . . . . 7  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  NN0 )
162161nn0zd 10374 . . . . . 6  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  ZZ )
163 coprmdvds 13103 . . . . . 6  |-  ( ( M  e.  ZZ  /\  ( ( C  gcd  D ) ^ 2 )  e.  ZZ  /\  (
( E ^ 2 )  +  ( F ^ 2 ) )  e.  ZZ )  -> 
( ( M  ||  ( ( ( C  gcd  D ) ^
2 )  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  /\  ( M  gcd  ( ( C  gcd  D ) ^
2 ) )  =  1 )  ->  M  ||  ( ( E ^
2 )  +  ( F ^ 2 ) ) ) )
1648, 98, 162, 163syl3anc 1185 . . . . 5  |-  ( ph  ->  ( ( M  ||  ( ( ( C  gcd  D ) ^
2 )  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  /\  ( M  gcd  ( ( C  gcd  D ) ^
2 ) )  =  1 )  ->  M  ||  ( ( E ^
2 )  +  ( F ^ 2 ) ) ) )
16596, 160, 164mp2and 662 . . . 4  |-  ( ph  ->  M  ||  ( ( E ^ 2 )  +  ( F ^
2 ) ) )
166 dvdsval2 12856 . . . . 5  |-  ( ( M  e.  ZZ  /\  M  =/=  0  /\  (
( E ^ 2 )  +  ( F ^ 2 ) )  e.  ZZ )  -> 
( M  ||  (
( E ^ 2 )  +  ( F ^ 2 ) )  <-> 
( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ ) )
1678, 111, 162, 166syl3anc 1185 . . . 4  |-  ( ph  ->  ( M  ||  (
( E ^ 2 )  +  ( F ^ 2 ) )  <-> 
( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ ) )
168165, 167mpbid 203 . . 3  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ )
16965nn0red 10276 . . . . 5  |-  ( ph  ->  ( E ^ 2 )  e.  RR )
17074nn0red 10276 . . . . 5  |-  ( ph  ->  ( F ^ 2 )  e.  RR )
171169, 170readdcld 9116 . . . 4  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  RR )
1725nnred 10016 . . . 4  |-  ( ph  ->  M  e.  RR )
1731, 472sqlem7 21155 . . . . . . 7  |-  Y  C_  ( S  i^i  NN )
174 inss2 3563 . . . . . . 7  |-  ( S  i^i  NN )  C_  NN
175173, 174sstri 3358 . . . . . 6  |-  Y  C_  NN
17663, 72gcdcld 13019 . . . . . . . . . 10  |-  ( ph  ->  ( E  gcd  F
)  e.  NN0 )
177176nn0cnd 10277 . . . . . . . . 9  |-  ( ph  ->  ( E  gcd  F
)  e.  CC )
178 ax-1cn 9049 . . . . . . . . . 10  |-  1  e.  CC
179178a1i 11 . . . . . . . . 9  |-  ( ph  ->  1  e.  CC )
18077mulid1d 9106 . . . . . . . . . 10  |-  ( ph  ->  ( ( C  gcd  D )  x.  1 )  =  ( C  gcd  D ) )
18183, 91oveq12d 6100 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  E )  gcd  (
( C  gcd  D
)  x.  F ) )  =  ( C  gcd  D ) )
18214, 20gcdcld 13019 . . . . . . . . . . 11  |-  ( ph  ->  ( C  gcd  D
)  e.  NN0 )
183 mulgcd 13047 . . . . . . . . . . 11  |-  ( ( ( C  gcd  D
)  e.  NN0  /\  E  e.  ZZ  /\  F  e.  ZZ )  ->  (
( ( C  gcd  D )  x.  E )  gcd  ( ( C  gcd  D )  x.  F ) )  =  ( ( C  gcd  D )  x.  ( E  gcd  F ) ) )
184182, 63, 72, 183syl3anc 1185 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( C  gcd  D )  x.  E )  gcd  (
( C  gcd  D
)  x.  F ) )  =  ( ( C  gcd  D )  x.  ( E  gcd  F ) ) )
185180, 181, 1843eqtr2rd 2476 . . . . . . . . 9  |-  ( ph  ->  ( ( C  gcd  D )  x.  ( E  gcd  F ) )  =  ( ( C  gcd  D )  x.  1 ) )
186177, 179, 77, 59, 185mulcanad 9658 . . . . . . . 8  |-  ( ph  ->  ( E  gcd  F
)  =  1 )
187 eqidd 2438 . . . . . . . 8  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( F ^
2 ) ) )
188 oveq1 6089 . . . . . . . . . . 11  |-  ( x  =  E  ->  (
x  gcd  y )  =  ( E  gcd  y ) )
189188eqeq1d 2445 . . . . . . . . . 10  |-  ( x  =  E  ->  (
( x  gcd  y
)  =  1  <->  ( E  gcd  y )  =  1 ) )
190 oveq1 6089 . . . . . . . . . . . 12  |-  ( x  =  E  ->  (
x ^ 2 )  =  ( E ^
2 ) )
191190oveq1d 6097 . . . . . . . . . . 11  |-  ( x  =  E  ->  (
( x ^ 2 )  +  ( y ^ 2 ) )  =  ( ( E ^ 2 )  +  ( y ^ 2 ) ) )
192191eqeq2d 2448 . . . . . . . . . 10  |-  ( x  =  E  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( x ^ 2 )  +  ( y ^
2 ) )  <->  ( ( E ^ 2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( y ^ 2 ) ) ) )
193189, 192anbi12d 693 . . . . . . . . 9  |-  ( x  =  E  ->  (
( ( x  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^ 2 ) )  =  ( ( x ^ 2 )  +  ( y ^ 2 ) ) )  <->  ( ( E  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^
2 ) )  =  ( ( E ^
2 )  +  ( y ^ 2 ) ) ) ) )
194 oveq2 6090 . . . . . . . . . . 11  |-  ( y  =  F  ->  ( E  gcd  y )  =  ( E  gcd  F
) )
195194eqeq1d 2445 . . . . . . . . . 10  |-  ( y  =  F  ->  (
( E  gcd  y
)  =  1  <->  ( E  gcd  F )  =  1 ) )
196 oveq1 6089 . . . . . . . . . . . 12  |-  ( y  =  F  ->  (
y ^ 2 )  =  ( F ^
2 ) )
197196oveq2d 6098 . . . . . . . . . . 11  |-  ( y  =  F  ->  (
( E ^ 2 )  +  ( y ^ 2 ) )  =  ( ( E ^ 2 )  +  ( F ^ 2 ) ) )
198197eqeq2d 2448 . . . . . . . . . 10  |-  ( y  =  F  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( y ^
2 ) )  <->  ( ( E ^ 2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( F ^ 2 ) ) ) )
199195, 198anbi12d 693 . . . . . . . . 9  |-  ( y  =  F  ->  (
( ( E  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( y ^ 2 ) ) )  <->  ( ( E  gcd  F )  =  1  /\  ( ( E ^ 2 )  +  ( F ^
2 ) )  =  ( ( E ^
2 )  +  ( F ^ 2 ) ) ) ) )
200193, 199rspc2ev 3061 . . . . . . . 8  |-  ( ( E  e.  ZZ  /\  F  e.  ZZ  /\  (
( E  gcd  F
)  =  1  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( E ^ 2 )  +  ( F ^
2 ) ) ) )  ->  E. x  e.  ZZ  E. y  e.  ZZ  ( ( x  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^
2 ) )  =  ( ( x ^
2 )  +  ( y ^ 2 ) ) ) )
20163, 72, 186, 187, 200syl112anc 1189 . . . . . . 7  |-  ( ph  ->  E. x  e.  ZZ  E. y  e.  ZZ  (
( x  gcd  y
)  =  1  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( x ^ 2 )  +  ( y ^
2 ) ) ) )
202 ovex 6107 . . . . . . . 8  |-  ( ( E ^ 2 )  +  ( F ^
2 ) )  e. 
_V
203 eqeq1 2443 . . . . . . . . . 10  |-  ( z  =  ( ( E ^ 2 )  +  ( F ^ 2 ) )  ->  (
z  =  ( ( x ^ 2 )  +  ( y ^
2 ) )  <->  ( ( E ^ 2 )  +  ( F ^ 2 ) )  =  ( ( x ^ 2 )  +  ( y ^ 2 ) ) ) )
204203anbi2d 686 . . . . . . . . 9  |-  ( z  =  ( ( E ^ 2 )  +  ( F ^ 2 ) )  ->  (
( ( x  gcd  y )  =  1  /\  z  =  ( ( x ^ 2 )  +  ( y ^ 2 ) ) )  <->  ( ( x  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^
2 ) )  =  ( ( x ^
2 )  +  ( y ^ 2 ) ) ) ) )
2052042rexbidv 2749 . . . . . . . 8  |-  ( z  =  ( ( E ^ 2 )  +  ( F ^ 2 ) )  ->  ( E. x  e.  ZZ  E. y  e.  ZZ  (
( x  gcd  y
)  =  1  /\  z  =  ( ( x ^ 2 )  +  ( y ^
2 ) ) )  <->  E. x  e.  ZZ  E. y  e.  ZZ  (
( x  gcd  y
)  =  1  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  =  ( ( x ^ 2 )  +  ( y ^
2 ) ) ) ) )
206202, 205, 47elab2 3086 . . . . . . 7  |-  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  e.  Y  <->  E. x  e.  ZZ  E. y  e.  ZZ  ( ( x  gcd  y )  =  1  /\  ( ( E ^ 2 )  +  ( F ^
2 ) )  =  ( ( x ^
2 )  +  ( y ^ 2 ) ) ) )
207201, 206sylibr 205 . . . . . 6  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  Y )
208175, 207sseldi 3347 . . . . 5  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  NN )
209208nngt0d 10044 . . . 4  |-  ( ph  ->  0  <  ( ( E ^ 2 )  +  ( F ^
2 ) ) )
2105nngt0d 10044 . . . 4  |-  ( ph  ->  0  <  M )
211171, 172, 209, 210divgt0d 9947 . . 3  |-  ( ph  ->  0  <  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M ) )
212 elnnz 10293 . . 3  |-  ( ( ( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  e.  NN  <->  ( (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  e.  ZZ  /\  0  <  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
) ) )
213168, 211, 212sylanbrc 647 . 2  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  NN )
214 prmnn 13083 . . . . . . . 8  |-  ( p  e.  Prime  ->  p  e.  NN )
215214ad2antrl 710 . . . . . . 7  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  e.  NN )
216215nnred 10016 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  e.  RR )
217168adantr 453 . . . . . . . . 9  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  e.  ZZ )
218217zred 10376 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  e.  RR )
219 peano2zm 10321 . . . . . . . . . . 11  |-  ( M  e.  ZZ  ->  ( M  -  1 )  e.  ZZ )
2208, 219syl 16 . . . . . . . . . 10  |-  ( ph  ->  ( M  -  1 )  e.  ZZ )
221220zred 10376 . . . . . . . . 9  |-  ( ph  ->  ( M  -  1 )  e.  RR )
222221adantr 453 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  ( M  -  1 )  e.  RR )
223 simprr 735 . . . . . . . . 9  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  ||  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
) )
224 prmz 13084 . . . . . . . . . . 11  |-  ( p  e.  Prime  ->  p  e.  ZZ )
225224ad2antrl 710 . . . . . . . . . 10  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  e.  ZZ )
226213adantr 453 . . . . . . . . . 10  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  e.  NN )
227 dvdsle 12896 . . . . . . . . . 10  |-  ( ( p  e.  ZZ  /\  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  NN )  ->  ( p  ||  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  ->  p  <_  ( ( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )
228225, 226, 227syl2anc 644 . . . . . . . . 9  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
p  ||  ( (
( E ^ 2 )  +  ( F ^ 2 ) )  /  M )  ->  p  <_  ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M ) ) )
229223, 228mpd 15 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  <_  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
) )
230 zsqcl 11453 . . . . . . . . . . . . . . . 16  |-  ( M  e.  ZZ  ->  ( M ^ 2 )  e.  ZZ )
2318, 230syl 16 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( M ^ 2 )  e.  ZZ )
232231zred 10376 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( M ^ 2 )  e.  RR )
233232rehalfcld 10215 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( M ^
2 )  /  2
)  e.  RR )
23416zred 10376 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( C ^ 2 )  e.  RR )
23522zred 10376 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( D ^ 2 )  e.  RR )
236234, 235readdcld 9116 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  e.  RR )
237 1re 9091 . . . . . . . . . . . . . . . . 17  |-  1  e.  RR
238237a1i 11 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  1  e.  RR )
23950nnsqcld 11544 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( C  gcd  D ) ^ 2 )  e.  NN )
240239nnred 10016 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( C  gcd  D ) ^ 2 )  e.  RR )
241161nn0ge0d 10278 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  0  <_  ( ( E ^ 2 )  +  ( F ^ 2 ) ) )
242239nnge1d 10043 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  1  <_  ( ( C  gcd  D ) ^
2 ) )
243238, 240, 171, 241, 242lemul1ad 9951 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( 1  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  <_  ( (
( C  gcd  D
) ^ 2 )  x.  ( ( E ^ 2 )  +  ( F ^ 2 ) ) ) )
244161nn0cnd 10277 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  CC )
245244mulid2d 9107 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( 1  x.  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  =  ( ( E ^ 2 )  +  ( F ^
2 ) ) )
246243, 245, 953brtr3d 4242 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  <_  ( ( C ^ 2 )  +  ( D ^ 2 ) ) )
247233rehalfcld 10215 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( ( M ^ 2 )  / 
2 )  /  2
)  e.  RR )
24811, 5, 124sqlem7 13313 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( C ^ 2 )  <_  ( (
( M ^ 2 )  /  2 )  /  2 ) )
24917, 5, 184sqlem7 13313 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( D ^ 2 )  <_  ( (
( M ^ 2 )  /  2 )  /  2 ) )
250234, 235, 247, 247, 248, 249le2addd 9645 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  <_  ( (
( ( M ^
2 )  /  2
)  /  2 )  +  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )
251233recnd 9115 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( M ^
2 )  /  2
)  e.  CC )
2522512halvesd 10214 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( ( ( ( M ^ 2 )  /  2 )  / 
2 )  +  ( ( ( M ^
2 )  /  2
)  /  2 ) )  =  ( ( M ^ 2 )  /  2 ) )
253250, 252breqtrd 4237 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  <_  ( ( M ^ 2 )  / 
2 ) )
254171, 236, 233, 246, 253letrd 9228 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  <_  ( ( M ^ 2 )  / 
2 ) )
2555nnsqcld 11544 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( M ^ 2 )  e.  NN )
256255nnrpd 10648 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( M ^ 2 )  e.  RR+ )
257 rphalflt 10639 . . . . . . . . . . . . . 14  |-  ( ( M ^ 2 )  e.  RR+  ->  ( ( M ^ 2 )  /  2 )  < 
( M ^ 2 ) )
258256, 257syl 16 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( M ^
2 )  /  2
)  <  ( M ^ 2 ) )
259171, 233, 232, 254, 258lelttrd 9229 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  <  ( M ^ 2 ) )
2608zcnd 10377 . . . . . . . . . . . . 13  |-  ( ph  ->  M  e.  CC )
261260sqvald 11521 . . . . . . . . . . . 12  |-  ( ph  ->  ( M ^ 2 )  =  ( M  x.  M ) )
262259, 261breqtrd 4237 . . . . . . . . . . 11  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  <  ( M  x.  M ) )
263 ltdivmul 9883 . . . . . . . . . . . 12  |-  ( ( ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  RR  /\  M  e.  RR  /\  ( M  e.  RR  /\  0  <  M ) )  -> 
( ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  <  M  <->  ( ( E ^ 2 )  +  ( F ^ 2 ) )  <  ( M  x.  M ) ) )
264171, 172, 172, 210, 263syl112anc 1189 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  <  M  <->  ( ( E ^ 2 )  +  ( F ^ 2 ) )  <  ( M  x.  M ) ) )
265262, 264mpbird 225 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  <  M )
266 zltlem1 10329 . . . . . . . . . . 11  |-  ( ( ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ  /\  M  e.  ZZ )  ->  ( ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  <  M  <->  ( ( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  <_  ( M  - 
1 ) ) )
267168, 8, 266syl2anc 644 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  <  M  <->  ( ( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  <_  ( M  - 
1 ) ) )
268265, 267mpbid 203 . . . . . . . . 9  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  <_  ( M  -  1 ) )
269268adantr 453 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  <_  ( M  - 
1 ) )
270216, 218, 222, 229, 269letrd 9228 . . . . . . 7  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  <_  ( M  -  1 ) )
271220adantr 453 . . . . . . . 8  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  ( M  -  1 )  e.  ZZ )
272 fznn 11116 . . . . . . . 8  |-  ( ( M  -  1 )  e.  ZZ  ->  (
p  e.  ( 1 ... ( M  - 
1 ) )  <->  ( p  e.  NN  /\  p  <_ 
( M  -  1 ) ) ) )
273271, 272syl 16 . . . . . . 7  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
p  e.  ( 1 ... ( M  - 
1 ) )  <->  ( p  e.  NN  /\  p  <_ 
( M  -  1 ) ) ) )
274215, 270, 273mpbir2and 890 . . . . . 6  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  e.  ( 1 ... ( M  -  1 ) ) )
275207adantr 453 . . . . . 6  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( E ^ 2 )  +  ( F ^ 2 ) )  e.  Y )
276274, 275jca 520 . . . . 5  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
p  e.  ( 1 ... ( M  - 
1 ) )  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  Y ) )
27748adantr 453 . . . . 5  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  A. b  e.  ( 1 ... ( M  -  1 ) ) A. a  e.  Y  ( b  ||  a  ->  b  e.  S
) )
278 dvdsmul2 12873 . . . . . . . . 9  |-  ( ( M  e.  ZZ  /\  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ )  ->  ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  ||  ( M  x.  ( (
( E ^ 2 )  +  ( F ^ 2 ) )  /  M ) ) )
2798, 168, 278syl2anc 644 . . . . . . . 8  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  ||  ( M  x.  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
) ) )
280244, 260, 111divcan2d 9793 . . . . . . . 8  |-  ( ph  ->  ( M  x.  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) )  =  ( ( E ^ 2 )  +  ( F ^
2 ) ) )
281279, 280breqtrd 4237 . . . . . . 7  |-  ( ph  ->  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  ||  ( ( E ^ 2 )  +  ( F ^ 2 ) ) )
282281adantr 453 . . . . . 6  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) 
||  ( ( E ^ 2 )  +  ( F ^ 2 ) ) )
283162adantr 453 . . . . . . 7  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( E ^ 2 )  +  ( F ^ 2 ) )  e.  ZZ )
284 dvdstr 12884 . . . . . . 7  |-  ( ( p  e.  ZZ  /\  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  e.  ZZ  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  ZZ )  ->  ( ( p 
||  ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  /\  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) 
||  ( ( E ^ 2 )  +  ( F ^ 2 ) ) )  ->  p  ||  ( ( E ^ 2 )  +  ( F ^ 2 ) ) ) )
285225, 217, 283, 284syl3anc 1185 . . . . . 6  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  (
( p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M )  /\  ( ( ( E ^ 2 )  +  ( F ^
2 ) )  /  M )  ||  (
( E ^ 2 )  +  ( F ^ 2 ) ) )  ->  p  ||  (
( E ^ 2 )  +  ( F ^ 2 ) ) ) )
286223, 282, 285mp2and 662 . . . . 5  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  ||  ( ( E ^
2 )  +  ( F ^ 2 ) ) )
287 breq1 4216 . . . . . . 7  |-  ( b  =  p  ->  (
b  ||  a  <->  p  ||  a
) )
288 eleq1 2497 . . . . . . 7  |-  ( b  =  p  ->  (
b  e.  S  <->  p  e.  S ) )
289287, 288imbi12d 313 . . . . . 6  |-  ( b  =  p  ->  (
( b  ||  a  ->  b  e.  S )  <-> 
( p  ||  a  ->  p  e.  S ) ) )
290 breq2 4217 . . . . . . 7  |-  ( a  =  ( ( E ^ 2 )  +  ( F ^ 2 ) )  ->  (
p  ||  a  <->  p  ||  (
( E ^ 2 )  +  ( F ^ 2 ) ) ) )
291290imbi1d 310 . . . . . 6  |-  ( a  =  ( ( E ^ 2 )  +  ( F ^ 2 ) )  ->  (
( p  ||  a  ->  p  e.  S )  <-> 
( p  ||  (
( E ^ 2 )  +  ( F ^ 2 ) )  ->  p  e.  S
) ) )
292289, 291rspc2v 3059 . . . . 5  |-  ( ( p  e.  ( 1 ... ( M  - 
1 ) )  /\  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  Y )  ->  ( A. b  e.  ( 1 ... ( M  -  1 ) ) A. a  e.  Y  ( b  ||  a  ->  b  e.  S
)  ->  ( p  ||  ( ( E ^
2 )  +  ( F ^ 2 ) )  ->  p  e.  S ) ) )
293276, 277, 286, 292syl3c 60 . . . 4  |-  ( (
ph  /\  ( p  e.  Prime  /\  p  ||  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) ) )  ->  p  e.  S )
294293expr 600 . . 3  |-  ( (
ph  /\  p  e.  Prime )  ->  ( p  ||  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M
)  ->  p  e.  S ) )
295294ralrimiva 2790 . 2  |-  ( ph  ->  A. p  e.  Prime  ( p  ||  ( ( ( E ^ 2 )  +  ( F ^ 2 ) )  /  M )  ->  p  e.  S )
)
296 inss1 3562 . . . . 5  |-  ( S  i^i  NN )  C_  S
297173, 296sstri 3358 . . . 4  |-  Y  C_  S
298297, 207sseldi 3347 . . 3  |-  ( ph  ->  ( ( E ^
2 )  +  ( F ^ 2 ) )  e.  S )
299280, 298eqeltrd 2511 . 2  |-  ( ph  ->  ( M  x.  (
( ( E ^
2 )  +  ( F ^ 2 ) )  /  M ) )  e.  S )
3001, 5, 213, 295, 2992sqlem6 21154 1  |-  ( ph  ->  M  e.  S )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 178    /\ wa 360    = wceq 1653    e. wcel 1726   {cab 2423    =/= wne 2600   A.wral 2706   E.wrex 2707    i^i cin 3320   class class class wbr 4213    e. cmpt 4267   ran crn 4880   ` cfv 5455  (class class class)co 6082   CCcc 8989   RRcr 8990   0cc0 8991   1c1 8992    + caddc 8994    x. cmul 8996    < clt 9121    <_ cle 9122    - cmin 9292    / cdiv 9678   NNcn 10001   2c2 10050   NN0cn0 10222   ZZcz 10283   ZZ>=cuz 10489   RR+crp 10613   ...cfz 11044    mod cmo 11251   ^cexp 11383   abscabs 12040    || cdivides 12853    gcd cgcd 13007   Primecprime 13080   ZZ [ _i ]cgz 13298
This theorem is referenced by:  2sqlem9  21158
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2418  ax-sep 4331  ax-nul 4339  ax-pow 4378  ax-pr 4404  ax-un 4702  ax-cnex 9047  ax-resscn 9048  ax-1cn 9049  ax-icn 9050  ax-addcl 9051  ax-addrcl 9052  ax-mulcl 9053  ax-mulrcl 9054  ax-mulcom 9055  ax-addass 9056  ax-mulass 9057  ax-distr 9058  ax-i2m1 9059  ax-1ne0 9060  ax-1rid 9061  ax-rnegex 9062  ax-rrecex 9063  ax-cnre 9064  ax-pre-lttri 9065  ax-pre-lttrn 9066  ax-pre-ltadd 9067  ax-pre-mulgt0 9068  ax-pre-sup 9069
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2286  df-mo 2287  df-clab 2424  df-cleq 2430  df-clel 2433  df-nfc 2562  df-ne 2602  df-nel 2603  df-ral 2711  df-rex 2712  df-reu 2713  df-rmo 2714  df-rab 2715  df-v 2959  df-sbc 3163  df-csb 3253  df-dif 3324  df-un 3326  df-in 3328  df-ss 3335  df-pss 3337  df-nul 3630  df-if 3741  df-pw 3802  df-sn 3821  df-pr 3822  df-tp 3823  df-op 3824  df-uni 4017  df-int 4052  df-iun 4096  df-br 4214  df-opab 4268  df-mpt 4269  df-tr 4304  df-eprel 4495  df-id 4499  df-po 4504  df-so 4505  df-fr 4542  df-we 4544  df-ord 4585  df-on 4586  df-lim 4587  df-suc 4588  df-om 4847  df-xp 4885  df-rel 4886  df-cnv 4887  df-co 4888  df-dm 4889  df-rn 4890  df-res 4891  df-ima 4892  df-iota 5419  df-fun 5457  df-fn 5458  df-f 5459  df-f1 5460  df-fo 5461  df-f1o 5462  df-fv 5463  df-ov 6085  df-oprab 6086  df-mpt2 6087  df-1st 6350  df-2nd 6351  df-riota 6550  df-recs 6634  df-rdg 6669  df-1o 6725  df-2o 6726  df-oadd 6729  df-er 6906  df-en 7111  df-dom 7112  df-sdom 7113  df-fin 7114  df-sup 7447  df-pnf 9123  df-mnf 9124  df-xr 9125  df-ltxr 9126  df-le 9127  df-sub 9294  df-neg 9295  df-div 9679  df-nn 10002  df-2 10059  df-3 10060  df-n0 10223  df-z 10284  df-uz 10490  df-rp 10614  df-fz 11045  df-fl 11203  df-mod 11252  df-seq 11325  df-exp 11384  df-cj 11905  df-re 11906  df-im 11907  df-sqr 12041  df-abs 12042  df-dvds 12854  df-gcd 13008  df-prm 13081  df-gz 13299
  Copyright terms: Public domain W3C validator