| Step |
Hyp |
Ref |
Expression |
| 1 |
|
eucalgval.1 |
|- E = ( x e. NN0 , y e. NN0 |-> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) ) |
| 2 |
|
nnne0 |
|- ( y e. NN -> y =/= 0 ) |
| 3 |
2
|
adantl |
|- ( ( x e. NN0 /\ y e. NN ) -> y =/= 0 ) |
| 4 |
3
|
neneqd |
|- ( ( x e. NN0 /\ y e. NN ) -> -. y = 0 ) |
| 5 |
4
|
iffalsed |
|- ( ( x e. NN0 /\ y e. NN ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) = <. y , ( x mod y ) >. ) |
| 6 |
|
nnnn0 |
|- ( y e. NN -> y e. NN0 ) |
| 7 |
6
|
adantl |
|- ( ( x e. NN0 /\ y e. NN ) -> y e. NN0 ) |
| 8 |
|
nn0z |
|- ( x e. NN0 -> x e. ZZ ) |
| 9 |
|
zmodcl |
|- ( ( x e. ZZ /\ y e. NN ) -> ( x mod y ) e. NN0 ) |
| 10 |
8 9
|
sylan |
|- ( ( x e. NN0 /\ y e. NN ) -> ( x mod y ) e. NN0 ) |
| 11 |
7 10
|
opelxpd |
|- ( ( x e. NN0 /\ y e. NN ) -> <. y , ( x mod y ) >. e. ( NN0 X. NN0 ) ) |
| 12 |
5 11
|
eqeltrd |
|- ( ( x e. NN0 /\ y e. NN ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) ) |
| 13 |
12
|
adantlr |
|- ( ( ( x e. NN0 /\ y e. NN0 ) /\ y e. NN ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) ) |
| 14 |
|
iftrue |
|- ( y = 0 -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) = <. x , y >. ) |
| 15 |
14
|
adantl |
|- ( ( ( x e. NN0 /\ y e. NN0 ) /\ y = 0 ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) = <. x , y >. ) |
| 16 |
|
opelxpi |
|- ( ( x e. NN0 /\ y e. NN0 ) -> <. x , y >. e. ( NN0 X. NN0 ) ) |
| 17 |
16
|
adantr |
|- ( ( ( x e. NN0 /\ y e. NN0 ) /\ y = 0 ) -> <. x , y >. e. ( NN0 X. NN0 ) ) |
| 18 |
15 17
|
eqeltrd |
|- ( ( ( x e. NN0 /\ y e. NN0 ) /\ y = 0 ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) ) |
| 19 |
|
simpr |
|- ( ( x e. NN0 /\ y e. NN0 ) -> y e. NN0 ) |
| 20 |
|
elnn0 |
|- ( y e. NN0 <-> ( y e. NN \/ y = 0 ) ) |
| 21 |
19 20
|
sylib |
|- ( ( x e. NN0 /\ y e. NN0 ) -> ( y e. NN \/ y = 0 ) ) |
| 22 |
13 18 21
|
mpjaodan |
|- ( ( x e. NN0 /\ y e. NN0 ) -> if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) ) |
| 23 |
22
|
rgen2 |
|- A. x e. NN0 A. y e. NN0 if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) |
| 24 |
1
|
fmpo |
|- ( A. x e. NN0 A. y e. NN0 if ( y = 0 , <. x , y >. , <. y , ( x mod y ) >. ) e. ( NN0 X. NN0 ) <-> E : ( NN0 X. NN0 ) --> ( NN0 X. NN0 ) ) |
| 25 |
23 24
|
mpbi |
|- E : ( NN0 X. NN0 ) --> ( NN0 X. NN0 ) |