Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  2sqmod Structured version   Visualization version   Unicode version

Theorem 2sqmod 28484
Description: Given two decompositions of a prime as a sum of two squares, show that they are equal. (Contributed by Thierry Arnoux, 2-Feb-2020.)
Hypotheses
Ref Expression
2sqmod.1  |-  ( ph  ->  P  e.  Prime )
2sqmod.2  |-  ( ph  ->  A  e.  NN0 )
2sqmod.3  |-  ( ph  ->  B  e.  NN0 )
2sqmod.4  |-  ( ph  ->  C  e.  NN0 )
2sqmod.5  |-  ( ph  ->  D  e.  NN0 )
2sqmod.6  |-  ( ph  ->  A  <_  B )
2sqmod.7  |-  ( ph  ->  C  <_  D )
2sqmod.8  |-  ( ph  ->  ( ( A ^
2 )  +  ( B ^ 2 ) )  =  P )
2sqmod.9  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  =  P )
Assertion
Ref Expression
2sqmod  |-  ( ph  ->  ( A  =  C  /\  B  =  D ) )

Proof of Theorem 2sqmod
StepHypRef Expression
1 2sqmod.6 . . . . . 6  |-  ( ph  ->  A  <_  B )
21adantr 472 . . . . 5  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  <_  B )
3 2sqmod.4 . . . . . . . 8  |-  ( ph  ->  C  e.  NN0 )
43nn0red 10950 . . . . . . 7  |-  ( ph  ->  C  e.  RR )
54adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  C  e.  RR )
6 2sqmod.3 . . . . . . . 8  |-  ( ph  ->  B  e.  NN0 )
76nn0red 10950 . . . . . . 7  |-  ( ph  ->  B  e.  RR )
87adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  B  e.  RR )
93nn0ge0d 10952 . . . . . . 7  |-  ( ph  ->  0  <_  C )
109adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  C )
116nn0ge0d 10952 . . . . . . 7  |-  ( ph  ->  0  <_  B )
1211adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  B )
133nn0cnd 10951 . . . . . . . . 9  |-  ( ph  ->  C  e.  CC )
1413sqcld 12452 . . . . . . . 8  |-  ( ph  ->  ( C ^ 2 )  e.  CC )
1514adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( C ^ 2 )  e.  CC )
166nn0cnd 10951 . . . . . . . . 9  |-  ( ph  ->  B  e.  CC )
1716sqcld 12452 . . . . . . . 8  |-  ( ph  ->  ( B ^ 2 )  e.  CC )
1817adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B ^ 2 )  e.  CC )
19 2sqmod.2 . . . . . . . . . . . . 13  |-  ( ph  ->  A  e.  NN0 )
2019nn0cnd 10951 . . . . . . . . . . . 12  |-  ( ph  ->  A  e.  CC )
2120sqcld 12452 . . . . . . . . . . 11  |-  ( ph  ->  ( A ^ 2 )  e.  CC )
22 2sqmod.5 . . . . . . . . . . . . 13  |-  ( ph  ->  D  e.  NN0 )
2322nn0cnd 10951 . . . . . . . . . . . 12  |-  ( ph  ->  D  e.  CC )
2423sqcld 12452 . . . . . . . . . . 11  |-  ( ph  ->  ( D ^ 2 )  e.  CC )
25 2sqmod.8 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A ^
2 )  +  ( B ^ 2 ) )  =  P )
26 2sqmod.9 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( C ^
2 )  +  ( D ^ 2 ) )  =  P )
2725, 26eqtr4d 2508 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A ^
2 )  +  ( B ^ 2 ) )  =  ( ( C ^ 2 )  +  ( D ^
2 ) ) )
2821, 17, 14, 24, 27addeqxfrd 28397 . . . . . . . . . 10  |-  ( ph  ->  ( ( A ^
2 )  -  ( D ^ 2 ) )  =  ( ( C ^ 2 )  -  ( B ^ 2 ) ) )
2928adantr 472 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A ^ 2 )  -  ( D ^ 2 ) )  =  ( ( C ^ 2 )  -  ( B ^
2 ) ) )
3019nn0zd 11061 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  A  e.  ZZ )
313nn0zd 11061 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  C  e.  ZZ )
32 dvdsmul1 14401 . . . . . . . . . . . . . . . 16  |-  ( ( A  e.  ZZ  /\  C  e.  ZZ )  ->  A  ||  ( A  x.  C ) )
3330, 31, 32syl2anc 673 . . . . . . . . . . . . . . 15  |-  ( ph  ->  A  ||  ( A  x.  C ) )
3433adantr 472 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  ||  ( A  x.  C )
)
3520, 13mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( A  x.  C
)  e.  CC )
3635adantr 472 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  x.  C )  e.  CC )
3716, 23mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( B  x.  D
)  e.  CC )
3837adantr 472 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B  x.  D )  e.  CC )
3919nn0red 10950 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  A  e.  RR )
4039, 4remulcld 9689 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( A  x.  C
)  e.  RR )
4122nn0red 10950 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  D  e.  RR )
427, 41remulcld 9689 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( B  x.  D
)  e.  RR )
4340, 42resubcld 10068 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( A  x.  C )  -  ( B  x.  D )
)  e.  RR )
4443recnd 9687 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( A  x.  C )  -  ( B  x.  D )
)  e.  CC )
4544adantr 472 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A  x.  C )  -  ( B  x.  D ) )  e.  CC )
4643sqge0d 12481 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  0  <_  ( (
( A  x.  C
)  -  ( B  x.  D ) ) ^ 2 ) )
47 2sqmod.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ph  ->  P  e.  Prime )
486nn0zd 11061 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ph  ->  B  e.  ZZ )
4947, 30, 48, 252sqn0 28482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ph  ->  A  =/=  0 )
50 elnnne0 10907 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( A  e.  NN  <->  ( A  e.  NN0  /\  A  =/=  0 ) )
5119, 49, 50sylanbrc 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  A  e.  NN )
5222nn0zd 11061 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ph  ->  D  e.  ZZ )
5324, 14addcomd 9853 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ph  ->  ( ( D ^
2 )  +  ( C ^ 2 ) )  =  ( ( C ^ 2 )  +  ( D ^
2 ) ) )
5453, 26eqtrd 2505 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ph  ->  ( ( D ^
2 )  +  ( C ^ 2 ) )  =  P )
5547, 52, 31, 542sqn0 28482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ph  ->  D  =/=  0 )
56 elnnne0 10907 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( D  e.  NN  <->  ( D  e.  NN0  /\  D  =/=  0 ) )
5722, 55, 56sylanbrc 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  D  e.  NN )
5851, 57nnmulcld 10679 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ph  ->  ( A  x.  D
)  e.  NN )
5947, 31, 52, 262sqn0 28482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ph  ->  C  =/=  0 )
60 elnnne0 10907 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( C  e.  NN  <->  ( C  e.  NN0  /\  C  =/=  0 ) )
613, 59, 60sylanbrc 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  C  e.  NN )
6217, 21addcomd 9853 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ph  ->  ( ( B ^
2 )  +  ( A ^ 2 ) )  =  ( ( A ^ 2 )  +  ( B ^
2 ) ) )
6362, 25eqtrd 2505 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ph  ->  ( ( B ^
2 )  +  ( A ^ 2 ) )  =  P )
6447, 48, 30, 632sqn0 28482 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ph  ->  B  =/=  0 )
65 elnnne0 10907 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( B  e.  NN  <->  ( B  e.  NN0  /\  B  =/=  0 ) )
666, 64, 65sylanbrc 677 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  B  e.  NN )
6761, 66nnmulcld 10679 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ph  ->  ( C  x.  B
)  e.  NN )
6858, 67nnaddcld 10678 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( ( A  x.  D )  +  ( C  x.  B ) )  e.  NN )
6968nnsqcld 12474 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  e.  NN )
7069nnred 10646 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  e.  RR )
7143resqcld 12480 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( ( ( A  x.  C )  -  ( B  x.  D
) ) ^ 2 )  e.  RR )
7270, 71addge02d 10223 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( 0  <_  (
( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  <-> 
( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  <_  ( (
( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) ) ) )
7346, 72mpbid 215 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  <_  ( (
( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) ) )
7425, 26oveq12d 6326 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  x.  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( P  x.  P ) )
75 bhmafibid1 28480 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( A  e.  RR  /\  B  e.  RR )  /\  ( C  e.  RR  /\  D  e.  RR ) )  -> 
( ( ( A ^ 2 )  +  ( B ^ 2 ) )  x.  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( B  x.  C ) ) ^
2 ) ) )
7639, 7, 4, 41, 75syl22anc 1293 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  x.  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( B  x.  C ) ) ^
2 ) ) )
7774, 76eqtr3d 2507 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( P  x.  P
)  =  ( ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( B  x.  C ) ) ^
2 ) ) )
78 prmz 14705 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( P  e.  Prime  ->  P  e.  ZZ )
7947, 78syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ph  ->  P  e.  ZZ )
8079zcnd 11064 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  P  e.  CC )
8180sqvald 12451 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( P ^ 2 )  =  ( P  x.  P ) )
8213, 16mulcomd 9682 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( C  x.  B
)  =  ( B  x.  C ) )
8382oveq2d 6324 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ph  ->  ( ( A  x.  D )  +  ( C  x.  B ) )  =  ( ( A  x.  D )  +  ( B  x.  C ) ) )
8483oveq1d 6323 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  =  ( ( ( A  x.  D
)  +  ( B  x.  C ) ) ^ 2 ) )
8584oveq2d 6324 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( ( ( ( A  x.  C )  -  ( B  x.  D ) ) ^
2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) )  =  ( ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( B  x.  C ) ) ^
2 ) ) )
8677, 81, 853eqtr4d 2515 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( P ^ 2 )  =  ( ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) ) )
8773, 86breqtrrd 4422 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  <_  ( P ^ 2 ) )
8887adantr 472 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( A  x.  D
)  +  ( C  x.  B ) ) ^ 2 )  <_ 
( P ^ 2 ) )
8930, 52zmulcld 11069 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( A  x.  D
)  e.  ZZ )
9031, 48zmulcld 11069 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ph  ->  ( C  x.  B
)  e.  ZZ )
9189, 90zaddcld 11067 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( ( A  x.  D )  +  ( C  x.  B ) )  e.  ZZ )
92 dvdssqim 14600 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( P  e.  ZZ  /\  ( ( A  x.  D )  +  ( C  x.  B ) )  e.  ZZ )  ->  ( P  ||  ( ( A  x.  D )  +  ( C  x.  B ) )  ->  ( P ^ 2 )  ||  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) ) )
9379, 91, 92syl2anc 673 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( P  ||  (
( A  x.  D
)  +  ( C  x.  B ) )  ->  ( P ^
2 )  ||  (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) ) )
94 zsqcl 12383 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( P  e.  ZZ  ->  ( P ^ 2 )  e.  ZZ )
9579, 94syl 17 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( P ^ 2 )  e.  ZZ )
96 dvdsle 14427 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( P ^ 2 )  e.  ZZ  /\  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  e.  NN )  ->  ( ( P ^ 2 )  ||  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  ->  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) ) )
9795, 69, 96syl2anc 673 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( ( P ^
2 )  ||  (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 )  ->  ( P ^
2 )  <_  (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) ) )
9893, 97syld 44 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( P  ||  (
( A  x.  D
)  +  ( C  x.  B ) )  ->  ( P ^
2 )  <_  (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) ) )
9998imp 436 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) )
10095zred 11063 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( P ^ 2 )  e.  RR )
10170, 100letri3d 9794 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 )  =  ( P ^ 2 )  <-> 
( ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 )  <_  ( P ^ 2 )  /\  ( P ^ 2 )  <_  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) ) ) )
102101adantr 472 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 )  =  ( P ^
2 )  <->  ( (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 )  <_  ( P ^
2 )  /\  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) ) ) )
10388, 99, 102mpbir2and 936 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( A  x.  D
)  +  ( C  x.  B ) ) ^ 2 )  =  ( P ^ 2 ) )
10486adantr 472 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( P ^ 2 )  =  ( ( ( ( A  x.  C )  -  ( B  x.  D ) ) ^
2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) ) )
105103, 104eqtr2d 2506 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) )  =  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) )
10670recnd 9687 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  e.  CC )
10771recnd 9687 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A  x.  C )  -  ( B  x.  D
) ) ^ 2 )  e.  CC )
108106, 106, 107subadd2d 10024 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( ( ( ( A  x.  D
)  +  ( C  x.  B ) ) ^ 2 )  -  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) )  =  ( ( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  <-> 
( ( ( ( A  x.  C )  -  ( B  x.  D ) ) ^
2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) )  =  ( ( ( A  x.  D
)  +  ( C  x.  B ) ) ^ 2 ) ) )
109108adantr 472 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 )  -  ( ( ( A  x.  D
)  +  ( C  x.  B ) ) ^ 2 ) )  =  ( ( ( A  x.  C )  -  ( B  x.  D ) ) ^
2 )  <->  ( (
( ( A  x.  C )  -  ( B  x.  D )
) ^ 2 )  +  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) )  =  ( ( ( A  x.  D )  +  ( C  x.  B
) ) ^ 2 ) ) )
110105, 109mpbird 240 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 )  -  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) )  =  ( ( ( A  x.  C )  -  ( B  x.  D
) ) ^ 2 ) )
111106subidd 9993 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 )  -  (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 ) )  =  0 )
112111adantr 472 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( ( A  x.  D )  +  ( C  x.  B ) ) ^ 2 )  -  ( ( ( A  x.  D )  +  ( C  x.  B ) ) ^
2 ) )  =  0 )
113110, 112eqtr3d 2507 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( A  x.  C
)  -  ( B  x.  D ) ) ^ 2 )  =  0 )
11445, 113sqeq0d 12453 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A  x.  C )  -  ( B  x.  D ) )  =  0 )
11536, 38, 114subeq0d 10013 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  x.  C )  =  ( B  x.  D ) )
11634, 115breqtrd 4420 . . . . . . . . . . . . 13  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  ||  ( B  x.  D )
)
11747, 30, 48, 252sqcoprm 28483 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( A  gcd  B
)  =  1 )
118117adantr 472 . . . . . . . . . . . . 13  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  gcd  B )  =  1 )
119 coprmdvds 14738 . . . . . . . . . . . . . . 15  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ  /\  D  e.  ZZ )  ->  (
( A  ||  ( B  x.  D )  /\  ( A  gcd  B
)  =  1 )  ->  A  ||  D
) )
12030, 48, 52, 119syl3anc 1292 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( A  ||  ( B  x.  D
)  /\  ( A  gcd  B )  =  1 )  ->  A  ||  D
) )
121120adantr 472 . . . . . . . . . . . . 13  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A  ||  ( B  x.  D )  /\  ( A  gcd  B )  =  1 )  ->  A  ||  D ) )
122116, 118, 121mp2and 693 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  ||  D
)
123 dvdsle 14427 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  D  e.  NN )  ->  ( A  ||  D  ->  A  <_  D )
)
12430, 57, 123syl2anc 673 . . . . . . . . . . . . 13  |-  ( ph  ->  ( A  ||  D  ->  A  <_  D )
)
125124adantr 472 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  ||  D  ->  A  <_  D ) )
126122, 125mpd 15 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  <_  D )
12751nnrpd 11362 . . . . . . . . . . . . . 14  |-  ( ph  ->  A  e.  RR+ )
128127rprege0d 11371 . . . . . . . . . . . . 13  |-  ( ph  ->  ( A  e.  RR  /\  0  <_  A )
)
12922nn0ge0d 10952 . . . . . . . . . . . . 13  |-  ( ph  ->  0  <_  D )
130 le2sq 12387 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  RR  /\  0  <_  A )  /\  ( D  e.  RR  /\  0  <_  D )
)  ->  ( A  <_  D  <->  ( A ^
2 )  <_  ( D ^ 2 ) ) )
131128, 41, 129, 130syl12anc 1290 . . . . . . . . . . . 12  |-  ( ph  ->  ( A  <_  D  <->  ( A ^ 2 )  <_  ( D ^
2 ) ) )
132131adantr 472 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  <_  D  <->  ( A ^
2 )  <_  ( D ^ 2 ) ) )
133126, 132mpbid 215 . . . . . . . . . 10  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A ^ 2 )  <_ 
( D ^ 2 ) )
13451nnsqcld 12474 . . . . . . . . . . . . 13  |-  ( ph  ->  ( A ^ 2 )  e.  NN )
135134nnred 10646 . . . . . . . . . . . 12  |-  ( ph  ->  ( A ^ 2 )  e.  RR )
136 zsqcl 12383 . . . . . . . . . . . . . 14  |-  ( D  e.  ZZ  ->  ( D ^ 2 )  e.  ZZ )
13752, 136syl 17 . . . . . . . . . . . . 13  |-  ( ph  ->  ( D ^ 2 )  e.  ZZ )
138137zred 11063 . . . . . . . . . . . 12  |-  ( ph  ->  ( D ^ 2 )  e.  RR )
139135, 138suble0d 10225 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( A ^ 2 )  -  ( D ^ 2 ) )  <_  0  <->  ( A ^ 2 )  <_ 
( D ^ 2 ) ) )
140139adantr 472 . . . . . . . . . 10  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( A ^ 2 )  -  ( D ^ 2 ) )  <_  0  <->  ( A ^ 2 )  <_ 
( D ^ 2 ) ) )
141133, 140mpbird 240 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A ^ 2 )  -  ( D ^ 2 ) )  <_  0 )
14229, 141eqbrtrrd 4418 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( C ^ 2 )  -  ( B ^ 2 ) )  <_  0 )
143 dvdsmul1 14401 . . . . . . . . . . . . . . 15  |-  ( ( B  e.  ZZ  /\  D  e.  ZZ )  ->  B  ||  ( B  x.  D ) )
14448, 52, 143syl2anc 673 . . . . . . . . . . . . . 14  |-  ( ph  ->  B  ||  ( B  x.  D ) )
145144adantr 472 . . . . . . . . . . . . 13  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  B  ||  ( B  x.  D )
)
146145, 115breqtrrd 4422 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  B  ||  ( A  x.  C )
)
147 gcdcom 14563 . . . . . . . . . . . . . . 15  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  gcd  B
)  =  ( B  gcd  A ) )
14830, 48, 147syl2anc 673 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( A  gcd  B
)  =  ( B  gcd  A ) )
149148, 117eqtr3d 2507 . . . . . . . . . . . . 13  |-  ( ph  ->  ( B  gcd  A
)  =  1 )
150149adantr 472 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B  gcd  A )  =  1 )
151 coprmdvds 14738 . . . . . . . . . . . . . 14  |-  ( ( B  e.  ZZ  /\  A  e.  ZZ  /\  C  e.  ZZ )  ->  (
( B  ||  ( A  x.  C )  /\  ( B  gcd  A
)  =  1 )  ->  B  ||  C
) )
15248, 30, 31, 151syl3anc 1292 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( B  ||  ( A  x.  C
)  /\  ( B  gcd  A )  =  1 )  ->  B  ||  C
) )
153152adantr 472 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( B  ||  ( A  x.  C )  /\  ( B  gcd  A )  =  1 )  ->  B  ||  C ) )
154146, 150, 153mp2and 693 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  B  ||  C
)
155 dvdsle 14427 . . . . . . . . . . . . 13  |-  ( ( B  e.  ZZ  /\  C  e.  NN )  ->  ( B  ||  C  ->  B  <_  C )
)
15648, 61, 155syl2anc 673 . . . . . . . . . . . 12  |-  ( ph  ->  ( B  ||  C  ->  B  <_  C )
)
157156adantr 472 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B  ||  C  ->  B  <_  C ) )
158154, 157mpd 15 . . . . . . . . . 10  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  B  <_  C )
1597, 4, 11, 9le2sqd 12489 . . . . . . . . . . 11  |-  ( ph  ->  ( B  <_  C  <->  ( B ^ 2 )  <_  ( C ^
2 ) ) )
160159adantr 472 . . . . . . . . . 10  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B  <_  C  <->  ( B ^
2 )  <_  ( C ^ 2 ) ) )
161158, 160mpbid 215 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( B ^ 2 )  <_ 
( C ^ 2 ) )
1624resqcld 12480 . . . . . . . . . . 11  |-  ( ph  ->  ( C ^ 2 )  e.  RR )
163 zsqcl 12383 . . . . . . . . . . . . 13  |-  ( B  e.  ZZ  ->  ( B ^ 2 )  e.  ZZ )
16448, 163syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( B ^ 2 )  e.  ZZ )
165164zred 11063 . . . . . . . . . . 11  |-  ( ph  ->  ( B ^ 2 )  e.  RR )
166162, 165subge0d 10224 . . . . . . . . . 10  |-  ( ph  ->  ( 0  <_  (
( C ^ 2 )  -  ( B ^ 2 ) )  <-> 
( B ^ 2 )  <_  ( C ^ 2 ) ) )
167166adantr 472 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( 0  <_  ( ( C ^ 2 )  -  ( B ^ 2 ) )  <->  ( B ^
2 )  <_  ( C ^ 2 ) ) )
168161, 167mpbird 240 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  ( ( C ^ 2 )  -  ( B ^ 2 ) ) )
169135, 138resubcld 10068 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A ^
2 )  -  ( D ^ 2 ) )  e.  RR )
17028, 169eqeltrrd 2550 . . . . . . . . . 10  |-  ( ph  ->  ( ( C ^
2 )  -  ( B ^ 2 ) )  e.  RR )
171 0red 9662 . . . . . . . . . 10  |-  ( ph  ->  0  e.  RR )
172170, 171letri3d 9794 . . . . . . . . 9  |-  ( ph  ->  ( ( ( C ^ 2 )  -  ( B ^ 2 ) )  =  0  <->  (
( ( C ^
2 )  -  ( B ^ 2 ) )  <_  0  /\  0  <_  ( ( C ^
2 )  -  ( B ^ 2 ) ) ) ) )
173172adantr 472 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( C ^ 2 )  -  ( B ^ 2 ) )  =  0  <->  ( (
( C ^ 2 )  -  ( B ^ 2 ) )  <_  0  /\  0  <_  ( ( C ^
2 )  -  ( B ^ 2 ) ) ) ) )
174142, 168, 173mpbir2and 936 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( C ^ 2 )  -  ( B ^ 2 ) )  =  0 )
17515, 18, 174subeq0d 10013 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( C ^ 2 )  =  ( B ^ 2 ) )
1765, 8, 10, 12, 175sq11d 12490 . . . . 5  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  C  =  B )
1772, 176breqtrrd 4422 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  <_  C )
178 2sqmod.7 . . . . . 6  |-  ( ph  ->  C  <_  D )
179178adantr 472 . . . . 5  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  C  <_  D )
18039adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  e.  RR )
18141adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  D  e.  RR )
18219nn0ge0d 10952 . . . . . . 7  |-  ( ph  ->  0  <_  A )
183182adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  A )
184129adantr 472 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  D )
18521adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A ^ 2 )  e.  CC )
18624adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( D ^ 2 )  e.  CC )
187168, 29breqtrrd 4422 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  0  <_  ( ( A ^ 2 )  -  ( D ^ 2 ) ) )
188169, 171letri3d 9794 . . . . . . . . 9  |-  ( ph  ->  ( ( ( A ^ 2 )  -  ( D ^ 2 ) )  =  0  <->  (
( ( A ^
2 )  -  ( D ^ 2 ) )  <_  0  /\  0  <_  ( ( A ^
2 )  -  ( D ^ 2 ) ) ) ) )
189188adantr 472 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( (
( A ^ 2 )  -  ( D ^ 2 ) )  =  0  <->  ( (
( A ^ 2 )  -  ( D ^ 2 ) )  <_  0  /\  0  <_  ( ( A ^
2 )  -  ( D ^ 2 ) ) ) ) )
190141, 187, 189mpbir2and 936 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( ( A ^ 2 )  -  ( D ^ 2 ) )  =  0 )
191185, 186, 190subeq0d 10013 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A ^ 2 )  =  ( D ^ 2 ) )
192180, 181, 183, 184, 191sq11d 12490 . . . . 5  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  =  D )
193179, 192breqtrrd 4422 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  C  <_  A )
19439, 4letri3d 9794 . . . . 5  |-  ( ph  ->  ( A  =  C  <-> 
( A  <_  C  /\  C  <_  A ) ) )
195194adantr 472 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  ( A  =  C  <->  ( A  <_  C  /\  C  <_  A
) ) )
196177, 193, 195mpbir2and 936 . . 3  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  +  ( C  x.  B ) ) )  ->  A  =  C )
19720adantr 472 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  A  e.  CC )
19813adantr 472 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  C  e.  CC )
19916adantr 472 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  B  e.  CC )
20064adantr 472 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  B  =/=  0 )
20141adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  D  e.  RR )
2027adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  B  e.  RR )
203129adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  0  <_  D )
20411adantr 472 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  0  <_  B )
20524adantr 472 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( D ^ 2 )  e.  CC )
20617adantr 472 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( B ^ 2 )  e.  CC )
207 prmnn 14704 . . . . . . . . . . . . 13  |-  ( P  e.  Prime  ->  P  e.  NN )
20847, 207syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  P  e.  NN )
209208nnne0d 10676 . . . . . . . . . . 11  |-  ( ph  ->  P  =/=  0 )
210209neneqd 2648 . . . . . . . . . 10  |-  ( ph  ->  -.  P  =  0 )
211210adantr 472 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  -.  P  =  0 )
21280, 24, 17subdid 10095 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( P  x.  (
( D ^ 2 )  -  ( B ^ 2 ) ) )  =  ( ( P  x.  ( D ^ 2 ) )  -  ( P  x.  ( B ^ 2 ) ) ) )
21380, 24mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( P  x.  ( D ^ 2 ) )  e.  CC )
21421, 24mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( A ^
2 )  x.  ( D ^ 2 ) )  e.  CC )
21580, 17mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( P  x.  ( B ^ 2 ) )  e.  CC )
21614, 17mulcld 9681 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( C ^
2 )  x.  ( B ^ 2 ) )  e.  CC )
21717, 24mulcomd 9682 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( B ^
2 )  x.  ( D ^ 2 ) )  =  ( ( D ^ 2 )  x.  ( B ^ 2 ) ) )
21825oveq1d 6323 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  -  ( A ^ 2 ) )  =  ( P  -  ( A ^ 2 ) ) )
21921, 17pncan2d 10007 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  -  ( A ^ 2 ) )  =  ( B ^
2 ) )
220218, 219eqtr3d 2507 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( P  -  ( A ^ 2 ) )  =  ( B ^
2 ) )
221220oveq1d 6323 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( P  -  ( A ^ 2 ) )  x.  ( D ^ 2 ) )  =  ( ( B ^ 2 )  x.  ( D ^ 2 ) ) )
22226oveq1d 6323 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( C ^ 2 )  +  ( D ^ 2 ) )  -  ( C ^ 2 ) )  =  ( P  -  ( C ^ 2 ) ) )
22314, 24pncan2d 10007 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( C ^ 2 )  +  ( D ^ 2 ) )  -  ( C ^ 2 ) )  =  ( D ^
2 ) )
224222, 223eqtr3d 2507 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( P  -  ( C ^ 2 ) )  =  ( D ^
2 ) )
225224oveq1d 6323 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( P  -  ( C ^ 2 ) )  x.  ( B ^ 2 ) )  =  ( ( D ^ 2 )  x.  ( B ^ 2 ) ) )
226217, 221, 2253eqtr4d 2515 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( P  -  ( A ^ 2 ) )  x.  ( D ^ 2 ) )  =  ( ( P  -  ( C ^
2 ) )  x.  ( B ^ 2 ) ) )
22780, 21, 24subdird 10096 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( P  -  ( A ^ 2 ) )  x.  ( D ^ 2 ) )  =  ( ( P  x.  ( D ^
2 ) )  -  ( ( A ^
2 )  x.  ( D ^ 2 ) ) ) )
22880, 14, 17subdird 10096 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( P  -  ( C ^ 2 ) )  x.  ( B ^ 2 ) )  =  ( ( P  x.  ( B ^
2 ) )  -  ( ( C ^
2 )  x.  ( B ^ 2 ) ) ) )
229226, 227, 2283eqtr3d 2513 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( P  x.  ( D ^ 2 ) )  -  ( ( A ^ 2 )  x.  ( D ^
2 ) ) )  =  ( ( P  x.  ( B ^
2 ) )  -  ( ( C ^
2 )  x.  ( B ^ 2 ) ) ) )
230213, 214, 215, 216, 229subeqxfrd 28396 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( ( P  x.  ( D ^ 2 ) )  -  ( P  x.  ( B ^
2 ) ) )  =  ( ( ( A ^ 2 )  x.  ( D ^
2 ) )  -  ( ( C ^
2 )  x.  ( B ^ 2 ) ) ) )
231212, 230eqtrd 2505 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( P  x.  (
( D ^ 2 )  -  ( B ^ 2 ) ) )  =  ( ( ( A ^ 2 )  x.  ( D ^ 2 ) )  -  ( ( C ^ 2 )  x.  ( B ^ 2 ) ) ) )
23220, 23sqmuld 12466 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( ( A  x.  D ) ^ 2 )  =  ( ( A ^ 2 )  x.  ( D ^
2 ) ) )
23313, 16sqmuld 12466 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( ( C  x.  B ) ^ 2 )  =  ( ( C ^ 2 )  x.  ( B ^
2 ) ) )
234232, 233oveq12d 6326 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( ( A  x.  D ) ^
2 )  -  (
( C  x.  B
) ^ 2 ) )  =  ( ( ( A ^ 2 )  x.  ( D ^ 2 ) )  -  ( ( C ^ 2 )  x.  ( B ^ 2 ) ) ) )
23520, 23mulcld 9681 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( A  x.  D
)  e.  CC )
23613, 16mulcld 9681 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( C  x.  B
)  e.  CC )
237 subsq 12420 . . . . . . . . . . . . . . 15  |-  ( ( ( A  x.  D
)  e.  CC  /\  ( C  x.  B
)  e.  CC )  ->  ( ( ( A  x.  D ) ^ 2 )  -  ( ( C  x.  B ) ^ 2 ) )  =  ( ( ( A  x.  D )  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B ) ) ) )
238235, 236, 237syl2anc 673 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( ( A  x.  D ) ^
2 )  -  (
( C  x.  B
) ^ 2 ) )  =  ( ( ( A  x.  D
)  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B
) ) ) )
239231, 234, 2383eqtr2d 2511 . . . . . . . . . . . . 13  |-  ( ph  ->  ( P  x.  (
( D ^ 2 )  -  ( B ^ 2 ) ) )  =  ( ( ( A  x.  D
)  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B
) ) ) )
240239adantr 472 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( P  x.  ( ( D ^
2 )  -  ( B ^ 2 ) ) )  =  ( ( ( A  x.  D
)  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B
) ) ) )
241235adantr 472 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( A  x.  D )  e.  CC )
242 simpll 768 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ph )
243 simpr 468 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  -.  ( A  x.  D )  =  ( C  x.  B ) )
244243neqned 2650 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ( A  x.  D )  =/=  ( C  x.  B )
)
24589, 90zsubcld 11068 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( A  x.  D )  -  ( C  x.  B )
)  e.  ZZ )
246 dvdssqim 14600 . . . . . . . . . . . . . . . . . . 19  |-  ( ( P  e.  ZZ  /\  ( ( A  x.  D )  -  ( C  x.  B )
)  e.  ZZ )  ->  ( P  ||  ( ( A  x.  D )  -  ( C  x.  B )
)  ->  ( P ^ 2 )  ||  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) ) )
24779, 245, 246syl2anc 673 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( P  ||  (
( A  x.  D
)  -  ( C  x.  B ) )  ->  ( P ^
2 )  ||  (
( ( A  x.  D )  -  ( C  x.  B )
) ^ 2 ) ) )
248247imp 436 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( P ^ 2 )  ||  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) )
249248adantr 472 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ( P ^
2 )  ||  (
( ( A  x.  D )  -  ( C  x.  B )
) ^ 2 ) )
25095adantr 472 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( P ^ 2 )  e.  ZZ )
251245adantr 472 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( ( A  x.  D )  -  ( C  x.  B ) )  e.  ZZ )
252235adantr 472 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( A  x.  D )  e.  CC )
253236adantr 472 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( C  x.  B )  e.  CC )
254 simpr 468 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( A  x.  D )  =/=  ( C  x.  B )
)
255252, 253, 254subne0d 10014 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( ( A  x.  D )  -  ( C  x.  B ) )  =/=  0 )
256251, 255znsqcld 28398 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( (
( A  x.  D
)  -  ( C  x.  B ) ) ^ 2 )  e.  NN )
257 dvdsle 14427 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( P ^ 2 )  e.  ZZ  /\  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  e.  NN )  ->  ( ( P ^ 2 )  ||  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  ->  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) ) )
258250, 256, 257syl2anc 673 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( A  x.  D )  =/=  ( C  x.  B )
)  ->  ( ( P ^ 2 )  ||  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  ->  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) ) )
259258imp 436 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  ( A  x.  D )  =/=  ( C  x.  B
) )  /\  ( P ^ 2 )  ||  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) )  ->  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) )
260242, 244, 249, 259syl21anc 1291 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ( P ^
2 )  <_  (
( ( A  x.  D )  -  ( C  x.  B )
) ^ 2 ) )
26139, 41remulcld 9689 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( A  x.  D
)  e.  RR )
2624, 7remulcld 9689 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( C  x.  B
)  e.  RR )
263261, 262resubcld 10068 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( A  x.  D )  -  ( C  x.  B )
)  e.  RR )
264263resqcld 12480 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  e.  RR )
26561nnrpd 11362 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  C  e.  RR+ )
266127, 265rpmulcld 11380 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( A  x.  C
)  e.  RR+ )
26766nnrpd 11362 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  B  e.  RR+ )
26857nnrpd 11362 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  D  e.  RR+ )
269267, 268rpmulcld 11380 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( B  x.  D
)  e.  RR+ )
270266, 269rpaddcld 11379 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( A  x.  C )  +  ( B  x.  D ) )  e.  RR+ )
271 2z 10993 . . . . . . . . . . . . . . . . . . . . . 22  |-  2  e.  ZZ
272271a1i 11 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  2  e.  ZZ )
273270, 272rpexpcld 12477 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( A  x.  C )  +  ( B  x.  D
) ) ^ 2 )  e.  RR+ )
274264, 273ltaddrp2d 11395 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  <  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( C  x.  B ) ) ^
2 ) ) )
275 bhmafibid2 28481 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( A  e.  RR  /\  B  e.  RR )  /\  ( C  e.  RR  /\  D  e.  RR ) )  -> 
( ( ( A ^ 2 )  +  ( B ^ 2 ) )  x.  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( B  x.  C ) ) ^
2 ) ) )
27639, 7, 4, 41, 275syl22anc 1293 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( ( A ^ 2 )  +  ( B ^ 2 ) )  x.  (
( C ^ 2 )  +  ( D ^ 2 ) ) )  =  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( B  x.  C ) ) ^
2 ) ) )
27774, 276eqtr3d 2507 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( P  x.  P
)  =  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( B  x.  C ) ) ^
2 ) ) )
27882oveq2d 6324 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( ( A  x.  D )  -  ( C  x.  B )
)  =  ( ( A  x.  D )  -  ( B  x.  C ) ) )
279278oveq1d 6323 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  =  ( ( ( A  x.  D
)  -  ( B  x.  C ) ) ^ 2 ) )
280279oveq2d 6324 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^
2 )  +  ( ( ( A  x.  D )  -  ( C  x.  B )
) ^ 2 ) )  =  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( B  x.  C ) ) ^
2 ) ) )
281277, 280eqtr4d 2508 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( P  x.  P
)  =  ( ( ( ( A  x.  C )  +  ( B  x.  D ) ) ^ 2 )  +  ( ( ( A  x.  D )  -  ( C  x.  B ) ) ^
2 ) ) )
282274, 281breqtrrd 4422 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  <  ( P  x.  P ) )
283282, 81breqtrrd 4422 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 )  <  ( P ^ 2 ) )
284242, 283syl 17 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ( ( ( A  x.  D )  -  ( C  x.  B ) ) ^
2 )  <  ( P ^ 2 ) )
285264, 100ltnled 9799 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( ( ( ( A  x.  D )  -  ( C  x.  B ) ) ^
2 )  <  ( P ^ 2 )  <->  -.  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) ) )
286242, 285syl 17 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  ( ( ( ( A  x.  D
)  -  ( C  x.  B ) ) ^ 2 )  < 
( P ^ 2 )  <->  -.  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) ) )
287284, 286mpbid 215 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  P  ||  ( ( A  x.  D )  -  ( C  x.  B )
) )  /\  -.  ( A  x.  D
)  =  ( C  x.  B ) )  ->  -.  ( P ^ 2 )  <_ 
( ( ( A  x.  D )  -  ( C  x.  B
) ) ^ 2 ) )
288260, 287condan 811 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( A  x.  D )  =  ( C  x.  B ) )
289241, 288subeq0bd 10066 . . . . . . . . . . . . 13  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( ( A  x.  D )  -  ( C  x.  B ) )  =  0 )
290289oveq2d 6324 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( (
( A  x.  D
)  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B
) ) )  =  ( ( ( A  x.  D )  +  ( C  x.  B
) )  x.  0 ) )
291235, 236addcld 9680 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( A  x.  D )  +  ( C  x.  B ) )  e.  CC )
292291mul01d 9850 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( A  x.  D )  +  ( C  x.  B
) )  x.  0 )  =  0 )
293292adantr 472 . . . . . . . . . . . 12  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( (
( A  x.  D
)  +  ( C  x.  B ) )  x.  0 )  =  0 )
294240, 290, 2933eqtrd 2509 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( P  x.  ( ( D ^
2 )  -  ( B ^ 2 ) ) )  =  0 )
29524, 17subcld 10005 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( D ^
2 )  -  ( B ^ 2 ) )  e.  CC )
29680, 295mul0ord 10284 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( P  x.  ( ( D ^
2 )  -  ( B ^ 2 ) ) )  =  0  <->  ( P  =  0  \/  ( ( D ^
2 )  -  ( B ^ 2 ) )  =  0 ) ) )
297296adantr 472 . . . . . . . . . . 11  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( ( P  x.  ( ( D ^ 2 )  -  ( B ^ 2 ) ) )  =  0  <-> 
( P  =  0  \/  ( ( D ^ 2 )  -  ( B ^ 2 ) )  =  0 ) ) )
298294, 297mpbid 215 . . . . . . . . . 10  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( P  =  0  \/  (
( D ^ 2 )  -  ( B ^ 2 ) )  =  0 ) )
299298ord 384 . . . . . . . . 9  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( -.  P  =  0  ->  ( ( D ^ 2 )  -  ( B ^ 2 ) )  =  0 ) )
300211, 299mpd 15 . . . . . . . 8  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( ( D ^ 2 )  -  ( B ^ 2 ) )  =  0 )
301205, 206, 300subeq0d 10013 . . . . . . 7  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( D ^ 2 )  =  ( B ^ 2 ) )
302201, 202, 203, 204, 301sq11d 12490 . . . . . 6  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  D  =  B )
303302oveq2d 6324 . . . . 5  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( A  x.  D )  =  ( A  x.  B ) )
304303, 288eqtr3d 2507 . . . 4  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  ( A  x.  B )  =  ( C  x.  B ) )
305197, 198, 199, 200, 304mulcan2ad 10270 . . 3  |-  ( (
ph  /\  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) )  ->  A  =  C )
306137, 164zsubcld 11068 . . . . . 6  |-  ( ph  ->  ( ( D ^
2 )  -  ( B ^ 2 ) )  e.  ZZ )
307 dvdsmul1 14401 . . . . . 6  |-  ( ( P  e.  ZZ  /\  ( ( D ^
2 )  -  ( B ^ 2 ) )  e.  ZZ )  ->  P  ||  ( P  x.  ( ( D ^
2 )  -  ( B ^ 2 ) ) ) )
30879, 306, 307syl2anc 673 . . . . 5  |-  ( ph  ->  P  ||  ( P  x.  ( ( D ^ 2 )  -  ( B ^ 2 ) ) ) )
309308, 239breqtrd 4420 . . . 4  |-  ( ph  ->  P  ||  ( ( ( A  x.  D
)  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B
) ) ) )
310 euclemma 14744 . . . . 5  |-  ( ( P  e.  Prime  /\  (
( A  x.  D
)  +  ( C  x.  B ) )  e.  ZZ  /\  (
( A  x.  D
)  -  ( C  x.  B ) )  e.  ZZ )  -> 
( P  ||  (
( ( A  x.  D )  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B ) ) )  <-> 
( P  ||  (
( A  x.  D
)  +  ( C  x.  B ) )  \/  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) ) ) )
31147, 91, 245, 310syl3anc 1292 . . . 4  |-  ( ph  ->  ( P  ||  (
( ( A  x.  D )  +  ( C  x.  B ) )  x.  ( ( A  x.  D )  -  ( C  x.  B ) ) )  <-> 
( P  ||  (
( A  x.  D
)  +  ( C  x.  B ) )  \/  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) ) ) )
312309, 311mpbid 215 . . 3  |-  ( ph  ->  ( P  ||  (
( A  x.  D
)  +  ( C  x.  B ) )  \/  P  ||  (
( A  x.  D
)  -  ( C  x.  B ) ) ) )
313196, 305, 312mpjaodan 803 . 2  |-  ( ph  ->  A  =  C )
314313oveq1d 6323 . . . . 5  |-  ( ph  ->  ( A ^ 2 )  =  ( C ^ 2 ) )
315314oveq2d 6324 . . . 4  |-  ( ph  ->  ( P  -  ( A ^ 2 ) )  =  ( P  -  ( C ^ 2 ) ) )
316315, 220, 2243eqtr3d 2513 . . 3  |-  ( ph  ->  ( B ^ 2 )  =  ( D ^ 2 ) )
3177, 41, 11, 129, 316sq11d 12490 . 2  |-  ( ph  ->  B  =  D )
318313, 317jca 541 1  |-  ( ph  ->  ( A  =  C  /\  B  =  D ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 189    \/ wo 375    /\ wa 376    = wceq 1452    e. wcel 1904    =/= wne 2641   class class class wbr 4395  (class class class)co 6308   CCcc 9555   RRcr 9556   0cc0 9557   1c1 9558    + caddc 9560    x. cmul 9562    < clt 9693    <_ cle 9694    - cmin 9880   NNcn 10631   2c2 10681   NN0cn0 10893   ZZcz 10961   ^cexp 12310    || cdvds 14382    gcd cgcd 14547   Primecprime 14701
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1677  ax-4 1690  ax-5 1766  ax-6 1813  ax-7 1859  ax-8 1906  ax-9 1913  ax-10 1932  ax-11 1937  ax-12 1950  ax-13 2104  ax-ext 2451  ax-sep 4518  ax-nul 4527  ax-pow 4579  ax-pr 4639  ax-un 6602  ax-cnex 9613  ax-resscn 9614  ax-1cn 9615  ax-icn 9616  ax-addcl 9617  ax-addrcl 9618  ax-mulcl 9619  ax-mulrcl 9620  ax-mulcom 9621  ax-addass 9622  ax-mulass 9623  ax-distr 9624  ax-i2m1 9625  ax-1ne0 9626  ax-1rid 9627  ax-rnegex 9628  ax-rrecex 9629  ax-cnre 9630  ax-pre-lttri 9631  ax-pre-lttrn 9632  ax-pre-ltadd 9633  ax-pre-mulgt0 9634  ax-pre-sup 9635
This theorem depends on definitions:  df-bi 190  df-or 377  df-an 378  df-3or 1008  df-3an 1009  df-tru 1455  df-ex 1672  df-nf 1676  df-sb 1806  df-eu 2323  df-mo 2324  df-clab 2458  df-cleq 2464  df-clel 2467  df-nfc 2601  df-ne 2643  df-nel 2644  df-ral 2761  df-rex 2762  df-reu 2763  df-rmo 2764  df-rab 2765  df-v 3033  df-sbc 3256  df-csb 3350  df-dif 3393  df-un 3395  df-in 3397  df-ss 3404  df-pss 3406  df-nul 3723  df-if 3873  df-pw 3944  df-sn 3960  df-pr 3962  df-tp 3964  df-op 3966  df-uni 4191  df-int 4227  df-iun 4271  df-br 4396  df-opab 4455  df-mpt 4456  df-tr 4491  df-eprel 4750  df-id 4754  df-po 4760  df-so 4761  df-fr 4798  df-we 4800  df-xp 4845  df-rel 4846  df-cnv 4847  df-co 4848  df-dm 4849  df-rn 4850  df-res 4851  df-ima 4852  df-pred 5387  df-ord 5433  df-on 5434  df-lim 5435  df-suc 5436  df-iota 5553  df-fun 5591  df-fn 5592  df-f 5593  df-f1 5594  df-fo 5595  df-f1o 5596  df-fv 5597  df-riota 6270  df-ov 6311  df-oprab 6312  df-mpt2 6313  df-om 6712  df-2nd 6813  df-wrecs 7046  df-recs 7108  df-rdg 7146  df-1o 7200  df-2o 7201  df-oadd 7204  df-er 7381  df-en 7588  df-dom 7589  df-sdom 7590  df-fin 7591  df-sup 7974  df-inf 7975  df-pnf 9695  df-mnf 9696  df-xr 9697  df-ltxr 9698  df-le 9699  df-sub 9882  df-neg 9883  df-div 10292  df-nn 10632  df-2 10690  df-3 10691  df-n0 10894  df-z 10962  df-uz 11183  df-rp 11326  df-fl 12061  df-mod 12130  df-seq 12252  df-exp 12311  df-cj 13239  df-re 13240  df-im 13241  df-sqrt 13375  df-abs 13376  df-dvds 14383  df-gcd 14548  df-prm 14702
This theorem is referenced by:  2sqmo  28485
  Copyright terms: Public domain W3C validator