| Step | Hyp | Ref | Expression | 
						
							| 1 |  | elnn0 | ⊢ ( 𝑀  ∈  ℕ0  ↔  ( 𝑀  ∈  ℕ  ∨  𝑀  =  0 ) ) | 
						
							| 2 |  | nnre | ⊢ ( 𝑀  ∈  ℕ  →  𝑀  ∈  ℝ ) | 
						
							| 3 | 2 | adantr | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  𝑀  ∈  ℝ ) | 
						
							| 4 |  | nnge1 | ⊢ ( 𝑀  ∈  ℕ  →  1  ≤  𝑀 ) | 
						
							| 5 | 4 | adantr | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  1  ≤  𝑀 ) | 
						
							| 6 |  | nn0z | ⊢ ( 𝑁  ∈  ℕ0  →  𝑁  ∈  ℤ ) | 
						
							| 7 | 6 | adantl | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  𝑁  ∈  ℤ ) | 
						
							| 8 |  | uzid | ⊢ ( 𝑁  ∈  ℤ  →  𝑁  ∈  ( ℤ≥ ‘ 𝑁 ) ) | 
						
							| 9 |  | peano2uz | ⊢ ( 𝑁  ∈  ( ℤ≥ ‘ 𝑁 )  →  ( 𝑁  +  1 )  ∈  ( ℤ≥ ‘ 𝑁 ) ) | 
						
							| 10 | 7 8 9 | 3syl | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑁  +  1 )  ∈  ( ℤ≥ ‘ 𝑁 ) ) | 
						
							| 11 | 3 5 10 | leexp2ad | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( 𝑀 ↑ ( 𝑁  +  1 ) ) ) | 
						
							| 12 |  | nnnn0 | ⊢ ( 𝑀  ∈  ℕ  →  𝑀  ∈  ℕ0 ) | 
						
							| 13 |  | faclbnd | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 14 | 12 13 | sylan | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 15 |  | nn0re | ⊢ ( 𝑀  ∈  ℕ0  →  𝑀  ∈  ℝ ) | 
						
							| 16 |  | reexpcl | ⊢ ( ( 𝑀  ∈  ℝ  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ∈  ℝ ) | 
						
							| 17 | 15 16 | sylan | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ∈  ℝ ) | 
						
							| 18 |  | peano2nn0 | ⊢ ( 𝑁  ∈  ℕ0  →  ( 𝑁  +  1 )  ∈  ℕ0 ) | 
						
							| 19 |  | reexpcl | ⊢ ( ( 𝑀  ∈  ℝ  ∧  ( 𝑁  +  1 )  ∈  ℕ0 )  →  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∈  ℝ ) | 
						
							| 20 | 15 18 19 | syl2an | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∈  ℝ ) | 
						
							| 21 |  | reexpcl | ⊢ ( ( 𝑀  ∈  ℝ  ∧  𝑀  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑀 )  ∈  ℝ ) | 
						
							| 22 | 15 21 | mpancom | ⊢ ( 𝑀  ∈  ℕ0  →  ( 𝑀 ↑ 𝑀 )  ∈  ℝ ) | 
						
							| 23 |  | faccl | ⊢ ( 𝑁  ∈  ℕ0  →  ( ! ‘ 𝑁 )  ∈  ℕ ) | 
						
							| 24 | 23 | nnred | ⊢ ( 𝑁  ∈  ℕ0  →  ( ! ‘ 𝑁 )  ∈  ℝ ) | 
						
							| 25 |  | remulcl | ⊢ ( ( ( 𝑀 ↑ 𝑀 )  ∈  ℝ  ∧  ( ! ‘ 𝑁 )  ∈  ℝ )  →  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ ) | 
						
							| 26 | 22 24 25 | syl2an | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ ) | 
						
							| 27 |  | letr | ⊢ ( ( ( 𝑀 ↑ 𝑁 )  ∈  ℝ  ∧  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∈  ℝ  ∧  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ )  →  ( ( ( 𝑀 ↑ 𝑁 )  ≤  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∧  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 28 | 17 20 26 27 | syl3anc | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( ( ( 𝑀 ↑ 𝑁 )  ≤  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∧  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 29 | 12 28 | sylan | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  ( ( ( 𝑀 ↑ 𝑁 )  ≤  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ∧  ( 𝑀 ↑ ( 𝑁  +  1 ) )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 30 | 11 14 29 | mp2and | ⊢ ( ( 𝑀  ∈  ℕ  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 31 |  | elnn0 | ⊢ ( 𝑁  ∈  ℕ0  ↔  ( 𝑁  ∈  ℕ  ∨  𝑁  =  0 ) ) | 
						
							| 32 |  | 0exp | ⊢ ( 𝑁  ∈  ℕ  →  ( 0 ↑ 𝑁 )  =  0 ) | 
						
							| 33 |  | 0le1 | ⊢ 0  ≤  1 | 
						
							| 34 | 32 33 | eqbrtrdi | ⊢ ( 𝑁  ∈  ℕ  →  ( 0 ↑ 𝑁 )  ≤  1 ) | 
						
							| 35 |  | oveq2 | ⊢ ( 𝑁  =  0  →  ( 0 ↑ 𝑁 )  =  ( 0 ↑ 0 ) ) | 
						
							| 36 |  | 0exp0e1 | ⊢ ( 0 ↑ 0 )  =  1 | 
						
							| 37 |  | 1le1 | ⊢ 1  ≤  1 | 
						
							| 38 | 36 37 | eqbrtri | ⊢ ( 0 ↑ 0 )  ≤  1 | 
						
							| 39 | 35 38 | eqbrtrdi | ⊢ ( 𝑁  =  0  →  ( 0 ↑ 𝑁 )  ≤  1 ) | 
						
							| 40 | 34 39 | jaoi | ⊢ ( ( 𝑁  ∈  ℕ  ∨  𝑁  =  0 )  →  ( 0 ↑ 𝑁 )  ≤  1 ) | 
						
							| 41 | 31 40 | sylbi | ⊢ ( 𝑁  ∈  ℕ0  →  ( 0 ↑ 𝑁 )  ≤  1 ) | 
						
							| 42 |  | 1nn | ⊢ 1  ∈  ℕ | 
						
							| 43 |  | nnmulcl | ⊢ ( ( 1  ∈  ℕ  ∧  ( ! ‘ 𝑁 )  ∈  ℕ )  →  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℕ ) | 
						
							| 44 | 42 23 43 | sylancr | ⊢ ( 𝑁  ∈  ℕ0  →  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℕ ) | 
						
							| 45 | 44 | nnge1d | ⊢ ( 𝑁  ∈  ℕ0  →  1  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 46 |  | 0re | ⊢ 0  ∈  ℝ | 
						
							| 47 |  | reexpcl | ⊢ ( ( 0  ∈  ℝ  ∧  𝑁  ∈  ℕ0 )  →  ( 0 ↑ 𝑁 )  ∈  ℝ ) | 
						
							| 48 | 46 47 | mpan | ⊢ ( 𝑁  ∈  ℕ0  →  ( 0 ↑ 𝑁 )  ∈  ℝ ) | 
						
							| 49 |  | 1re | ⊢ 1  ∈  ℝ | 
						
							| 50 |  | remulcl | ⊢ ( ( 1  ∈  ℝ  ∧  ( ! ‘ 𝑁 )  ∈  ℝ )  →  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ ) | 
						
							| 51 | 49 24 50 | sylancr | ⊢ ( 𝑁  ∈  ℕ0  →  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ ) | 
						
							| 52 |  | letr | ⊢ ( ( ( 0 ↑ 𝑁 )  ∈  ℝ  ∧  1  ∈  ℝ  ∧  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ )  →  ( ( ( 0 ↑ 𝑁 )  ≤  1  ∧  1  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) )  →  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 53 | 49 52 | mp3an2 | ⊢ ( ( ( 0 ↑ 𝑁 )  ∈  ℝ  ∧  ( 1  ·  ( ! ‘ 𝑁 ) )  ∈  ℝ )  →  ( ( ( 0 ↑ 𝑁 )  ≤  1  ∧  1  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) )  →  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 54 | 48 51 53 | syl2anc | ⊢ ( 𝑁  ∈  ℕ0  →  ( ( ( 0 ↑ 𝑁 )  ≤  1  ∧  1  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) )  →  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 55 | 41 45 54 | mp2and | ⊢ ( 𝑁  ∈  ℕ0  →  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 56 | 55 | adantl | ⊢ ( ( 𝑀  =  0  ∧  𝑁  ∈  ℕ0 )  →  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 57 |  | oveq1 | ⊢ ( 𝑀  =  0  →  ( 𝑀 ↑ 𝑁 )  =  ( 0 ↑ 𝑁 ) ) | 
						
							| 58 |  | oveq12 | ⊢ ( ( 𝑀  =  0  ∧  𝑀  =  0 )  →  ( 𝑀 ↑ 𝑀 )  =  ( 0 ↑ 0 ) ) | 
						
							| 59 | 58 | anidms | ⊢ ( 𝑀  =  0  →  ( 𝑀 ↑ 𝑀 )  =  ( 0 ↑ 0 ) ) | 
						
							| 60 | 59 36 | eqtrdi | ⊢ ( 𝑀  =  0  →  ( 𝑀 ↑ 𝑀 )  =  1 ) | 
						
							| 61 | 60 | oveq1d | ⊢ ( 𝑀  =  0  →  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  =  ( 1  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 62 | 57 61 | breq12d | ⊢ ( 𝑀  =  0  →  ( ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  ↔  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 63 | 62 | adantr | ⊢ ( ( 𝑀  =  0  ∧  𝑁  ∈  ℕ0 )  →  ( ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) )  ↔  ( 0 ↑ 𝑁 )  ≤  ( 1  ·  ( ! ‘ 𝑁 ) ) ) ) | 
						
							| 64 | 56 63 | mpbird | ⊢ ( ( 𝑀  =  0  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 65 | 30 64 | jaoian | ⊢ ( ( ( 𝑀  ∈  ℕ  ∨  𝑀  =  0 )  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) | 
						
							| 66 | 1 65 | sylanb | ⊢ ( ( 𝑀  ∈  ℕ0  ∧  𝑁  ∈  ℕ0 )  →  ( 𝑀 ↑ 𝑁 )  ≤  ( ( 𝑀 ↑ 𝑀 )  ·  ( ! ‘ 𝑁 ) ) ) |