| Step | Hyp | Ref | Expression | 
						
							| 1 |  | elnn0 |  |-  ( M e. NN0 <-> ( M e. NN \/ M = 0 ) ) | 
						
							| 2 |  | nnre |  |-  ( M e. NN -> M e. RR ) | 
						
							| 3 | 2 | adantr |  |-  ( ( M e. NN /\ N e. NN0 ) -> M e. RR ) | 
						
							| 4 |  | nnge1 |  |-  ( M e. NN -> 1 <_ M ) | 
						
							| 5 | 4 | adantr |  |-  ( ( M e. NN /\ N e. NN0 ) -> 1 <_ M ) | 
						
							| 6 |  | nn0z |  |-  ( N e. NN0 -> N e. ZZ ) | 
						
							| 7 | 6 | adantl |  |-  ( ( M e. NN /\ N e. NN0 ) -> N e. ZZ ) | 
						
							| 8 |  | uzid |  |-  ( N e. ZZ -> N e. ( ZZ>= ` N ) ) | 
						
							| 9 |  | peano2uz |  |-  ( N e. ( ZZ>= ` N ) -> ( N + 1 ) e. ( ZZ>= ` N ) ) | 
						
							| 10 | 7 8 9 | 3syl |  |-  ( ( M e. NN /\ N e. NN0 ) -> ( N + 1 ) e. ( ZZ>= ` N ) ) | 
						
							| 11 | 3 5 10 | leexp2ad |  |-  ( ( M e. NN /\ N e. NN0 ) -> ( M ^ N ) <_ ( M ^ ( N + 1 ) ) ) | 
						
							| 12 |  | nnnn0 |  |-  ( M e. NN -> M e. NN0 ) | 
						
							| 13 |  | faclbnd |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) | 
						
							| 14 | 12 13 | sylan |  |-  ( ( M e. NN /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) | 
						
							| 15 |  | nn0re |  |-  ( M e. NN0 -> M e. RR ) | 
						
							| 16 |  | reexpcl |  |-  ( ( M e. RR /\ N e. NN0 ) -> ( M ^ N ) e. RR ) | 
						
							| 17 | 15 16 | sylan |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ N ) e. RR ) | 
						
							| 18 |  | peano2nn0 |  |-  ( N e. NN0 -> ( N + 1 ) e. NN0 ) | 
						
							| 19 |  | reexpcl |  |-  ( ( M e. RR /\ ( N + 1 ) e. NN0 ) -> ( M ^ ( N + 1 ) ) e. RR ) | 
						
							| 20 | 15 18 19 | syl2an |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ ( N + 1 ) ) e. RR ) | 
						
							| 21 |  | reexpcl |  |-  ( ( M e. RR /\ M e. NN0 ) -> ( M ^ M ) e. RR ) | 
						
							| 22 | 15 21 | mpancom |  |-  ( M e. NN0 -> ( M ^ M ) e. RR ) | 
						
							| 23 |  | faccl |  |-  ( N e. NN0 -> ( ! ` N ) e. NN ) | 
						
							| 24 | 23 | nnred |  |-  ( N e. NN0 -> ( ! ` N ) e. RR ) | 
						
							| 25 |  | remulcl |  |-  ( ( ( M ^ M ) e. RR /\ ( ! ` N ) e. RR ) -> ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) | 
						
							| 26 | 22 24 25 | syl2an |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) | 
						
							| 27 |  | letr |  |-  ( ( ( M ^ N ) e. RR /\ ( M ^ ( N + 1 ) ) e. RR /\ ( ( M ^ M ) x. ( ! ` N ) ) e. RR ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) | 
						
							| 28 | 17 20 26 27 | syl3anc |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) | 
						
							| 29 | 12 28 | sylan |  |-  ( ( M e. NN /\ N e. NN0 ) -> ( ( ( M ^ N ) <_ ( M ^ ( N + 1 ) ) /\ ( M ^ ( N + 1 ) ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) ) | 
						
							| 30 | 11 14 29 | mp2and |  |-  ( ( M e. NN /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) | 
						
							| 31 |  | elnn0 |  |-  ( N e. NN0 <-> ( N e. NN \/ N = 0 ) ) | 
						
							| 32 |  | 0exp |  |-  ( N e. NN -> ( 0 ^ N ) = 0 ) | 
						
							| 33 |  | 0le1 |  |-  0 <_ 1 | 
						
							| 34 | 32 33 | eqbrtrdi |  |-  ( N e. NN -> ( 0 ^ N ) <_ 1 ) | 
						
							| 35 |  | oveq2 |  |-  ( N = 0 -> ( 0 ^ N ) = ( 0 ^ 0 ) ) | 
						
							| 36 |  | 0exp0e1 |  |-  ( 0 ^ 0 ) = 1 | 
						
							| 37 |  | 1le1 |  |-  1 <_ 1 | 
						
							| 38 | 36 37 | eqbrtri |  |-  ( 0 ^ 0 ) <_ 1 | 
						
							| 39 | 35 38 | eqbrtrdi |  |-  ( N = 0 -> ( 0 ^ N ) <_ 1 ) | 
						
							| 40 | 34 39 | jaoi |  |-  ( ( N e. NN \/ N = 0 ) -> ( 0 ^ N ) <_ 1 ) | 
						
							| 41 | 31 40 | sylbi |  |-  ( N e. NN0 -> ( 0 ^ N ) <_ 1 ) | 
						
							| 42 |  | 1nn |  |-  1 e. NN | 
						
							| 43 |  | nnmulcl |  |-  ( ( 1 e. NN /\ ( ! ` N ) e. NN ) -> ( 1 x. ( ! ` N ) ) e. NN ) | 
						
							| 44 | 42 23 43 | sylancr |  |-  ( N e. NN0 -> ( 1 x. ( ! ` N ) ) e. NN ) | 
						
							| 45 | 44 | nnge1d |  |-  ( N e. NN0 -> 1 <_ ( 1 x. ( ! ` N ) ) ) | 
						
							| 46 |  | 0re |  |-  0 e. RR | 
						
							| 47 |  | reexpcl |  |-  ( ( 0 e. RR /\ N e. NN0 ) -> ( 0 ^ N ) e. RR ) | 
						
							| 48 | 46 47 | mpan |  |-  ( N e. NN0 -> ( 0 ^ N ) e. RR ) | 
						
							| 49 |  | 1re |  |-  1 e. RR | 
						
							| 50 |  | remulcl |  |-  ( ( 1 e. RR /\ ( ! ` N ) e. RR ) -> ( 1 x. ( ! ` N ) ) e. RR ) | 
						
							| 51 | 49 24 50 | sylancr |  |-  ( N e. NN0 -> ( 1 x. ( ! ` N ) ) e. RR ) | 
						
							| 52 |  | letr |  |-  ( ( ( 0 ^ N ) e. RR /\ 1 e. RR /\ ( 1 x. ( ! ` N ) ) e. RR ) -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) | 
						
							| 53 | 49 52 | mp3an2 |  |-  ( ( ( 0 ^ N ) e. RR /\ ( 1 x. ( ! ` N ) ) e. RR ) -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) | 
						
							| 54 | 48 51 53 | syl2anc |  |-  ( N e. NN0 -> ( ( ( 0 ^ N ) <_ 1 /\ 1 <_ ( 1 x. ( ! ` N ) ) ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) | 
						
							| 55 | 41 45 54 | mp2and |  |-  ( N e. NN0 -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) | 
						
							| 56 | 55 | adantl |  |-  ( ( M = 0 /\ N e. NN0 ) -> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) | 
						
							| 57 |  | oveq1 |  |-  ( M = 0 -> ( M ^ N ) = ( 0 ^ N ) ) | 
						
							| 58 |  | oveq12 |  |-  ( ( M = 0 /\ M = 0 ) -> ( M ^ M ) = ( 0 ^ 0 ) ) | 
						
							| 59 | 58 | anidms |  |-  ( M = 0 -> ( M ^ M ) = ( 0 ^ 0 ) ) | 
						
							| 60 | 59 36 | eqtrdi |  |-  ( M = 0 -> ( M ^ M ) = 1 ) | 
						
							| 61 | 60 | oveq1d |  |-  ( M = 0 -> ( ( M ^ M ) x. ( ! ` N ) ) = ( 1 x. ( ! ` N ) ) ) | 
						
							| 62 | 57 61 | breq12d |  |-  ( M = 0 -> ( ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) <-> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) | 
						
							| 63 | 62 | adantr |  |-  ( ( M = 0 /\ N e. NN0 ) -> ( ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) <-> ( 0 ^ N ) <_ ( 1 x. ( ! ` N ) ) ) ) | 
						
							| 64 | 56 63 | mpbird |  |-  ( ( M = 0 /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) | 
						
							| 65 | 30 64 | jaoian |  |-  ( ( ( M e. NN \/ M = 0 ) /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) | 
						
							| 66 | 1 65 | sylanb |  |-  ( ( M e. NN0 /\ N e. NN0 ) -> ( M ^ N ) <_ ( ( M ^ M ) x. ( ! ` N ) ) ) |