| Step | Hyp | Ref | Expression | 
						
							| 1 |  | elnn0 |  |-  ( K e. NN0 <-> ( K e. NN \/ K = 0 ) ) | 
						
							| 2 |  | 0exp |  |-  ( K e. NN -> ( 0 ^ K ) = 0 ) | 
						
							| 3 | 2 | adantl |  |-  ( ( M e. NN0 /\ K e. NN ) -> ( 0 ^ K ) = 0 ) | 
						
							| 4 |  | nnnn0 |  |-  ( K e. NN -> K e. NN0 ) | 
						
							| 5 |  | 2nn0 |  |-  2 e. NN0 | 
						
							| 6 |  | nn0sqcl |  |-  ( K e. NN0 -> ( K ^ 2 ) e. NN0 ) | 
						
							| 7 |  | nn0expcl |  |-  ( ( 2 e. NN0 /\ ( K ^ 2 ) e. NN0 ) -> ( 2 ^ ( K ^ 2 ) ) e. NN0 ) | 
						
							| 8 | 5 6 7 | sylancr |  |-  ( K e. NN0 -> ( 2 ^ ( K ^ 2 ) ) e. NN0 ) | 
						
							| 9 | 8 | adantl |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( 2 ^ ( K ^ 2 ) ) e. NN0 ) | 
						
							| 10 |  | nn0addcl |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( M + K ) e. NN0 ) | 
						
							| 11 |  | nn0expcl |  |-  ( ( M e. NN0 /\ ( M + K ) e. NN0 ) -> ( M ^ ( M + K ) ) e. NN0 ) | 
						
							| 12 | 10 11 | syldan |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( M ^ ( M + K ) ) e. NN0 ) | 
						
							| 13 | 9 12 | nn0mulcld |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) e. NN0 ) | 
						
							| 14 | 4 13 | sylan2 |  |-  ( ( M e. NN0 /\ K e. NN ) -> ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) e. NN0 ) | 
						
							| 15 | 14 | nn0ge0d |  |-  ( ( M e. NN0 /\ K e. NN ) -> 0 <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 16 | 3 15 | eqbrtrd |  |-  ( ( M e. NN0 /\ K e. NN ) -> ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 17 |  | 1nn |  |-  1 e. NN | 
						
							| 18 |  | elnn0 |  |-  ( M e. NN0 <-> ( M e. NN \/ M = 0 ) ) | 
						
							| 19 |  | nnnn0 |  |-  ( M e. NN -> M e. NN0 ) | 
						
							| 20 |  | 0nn0 |  |-  0 e. NN0 | 
						
							| 21 |  | nn0addcl |  |-  ( ( M e. NN0 /\ 0 e. NN0 ) -> ( M + 0 ) e. NN0 ) | 
						
							| 22 | 19 20 21 | sylancl |  |-  ( M e. NN -> ( M + 0 ) e. NN0 ) | 
						
							| 23 |  | nnexpcl |  |-  ( ( M e. NN /\ ( M + 0 ) e. NN0 ) -> ( M ^ ( M + 0 ) ) e. NN ) | 
						
							| 24 | 22 23 | mpdan |  |-  ( M e. NN -> ( M ^ ( M + 0 ) ) e. NN ) | 
						
							| 25 |  | id |  |-  ( M = 0 -> M = 0 ) | 
						
							| 26 |  | oveq1 |  |-  ( M = 0 -> ( M + 0 ) = ( 0 + 0 ) ) | 
						
							| 27 |  | 00id |  |-  ( 0 + 0 ) = 0 | 
						
							| 28 | 26 27 | eqtrdi |  |-  ( M = 0 -> ( M + 0 ) = 0 ) | 
						
							| 29 | 25 28 | oveq12d |  |-  ( M = 0 -> ( M ^ ( M + 0 ) ) = ( 0 ^ 0 ) ) | 
						
							| 30 |  | 0exp0e1 |  |-  ( 0 ^ 0 ) = 1 | 
						
							| 31 | 29 30 | eqtrdi |  |-  ( M = 0 -> ( M ^ ( M + 0 ) ) = 1 ) | 
						
							| 32 | 31 17 | eqeltrdi |  |-  ( M = 0 -> ( M ^ ( M + 0 ) ) e. NN ) | 
						
							| 33 | 24 32 | jaoi |  |-  ( ( M e. NN \/ M = 0 ) -> ( M ^ ( M + 0 ) ) e. NN ) | 
						
							| 34 | 18 33 | sylbi |  |-  ( M e. NN0 -> ( M ^ ( M + 0 ) ) e. NN ) | 
						
							| 35 |  | nnmulcl |  |-  ( ( 1 e. NN /\ ( M ^ ( M + 0 ) ) e. NN ) -> ( 1 x. ( M ^ ( M + 0 ) ) ) e. NN ) | 
						
							| 36 | 17 34 35 | sylancr |  |-  ( M e. NN0 -> ( 1 x. ( M ^ ( M + 0 ) ) ) e. NN ) | 
						
							| 37 | 36 | nnge1d |  |-  ( M e. NN0 -> 1 <_ ( 1 x. ( M ^ ( M + 0 ) ) ) ) | 
						
							| 38 | 37 | adantr |  |-  ( ( M e. NN0 /\ K = 0 ) -> 1 <_ ( 1 x. ( M ^ ( M + 0 ) ) ) ) | 
						
							| 39 |  | oveq2 |  |-  ( K = 0 -> ( 0 ^ K ) = ( 0 ^ 0 ) ) | 
						
							| 40 | 39 30 | eqtrdi |  |-  ( K = 0 -> ( 0 ^ K ) = 1 ) | 
						
							| 41 |  | sq0i |  |-  ( K = 0 -> ( K ^ 2 ) = 0 ) | 
						
							| 42 | 41 | oveq2d |  |-  ( K = 0 -> ( 2 ^ ( K ^ 2 ) ) = ( 2 ^ 0 ) ) | 
						
							| 43 |  | 2cn |  |-  2 e. CC | 
						
							| 44 |  | exp0 |  |-  ( 2 e. CC -> ( 2 ^ 0 ) = 1 ) | 
						
							| 45 | 43 44 | ax-mp |  |-  ( 2 ^ 0 ) = 1 | 
						
							| 46 | 42 45 | eqtrdi |  |-  ( K = 0 -> ( 2 ^ ( K ^ 2 ) ) = 1 ) | 
						
							| 47 |  | oveq2 |  |-  ( K = 0 -> ( M + K ) = ( M + 0 ) ) | 
						
							| 48 | 47 | oveq2d |  |-  ( K = 0 -> ( M ^ ( M + K ) ) = ( M ^ ( M + 0 ) ) ) | 
						
							| 49 | 46 48 | oveq12d |  |-  ( K = 0 -> ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) = ( 1 x. ( M ^ ( M + 0 ) ) ) ) | 
						
							| 50 | 40 49 | breq12d |  |-  ( K = 0 -> ( ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) <-> 1 <_ ( 1 x. ( M ^ ( M + 0 ) ) ) ) ) | 
						
							| 51 | 50 | adantl |  |-  ( ( M e. NN0 /\ K = 0 ) -> ( ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) <-> 1 <_ ( 1 x. ( M ^ ( M + 0 ) ) ) ) ) | 
						
							| 52 | 38 51 | mpbird |  |-  ( ( M e. NN0 /\ K = 0 ) -> ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 53 | 16 52 | jaodan |  |-  ( ( M e. NN0 /\ ( K e. NN \/ K = 0 ) ) -> ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 54 | 1 53 | sylan2b |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( 0 ^ K ) <_ ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 55 |  | nn0cn |  |-  ( M e. NN0 -> M e. CC ) | 
						
							| 56 | 55 | exp0d |  |-  ( M e. NN0 -> ( M ^ 0 ) = 1 ) | 
						
							| 57 | 56 | oveq2d |  |-  ( M e. NN0 -> ( ( 0 ^ K ) x. ( M ^ 0 ) ) = ( ( 0 ^ K ) x. 1 ) ) | 
						
							| 58 |  | nn0expcl |  |-  ( ( 0 e. NN0 /\ K e. NN0 ) -> ( 0 ^ K ) e. NN0 ) | 
						
							| 59 | 20 58 | mpan |  |-  ( K e. NN0 -> ( 0 ^ K ) e. NN0 ) | 
						
							| 60 | 59 | nn0cnd |  |-  ( K e. NN0 -> ( 0 ^ K ) e. CC ) | 
						
							| 61 | 60 | mulridd |  |-  ( K e. NN0 -> ( ( 0 ^ K ) x. 1 ) = ( 0 ^ K ) ) | 
						
							| 62 | 57 61 | sylan9eq |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( ( 0 ^ K ) x. ( M ^ 0 ) ) = ( 0 ^ K ) ) | 
						
							| 63 | 13 | nn0cnd |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) e. CC ) | 
						
							| 64 | 63 | mulridd |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) = ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) ) | 
						
							| 65 | 54 62 64 | 3brtr4d |  |-  ( ( M e. NN0 /\ K e. NN0 ) -> ( ( 0 ^ K ) x. ( M ^ 0 ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) ) | 
						
							| 66 | 65 | adantr |  |-  ( ( ( M e. NN0 /\ K e. NN0 ) /\ N = 0 ) -> ( ( 0 ^ K ) x. ( M ^ 0 ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) ) | 
						
							| 67 |  | oveq1 |  |-  ( N = 0 -> ( N ^ K ) = ( 0 ^ K ) ) | 
						
							| 68 |  | oveq2 |  |-  ( N = 0 -> ( M ^ N ) = ( M ^ 0 ) ) | 
						
							| 69 | 67 68 | oveq12d |  |-  ( N = 0 -> ( ( N ^ K ) x. ( M ^ N ) ) = ( ( 0 ^ K ) x. ( M ^ 0 ) ) ) | 
						
							| 70 |  | fveq2 |  |-  ( N = 0 -> ( ! ` N ) = ( ! ` 0 ) ) | 
						
							| 71 |  | fac0 |  |-  ( ! ` 0 ) = 1 | 
						
							| 72 | 70 71 | eqtrdi |  |-  ( N = 0 -> ( ! ` N ) = 1 ) | 
						
							| 73 | 72 | oveq2d |  |-  ( N = 0 -> ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. ( ! ` N ) ) = ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) ) | 
						
							| 74 | 69 73 | breq12d |  |-  ( N = 0 -> ( ( ( N ^ K ) x. ( M ^ N ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. ( ! ` N ) ) <-> ( ( 0 ^ K ) x. ( M ^ 0 ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) ) ) | 
						
							| 75 | 74 | adantl |  |-  ( ( ( M e. NN0 /\ K e. NN0 ) /\ N = 0 ) -> ( ( ( N ^ K ) x. ( M ^ N ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. ( ! ` N ) ) <-> ( ( 0 ^ K ) x. ( M ^ 0 ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. 1 ) ) ) | 
						
							| 76 | 66 75 | mpbird |  |-  ( ( ( M e. NN0 /\ K e. NN0 ) /\ N = 0 ) -> ( ( N ^ K ) x. ( M ^ N ) ) <_ ( ( ( 2 ^ ( K ^ 2 ) ) x. ( M ^ ( M + K ) ) ) x. ( ! ` N ) ) ) |