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 ) → ( 𝑀 ↑ 𝑁 ) ≤ ( ( 𝑀 ↑ 𝑀 ) · ( ! ‘ 𝑁 ) ) ) |