This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for bezout . (Contributed by Mario Carneiro, 22-Feb-2014)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | bezout.1 | |- M = { z e. NN | E. x e. ZZ E. y e. ZZ z = ( ( A x. x ) + ( B x. y ) ) } |
|
| bezout.3 | |- ( ph -> A e. ZZ ) |
||
| bezout.4 | |- ( ph -> B e. ZZ ) |
||
| bezout.2 | |- G = inf ( M , RR , < ) |
||
| bezout.5 | |- ( ph -> -. ( A = 0 /\ B = 0 ) ) |
||
| Assertion | bezoutlem4 | |- ( ph -> ( A gcd B ) e. M ) |
| 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 | bitrid | |- ( 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 | biimtrrid | |- ( 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 | bitrid | |- ( 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 ) |