Step |
Hyp |
Ref |
Expression |
1 |
|
bezout.1 |
|- M = { z e. NN | E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) } |
2 |
|
bezout.3 |
|- ( ph -> A e. ZZ ) |
3 |
|
bezout.4 |
|- ( ph -> B e. ZZ ) |
4 |
|
bezout.2 |
|- G = inf ( M , RR , < ) |
5 |
|
bezout.5 |
|- ( ph -> -. ( A = 0 /\ B = 0 ) ) |
6 |
|
gcddvds |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( A gcd B ) || A /\ ( A gcd B ) || B ) ) |
7 |
2 3 6
|
syl2anc |
|- ( ph -> ( ( A gcd B ) || A /\ ( A gcd B ) || B ) ) |
8 |
7
|
simpld |
|- ( ph -> ( A gcd B ) || A ) |
9 |
2 3
|
gcdcld |
|- ( ph -> ( A gcd B ) e. NN0 ) |
10 |
9
|
nn0zd |
|- ( ph -> ( A gcd B ) e. ZZ ) |
11 |
|
divides |
|- ( ( ( A gcd B ) e. ZZ /\ A e. ZZ ) -> ( ( A gcd B ) || A <-> E. s e. ZZ ( s x. ( A gcd B ) ) = A ) ) |
12 |
10 2 11
|
syl2anc |
|- ( ph -> ( ( A gcd B ) || A <-> E. s e. ZZ ( s x. ( A gcd B ) ) = A ) ) |
13 |
8 12
|
mpbid |
|- ( ph -> E. s e. ZZ ( s x. ( A gcd B ) ) = A ) |
14 |
7
|
simprd |
|- ( ph -> ( A gcd B ) || B ) |
15 |
|
divides |
|- ( ( ( A gcd B ) e. ZZ /\ B e. ZZ ) -> ( ( A gcd B ) || B <-> E. t e. ZZ ( t x. ( A gcd B ) ) = B ) ) |
16 |
10 3 15
|
syl2anc |
|- ( ph -> ( ( A gcd B ) || B <-> E. t e. ZZ ( t x. ( A gcd B ) ) = B ) ) |
17 |
14 16
|
mpbid |
|- ( ph -> E. t e. ZZ ( t x. ( A gcd B ) ) = B ) |
18 |
|
reeanv |
|- ( E. s e. ZZ E. t e. ZZ ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) <-> ( E. s e. ZZ ( s x. ( A gcd B ) ) = A /\ E. t e. ZZ ( t x. ( A gcd B ) ) = B ) ) |
19 |
1 2 3 4 5
|
bezoutlem2 |
|- ( ph -> G e. M ) |
20 |
|
oveq2 |
|- ( x = u -> ( A x. x ) = ( A x. u ) ) |
21 |
20
|
oveq1d |
|- ( x = u -> ( ( A x. x ) + ( B x. y ) ) = ( ( A x. u ) + ( B x. y ) ) ) |
22 |
21
|
eqeq2d |
|- ( x = u -> ( z = ( ( A x. x ) + ( B x. y ) ) <-> z = ( ( A x. u ) + ( B x. y ) ) ) ) |
23 |
|
oveq2 |
|- ( y = v -> ( B x. y ) = ( B x. v ) ) |
24 |
23
|
oveq2d |
|- ( y = v -> ( ( A x. u ) + ( B x. y ) ) = ( ( A x. u ) + ( B x. v ) ) ) |
25 |
24
|
eqeq2d |
|- ( y = v -> ( z = ( ( A x. u ) + ( B x. y ) ) <-> z = ( ( A x. u ) + ( B x. v ) ) ) ) |
26 |
22 25
|
cbvrex2vw |
|- ( E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) <-> E. u e. ZZ E. v e. ZZ z = ( ( A x. u ) + ( B x. v ) ) ) |
27 |
|
eqeq1 |
|- ( z = G -> ( z = ( ( A x. u ) + ( B x. v ) ) <-> G = ( ( A x. u ) + ( B x. v ) ) ) ) |
28 |
27
|
2rexbidv |
|- ( z = G -> ( E. u e. ZZ E. v e. ZZ z = ( ( A x. u ) + ( B x. v ) ) <-> E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) ) ) |
29 |
26 28
|
syl5bb |
|- ( z = G -> ( E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) <-> E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) ) ) |
30 |
29 1
|
elrab2 |
|- ( G e. M <-> ( G e. NN /\ E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) ) ) |
31 |
19 30
|
sylib |
|- ( ph -> ( G e. NN /\ E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) ) ) |
32 |
31
|
simprd |
|- ( ph -> E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) ) |
33 |
|
simprrl |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> s e. ZZ ) |
34 |
|
simprll |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> u e. ZZ ) |
35 |
33 34
|
zmulcld |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( s x. u ) e. ZZ ) |
36 |
|
simprrr |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> t e. ZZ ) |
37 |
|
simprlr |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> v e. ZZ ) |
38 |
36 37
|
zmulcld |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( t x. v ) e. ZZ ) |
39 |
35 38
|
zaddcld |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( s x. u ) + ( t x. v ) ) e. ZZ ) |
40 |
10
|
adantr |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( A gcd B ) e. ZZ ) |
41 |
|
dvdsmul2 |
|- ( ( ( ( s x. u ) + ( t x. v ) ) e. ZZ /\ ( A gcd B ) e. ZZ ) -> ( A gcd B ) || ( ( ( s x. u ) + ( t x. v ) ) x. ( A gcd B ) ) ) |
42 |
39 40 41
|
syl2anc |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( A gcd B ) || ( ( ( s x. u ) + ( t x. v ) ) x. ( A gcd B ) ) ) |
43 |
35
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( s x. u ) e. CC ) |
44 |
40
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( A gcd B ) e. CC ) |
45 |
38
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( t x. v ) e. CC ) |
46 |
33
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> s e. CC ) |
47 |
34
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> u e. CC ) |
48 |
46 47 44
|
mul32d |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( s x. u ) x. ( A gcd B ) ) = ( ( s x. ( A gcd B ) ) x. u ) ) |
49 |
36
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> t e. CC ) |
50 |
37
|
zcnd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> v e. CC ) |
51 |
49 50 44
|
mul32d |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( t x. v ) x. ( A gcd B ) ) = ( ( t x. ( A gcd B ) ) x. v ) ) |
52 |
48 51
|
oveq12d |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( ( s x. u ) x. ( A gcd B ) ) + ( ( t x. v ) x. ( A gcd B ) ) ) = ( ( ( s x. ( A gcd B ) ) x. u ) + ( ( t x. ( A gcd B ) ) x. v ) ) ) |
53 |
43 44 45 52
|
joinlmuladdmuld |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( ( s x. u ) + ( t x. v ) ) x. ( A gcd B ) ) = ( ( ( s x. ( A gcd B ) ) x. u ) + ( ( t x. ( A gcd B ) ) x. v ) ) ) |
54 |
42 53
|
breqtrd |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( A gcd B ) || ( ( ( s x. ( A gcd B ) ) x. u ) + ( ( t x. ( A gcd B ) ) x. v ) ) ) |
55 |
|
oveq1 |
|- ( ( s x. ( A gcd B ) ) = A -> ( ( s x. ( A gcd B ) ) x. u ) = ( A x. u ) ) |
56 |
|
oveq1 |
|- ( ( t x. ( A gcd B ) ) = B -> ( ( t x. ( A gcd B ) ) x. v ) = ( B x. v ) ) |
57 |
55 56
|
oveqan12d |
|- ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( ( ( s x. ( A gcd B ) ) x. u ) + ( ( t x. ( A gcd B ) ) x. v ) ) = ( ( A x. u ) + ( B x. v ) ) ) |
58 |
57
|
breq2d |
|- ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( ( A gcd B ) || ( ( ( s x. ( A gcd B ) ) x. u ) + ( ( t x. ( A gcd B ) ) x. v ) ) <-> ( A gcd B ) || ( ( A x. u ) + ( B x. v ) ) ) ) |
59 |
54 58
|
syl5ibcom |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || ( ( A x. u ) + ( B x. v ) ) ) ) |
60 |
|
breq2 |
|- ( G = ( ( A x. u ) + ( B x. v ) ) -> ( ( A gcd B ) || G <-> ( A gcd B ) || ( ( A x. u ) + ( B x. v ) ) ) ) |
61 |
60
|
imbi2d |
|- ( G = ( ( A x. u ) + ( B x. v ) ) -> ( ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) <-> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || ( ( A x. u ) + ( B x. v ) ) ) ) ) |
62 |
59 61
|
syl5ibrcom |
|- ( ( ph /\ ( ( u e. ZZ /\ v e. ZZ ) /\ ( s e. ZZ /\ t e. ZZ ) ) ) -> ( G = ( ( A x. u ) + ( B x. v ) ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) ) |
63 |
62
|
expr |
|- ( ( ph /\ ( u e. ZZ /\ v e. ZZ ) ) -> ( ( s e. ZZ /\ t e. ZZ ) -> ( G = ( ( A x. u ) + ( B x. v ) ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) ) ) |
64 |
63
|
com23 |
|- ( ( ph /\ ( u e. ZZ /\ v e. ZZ ) ) -> ( G = ( ( A x. u ) + ( B x. v ) ) -> ( ( s e. ZZ /\ t e. ZZ ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) ) ) |
65 |
64
|
rexlimdvva |
|- ( ph -> ( E. u e. ZZ E. v e. ZZ G = ( ( A x. u ) + ( B x. v ) ) -> ( ( s e. ZZ /\ t e. ZZ ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) ) ) |
66 |
32 65
|
mpd |
|- ( ph -> ( ( s e. ZZ /\ t e. ZZ ) -> ( ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) ) |
67 |
66
|
rexlimdvv |
|- ( ph -> ( E. s e. ZZ E. t e. ZZ ( ( s x. ( A gcd B ) ) = A /\ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) |
68 |
18 67
|
syl5bir |
|- ( ph -> ( ( E. s e. ZZ ( s x. ( A gcd B ) ) = A /\ E. t e. ZZ ( t x. ( A gcd B ) ) = B ) -> ( A gcd B ) || G ) ) |
69 |
13 17 68
|
mp2and |
|- ( ph -> ( A gcd B ) || G ) |
70 |
31
|
simpld |
|- ( ph -> G e. NN ) |
71 |
|
dvdsle |
|- ( ( ( A gcd B ) e. ZZ /\ G e. NN ) -> ( ( A gcd B ) || G -> ( A gcd B ) <_ G ) ) |
72 |
10 70 71
|
syl2anc |
|- ( ph -> ( ( A gcd B ) || G -> ( A gcd B ) <_ G ) ) |
73 |
69 72
|
mpd |
|- ( ph -> ( A gcd B ) <_ G ) |
74 |
|
breq2 |
|- ( A = 0 -> ( G || A <-> G || 0 ) ) |
75 |
1 2 3
|
bezoutlem1 |
|- ( ph -> ( A =/= 0 -> ( abs ` A ) e. M ) ) |
76 |
1 2 3 4 5
|
bezoutlem3 |
|- ( ph -> ( ( abs ` A ) e. M -> G || ( abs ` A ) ) ) |
77 |
75 76
|
syld |
|- ( ph -> ( A =/= 0 -> G || ( abs ` A ) ) ) |
78 |
70
|
nnzd |
|- ( ph -> G e. ZZ ) |
79 |
|
dvdsabsb |
|- ( ( G e. ZZ /\ A e. ZZ ) -> ( G || A <-> G || ( abs ` A ) ) ) |
80 |
78 2 79
|
syl2anc |
|- ( ph -> ( G || A <-> G || ( abs ` A ) ) ) |
81 |
77 80
|
sylibrd |
|- ( ph -> ( A =/= 0 -> G || A ) ) |
82 |
81
|
imp |
|- ( ( ph /\ A =/= 0 ) -> G || A ) |
83 |
|
dvds0 |
|- ( G e. ZZ -> G || 0 ) |
84 |
78 83
|
syl |
|- ( ph -> G || 0 ) |
85 |
74 82 84
|
pm2.61ne |
|- ( ph -> G || A ) |
86 |
|
breq2 |
|- ( B = 0 -> ( G || B <-> G || 0 ) ) |
87 |
|
eqid |
|- { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } = { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } |
88 |
87 3 2
|
bezoutlem1 |
|- ( ph -> ( B =/= 0 -> ( abs ` B ) e. { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } ) ) |
89 |
|
rexcom |
|- ( E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) <-> E. y e. ZZ E. x e. ZZ z = ( ( A x. x ) + ( B x. y ) ) ) |
90 |
2
|
zcnd |
|- ( ph -> A e. CC ) |
91 |
90
|
adantr |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> A e. CC ) |
92 |
|
zcn |
|- ( x e. ZZ -> x e. CC ) |
93 |
92
|
ad2antll |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> x e. CC ) |
94 |
91 93
|
mulcld |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> ( A x. x ) e. CC ) |
95 |
3
|
zcnd |
|- ( ph -> B e. CC ) |
96 |
95
|
adantr |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> B e. CC ) |
97 |
|
zcn |
|- ( y e. ZZ -> y e. CC ) |
98 |
97
|
ad2antrl |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> y e. CC ) |
99 |
96 98
|
mulcld |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> ( B x. y ) e. CC ) |
100 |
94 99
|
addcomd |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> ( ( A x. x ) + ( B x. y ) ) = ( ( B x. y ) + ( A x. x ) ) ) |
101 |
100
|
eqeq2d |
|- ( ( ph /\ ( y e. ZZ /\ x e. ZZ ) ) -> ( z = ( ( A x. x ) + ( B x. y ) ) <-> z = ( ( B x. y ) + ( A x. x ) ) ) ) |
102 |
101
|
2rexbidva |
|- ( ph -> ( E. y e. ZZ E. x e. ZZ z = ( ( A x. x ) + ( B x. y ) ) <-> E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) ) ) |
103 |
89 102
|
syl5bb |
|- ( ph -> ( E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) <-> E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) ) ) |
104 |
103
|
rabbidv |
|- ( ph -> { z e. NN | E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) } = { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } ) |
105 |
1 104
|
eqtrid |
|- ( ph -> M = { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } ) |
106 |
105
|
eleq2d |
|- ( ph -> ( ( abs ` B ) e. M <-> ( abs ` B ) e. { z e. NN | E. y e. ZZ E. x e. ZZ z = ( ( B x. y ) + ( A x. x ) ) } ) ) |
107 |
88 106
|
sylibrd |
|- ( ph -> ( B =/= 0 -> ( abs ` B ) e. M ) ) |
108 |
1 2 3 4 5
|
bezoutlem3 |
|- ( ph -> ( ( abs ` B ) e. M -> G || ( abs ` B ) ) ) |
109 |
107 108
|
syld |
|- ( ph -> ( B =/= 0 -> G || ( abs ` B ) ) ) |
110 |
|
dvdsabsb |
|- ( ( G e. ZZ /\ B e. ZZ ) -> ( G || B <-> G || ( abs ` B ) ) ) |
111 |
78 3 110
|
syl2anc |
|- ( ph -> ( G || B <-> G || ( abs ` B ) ) ) |
112 |
109 111
|
sylibrd |
|- ( ph -> ( B =/= 0 -> G || B ) ) |
113 |
112
|
imp |
|- ( ( ph /\ B =/= 0 ) -> G || B ) |
114 |
86 113 84
|
pm2.61ne |
|- ( ph -> G || B ) |
115 |
|
dvdslegcd |
|- ( ( ( G e. ZZ /\ A e. ZZ /\ B e. ZZ ) /\ -. ( A = 0 /\ B = 0 ) ) -> ( ( G || A /\ G || B ) -> G <_ ( A gcd B ) ) ) |
116 |
78 2 3 5 115
|
syl31anc |
|- ( ph -> ( ( G || A /\ G || B ) -> G <_ ( A gcd B ) ) ) |
117 |
85 114 116
|
mp2and |
|- ( ph -> G <_ ( A gcd B ) ) |
118 |
9
|
nn0red |
|- ( ph -> ( A gcd B ) e. RR ) |
119 |
70
|
nnred |
|- ( ph -> G e. RR ) |
120 |
118 119
|
letri3d |
|- ( ph -> ( ( A gcd B ) = G <-> ( ( A gcd B ) <_ G /\ G <_ ( A gcd B ) ) ) ) |
121 |
73 117 120
|
mpbir2and |
|- ( ph -> ( A gcd B ) = G ) |
122 |
121 19
|
eqeltrd |
|- ( ph -> ( A gcd B ) e. M ) |