| 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 ) |