| Step | Hyp | Ref | Expression | 
						
							| 1 |  | metakunt34.1 |  |-  ( ph -> M e. NN ) | 
						
							| 2 |  | metakunt34.2 |  |-  ( ph -> I e. NN ) | 
						
							| 3 |  | metakunt34.3 |  |-  ( ph -> I <_ M ) | 
						
							| 4 |  | metakunt34.4 |  |-  D = ( w e. ( 1 ... M ) |-> if ( w = I , w , if ( w < I , ( ( w + ( M - I ) ) + if ( I <_ ( w + ( M - I ) ) , 1 , 0 ) ) , ( ( w - I ) + if ( I <_ ( w - I ) , 1 , 0 ) ) ) ) ) | 
						
							| 5 |  | eqid |  |-  ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) = ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) | 
						
							| 6 |  | eqid |  |-  ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) = ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) | 
						
							| 7 | 1 2 3 5 6 | metakunt14 |  |-  ( ph -> ( ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) /\ `' ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) = ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) ) ) | 
						
							| 8 | 7 | simpld |  |-  ( ph -> ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 9 |  | f1ocnv |  |-  ( ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) -> `' ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 10 | 8 9 | syl |  |-  ( ph -> `' ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 11 | 7 | simprd |  |-  ( ph -> `' ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) = ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) ) | 
						
							| 12 | 11 | f1oeq1d |  |-  ( ph -> ( `' ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) <-> ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) ) | 
						
							| 13 | 10 12 | mpbid |  |-  ( ph -> ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 14 |  | eqid |  |-  ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) = ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) | 
						
							| 15 | 1 2 3 14 | metakunt25 |  |-  ( ph -> ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 16 |  | f1oco |  |-  ( ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) /\ ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) -> ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 17 | 15 8 16 | syl2anc |  |-  ( ph -> ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 18 |  | f1oco |  |-  ( ( ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) /\ ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) -> ( ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) o. ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 19 | 13 17 18 | syl2anc |  |-  ( ph -> ( ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) o. ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) | 
						
							| 20 | 1 2 3 5 14 6 4 | metakunt33 |  |-  ( ph -> ( ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) o. ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) ) = D ) | 
						
							| 21 | 20 | f1oeq1d |  |-  ( ph -> ( ( ( z e. ( 1 ... M ) |-> if ( z = M , I , if ( z < I , z , ( z + 1 ) ) ) ) o. ( ( y e. ( 1 ... M ) |-> if ( y = M , M , if ( y < I , ( y + ( M - I ) ) , ( y + ( 1 - I ) ) ) ) ) o. ( x e. ( 1 ... M ) |-> if ( x = I , M , if ( x < I , x , ( x - 1 ) ) ) ) ) ) : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) <-> D : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) ) | 
						
							| 22 | 19 21 | mpbid |  |-  ( ph -> D : ( 1 ... M ) -1-1-onto-> ( 1 ... M ) ) |