ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  faclbnd GIF version

Theorem faclbnd 10203
Description: A lower bound for the factorial function. (Contributed by NM, 17-Dec-2005.)
Assertion
Ref Expression
faclbnd ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))

Proof of Theorem faclbnd
Dummy variables 𝑗 𝑘 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elnn0 8729 . 2 (𝑀 ∈ ℕ0 ↔ (𝑀 ∈ ℕ ∨ 𝑀 = 0))
2 oveq1 5673 . . . . . . . 8 (𝑗 = 0 → (𝑗 + 1) = (0 + 1))
32oveq2d 5682 . . . . . . 7 (𝑗 = 0 → (𝑀↑(𝑗 + 1)) = (𝑀↑(0 + 1)))
4 fveq2 5318 . . . . . . . 8 (𝑗 = 0 → (!‘𝑗) = (!‘0))
54oveq2d 5682 . . . . . . 7 (𝑗 = 0 → ((𝑀𝑀) · (!‘𝑗)) = ((𝑀𝑀) · (!‘0)))
63, 5breq12d 3864 . . . . . 6 (𝑗 = 0 → ((𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗)) ↔ (𝑀↑(0 + 1)) ≤ ((𝑀𝑀) · (!‘0))))
76imbi2d 229 . . . . 5 (𝑗 = 0 → ((𝑀 ∈ ℕ → (𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗))) ↔ (𝑀 ∈ ℕ → (𝑀↑(0 + 1)) ≤ ((𝑀𝑀) · (!‘0)))))
8 oveq1 5673 . . . . . . . 8 (𝑗 = 𝑘 → (𝑗 + 1) = (𝑘 + 1))
98oveq2d 5682 . . . . . . 7 (𝑗 = 𝑘 → (𝑀↑(𝑗 + 1)) = (𝑀↑(𝑘 + 1)))
10 fveq2 5318 . . . . . . . 8 (𝑗 = 𝑘 → (!‘𝑗) = (!‘𝑘))
1110oveq2d 5682 . . . . . . 7 (𝑗 = 𝑘 → ((𝑀𝑀) · (!‘𝑗)) = ((𝑀𝑀) · (!‘𝑘)))
129, 11breq12d 3864 . . . . . 6 (𝑗 = 𝑘 → ((𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗)) ↔ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))))
1312imbi2d 229 . . . . 5 (𝑗 = 𝑘 → ((𝑀 ∈ ℕ → (𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗))) ↔ (𝑀 ∈ ℕ → (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)))))
14 oveq1 5673 . . . . . . . 8 (𝑗 = (𝑘 + 1) → (𝑗 + 1) = ((𝑘 + 1) + 1))
1514oveq2d 5682 . . . . . . 7 (𝑗 = (𝑘 + 1) → (𝑀↑(𝑗 + 1)) = (𝑀↑((𝑘 + 1) + 1)))
16 fveq2 5318 . . . . . . . 8 (𝑗 = (𝑘 + 1) → (!‘𝑗) = (!‘(𝑘 + 1)))
1716oveq2d 5682 . . . . . . 7 (𝑗 = (𝑘 + 1) → ((𝑀𝑀) · (!‘𝑗)) = ((𝑀𝑀) · (!‘(𝑘 + 1))))
1815, 17breq12d 3864 . . . . . 6 (𝑗 = (𝑘 + 1) → ((𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗)) ↔ (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1)))))
1918imbi2d 229 . . . . 5 (𝑗 = (𝑘 + 1) → ((𝑀 ∈ ℕ → (𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗))) ↔ (𝑀 ∈ ℕ → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
20 oveq1 5673 . . . . . . . 8 (𝑗 = 𝑁 → (𝑗 + 1) = (𝑁 + 1))
2120oveq2d 5682 . . . . . . 7 (𝑗 = 𝑁 → (𝑀↑(𝑗 + 1)) = (𝑀↑(𝑁 + 1)))
22 fveq2 5318 . . . . . . . 8 (𝑗 = 𝑁 → (!‘𝑗) = (!‘𝑁))
2322oveq2d 5682 . . . . . . 7 (𝑗 = 𝑁 → ((𝑀𝑀) · (!‘𝑗)) = ((𝑀𝑀) · (!‘𝑁)))
2421, 23breq12d 3864 . . . . . 6 (𝑗 = 𝑁 → ((𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗)) ↔ (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁))))
2524imbi2d 229 . . . . 5 (𝑗 = 𝑁 → ((𝑀 ∈ ℕ → (𝑀↑(𝑗 + 1)) ≤ ((𝑀𝑀) · (!‘𝑗))) ↔ (𝑀 ∈ ℕ → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))))
26 nnre 8483 . . . . . . 7 (𝑀 ∈ ℕ → 𝑀 ∈ ℝ)
27 nnge1 8499 . . . . . . 7 (𝑀 ∈ ℕ → 1 ≤ 𝑀)
28 elnnuz 9109 . . . . . . . 8 (𝑀 ∈ ℕ ↔ 𝑀 ∈ (ℤ‘1))
2928biimpi 119 . . . . . . 7 (𝑀 ∈ ℕ → 𝑀 ∈ (ℤ‘1))
3026, 27, 29leexp2ad 10169 . . . . . 6 (𝑀 ∈ ℕ → (𝑀↑1) ≤ (𝑀𝑀))
31 0p1e1 8590 . . . . . . . 8 (0 + 1) = 1
3231oveq2i 5677 . . . . . . 7 (𝑀↑(0 + 1)) = (𝑀↑1)
3332a1i 9 . . . . . 6 (𝑀 ∈ ℕ → (𝑀↑(0 + 1)) = (𝑀↑1))
34 fac0 10190 . . . . . . . 8 (!‘0) = 1
3534oveq2i 5677 . . . . . . 7 ((𝑀𝑀) · (!‘0)) = ((𝑀𝑀) · 1)
36 nnnn0 8734 . . . . . . . . . 10 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
3726, 36reexpcld 10157 . . . . . . . . 9 (𝑀 ∈ ℕ → (𝑀𝑀) ∈ ℝ)
3837recnd 7570 . . . . . . . 8 (𝑀 ∈ ℕ → (𝑀𝑀) ∈ ℂ)
3938mulid1d 7559 . . . . . . 7 (𝑀 ∈ ℕ → ((𝑀𝑀) · 1) = (𝑀𝑀))
4035, 39syl5eq 2133 . . . . . 6 (𝑀 ∈ ℕ → ((𝑀𝑀) · (!‘0)) = (𝑀𝑀))
4130, 33, 403brtr4d 3881 . . . . 5 (𝑀 ∈ ℕ → (𝑀↑(0 + 1)) ≤ ((𝑀𝑀) · (!‘0)))
4226ad3antrrr 477 . . . . . . . . . . . . . 14 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 𝑀 ∈ ℝ)
43 simpllr 502 . . . . . . . . . . . . . . 15 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 𝑘 ∈ ℕ0)
44 peano2nn0 8767 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → (𝑘 + 1) ∈ ℕ0)
4543, 44syl 14 . . . . . . . . . . . . . 14 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑘 + 1) ∈ ℕ0)
4642, 45reexpcld 10157 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑀↑(𝑘 + 1)) ∈ ℝ)
4736ad3antrrr 477 . . . . . . . . . . . . . . 15 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 𝑀 ∈ ℕ0)
4842, 47reexpcld 10157 . . . . . . . . . . . . . 14 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑀𝑀) ∈ ℝ)
4943faccld 10198 . . . . . . . . . . . . . . 15 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (!‘𝑘) ∈ ℕ)
5049nnred 8489 . . . . . . . . . . . . . 14 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (!‘𝑘) ∈ ℝ)
5148, 50remulcld 7572 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → ((𝑀𝑀) · (!‘𝑘)) ∈ ℝ)
52 nn0re 8736 . . . . . . . . . . . . . 14 (𝑘 ∈ ℕ0𝑘 ∈ ℝ)
53 peano2re 7672 . . . . . . . . . . . . . 14 (𝑘 ∈ ℝ → (𝑘 + 1) ∈ ℝ)
5443, 52, 533syl 17 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑘 + 1) ∈ ℝ)
55 nngt0 8501 . . . . . . . . . . . . . . . 16 (𝑀 ∈ ℕ → 0 < 𝑀)
5655ad3antrrr 477 . . . . . . . . . . . . . . 15 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 0 < 𝑀)
57 0re 7542 . . . . . . . . . . . . . . . 16 0 ∈ ℝ
58 ltle 7626 . . . . . . . . . . . . . . . 16 ((0 ∈ ℝ ∧ 𝑀 ∈ ℝ) → (0 < 𝑀 → 0 ≤ 𝑀))
5957, 58mpan 416 . . . . . . . . . . . . . . 15 (𝑀 ∈ ℝ → (0 < 𝑀 → 0 ≤ 𝑀))
6042, 56, 59sylc 62 . . . . . . . . . . . . . 14 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 0 ≤ 𝑀)
6142, 45, 60expge0d 10158 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 0 ≤ (𝑀↑(𝑘 + 1)))
62 simplr 498 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)))
63 simprr 500 . . . . . . . . . . . . 13 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → 𝑀 ≤ (𝑘 + 1))
6446, 51, 42, 54, 61, 60, 62, 63lemul12ad 8457 . . . . . . . . . . . 12 ((((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) ∧ ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ 𝑀 ≤ (𝑘 + 1))) → ((𝑀↑(𝑘 + 1)) · 𝑀) ≤ (((𝑀𝑀) · (!‘𝑘)) · (𝑘 + 1)))
6564anandis 560 . . . . . . . . . . 11 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) ∧ 𝑀 ≤ (𝑘 + 1))) → ((𝑀↑(𝑘 + 1)) · 𝑀) ≤ (((𝑀𝑀) · (!‘𝑘)) · (𝑘 + 1)))
66 nncn 8484 . . . . . . . . . . . . 13 (𝑀 ∈ ℕ → 𝑀 ∈ ℂ)
67 expp1 10016 . . . . . . . . . . . . 13 ((𝑀 ∈ ℂ ∧ (𝑘 + 1) ∈ ℕ0) → (𝑀↑((𝑘 + 1) + 1)) = ((𝑀↑(𝑘 + 1)) · 𝑀))
6866, 44, 67syl2an 284 . . . . . . . . . . . 12 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀↑((𝑘 + 1) + 1)) = ((𝑀↑(𝑘 + 1)) · 𝑀))
6968adantr 271 . . . . . . . . . . 11 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑀↑((𝑘 + 1) + 1)) = ((𝑀↑(𝑘 + 1)) · 𝑀))
70 facp1 10192 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → (!‘(𝑘 + 1)) = ((!‘𝑘) · (𝑘 + 1)))
7170adantl 272 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (!‘(𝑘 + 1)) = ((!‘𝑘) · (𝑘 + 1)))
7271oveq2d 5682 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀𝑀) · (!‘(𝑘 + 1))) = ((𝑀𝑀) · ((!‘𝑘) · (𝑘 + 1))))
7338adantr 271 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀𝑀) ∈ ℂ)
74 faccl 10197 . . . . . . . . . . . . . . . 16 (𝑘 ∈ ℕ0 → (!‘𝑘) ∈ ℕ)
7574nncnd 8490 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → (!‘𝑘) ∈ ℂ)
7675adantl 272 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (!‘𝑘) ∈ ℂ)
77 nn0cn 8737 . . . . . . . . . . . . . . . 16 (𝑘 ∈ ℕ0𝑘 ∈ ℂ)
78 peano2cn 7671 . . . . . . . . . . . . . . . 16 (𝑘 ∈ ℂ → (𝑘 + 1) ∈ ℂ)
7977, 78syl 14 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → (𝑘 + 1) ∈ ℂ)
8079adantl 272 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℂ)
8173, 76, 80mulassd 7565 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (((𝑀𝑀) · (!‘𝑘)) · (𝑘 + 1)) = ((𝑀𝑀) · ((!‘𝑘) · (𝑘 + 1))))
8272, 81eqtr4d 2124 . . . . . . . . . . . 12 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀𝑀) · (!‘(𝑘 + 1))) = (((𝑀𝑀) · (!‘𝑘)) · (𝑘 + 1)))
8382adantr 271 . . . . . . . . . . 11 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) ∧ 𝑀 ≤ (𝑘 + 1))) → ((𝑀𝑀) · (!‘(𝑘 + 1))) = (((𝑀𝑀) · (!‘𝑘)) · (𝑘 + 1)))
8465, 69, 833brtr4d 3881 . . . . . . . . . 10 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) ∧ 𝑀 ≤ (𝑘 + 1))) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))
8584exp32 358 . . . . . . . . 9 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) → (𝑀 ≤ (𝑘 + 1) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
8685com23 78 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀 ≤ (𝑘 + 1) → ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
87 nn0ltp1le 8866 . . . . . . . . . . 11 (((𝑘 + 1) ∈ ℕ0𝑀 ∈ ℕ0) → ((𝑘 + 1) < 𝑀 ↔ ((𝑘 + 1) + 1) ≤ 𝑀))
8844, 36, 87syl2anr 285 . . . . . . . . . 10 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑘 + 1) < 𝑀 ↔ ((𝑘 + 1) + 1) ≤ 𝑀))
89 peano2nn0 8767 . . . . . . . . . . . . . . 15 ((𝑘 + 1) ∈ ℕ0 → ((𝑘 + 1) + 1) ∈ ℕ0)
9044, 89syl 14 . . . . . . . . . . . . . 14 (𝑘 ∈ ℕ0 → ((𝑘 + 1) + 1) ∈ ℕ0)
91 reexpcl 10026 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℝ ∧ ((𝑘 + 1) + 1) ∈ ℕ0) → (𝑀↑((𝑘 + 1) + 1)) ∈ ℝ)
9226, 90, 91syl2an 284 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀↑((𝑘 + 1) + 1)) ∈ ℝ)
9392adantr 271 . . . . . . . . . . . 12 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀↑((𝑘 + 1) + 1)) ∈ ℝ)
9437ad2antrr 473 . . . . . . . . . . . 12 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀𝑀) ∈ ℝ)
9544faccld 10198 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → (!‘(𝑘 + 1)) ∈ ℕ)
9695nnred 8489 . . . . . . . . . . . . . 14 (𝑘 ∈ ℕ0 → (!‘(𝑘 + 1)) ∈ ℝ)
97 remulcl 7524 . . . . . . . . . . . . . 14 (((𝑀𝑀) ∈ ℝ ∧ (!‘(𝑘 + 1)) ∈ ℝ) → ((𝑀𝑀) · (!‘(𝑘 + 1))) ∈ ℝ)
9837, 96, 97syl2an 284 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀𝑀) · (!‘(𝑘 + 1))) ∈ ℝ)
9998adantr 271 . . . . . . . . . . . 12 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → ((𝑀𝑀) · (!‘(𝑘 + 1))) ∈ ℝ)
10026ad2antrr 473 . . . . . . . . . . . . 13 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → 𝑀 ∈ ℝ)
10127ad2antrr 473 . . . . . . . . . . . . 13 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → 1 ≤ 𝑀)
102 simpr 109 . . . . . . . . . . . . . 14 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → ((𝑘 + 1) + 1) ≤ 𝑀)
10390ad2antlr 474 . . . . . . . . . . . . . . . 16 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → ((𝑘 + 1) + 1) ∈ ℕ0)
104103nn0zd 8920 . . . . . . . . . . . . . . 15 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → ((𝑘 + 1) + 1) ∈ ℤ)
105 nnz 8823 . . . . . . . . . . . . . . . 16 (𝑀 ∈ ℕ → 𝑀 ∈ ℤ)
106105ad2antrr 473 . . . . . . . . . . . . . . 15 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → 𝑀 ∈ ℤ)
107 eluz 9086 . . . . . . . . . . . . . . 15 ((((𝑘 + 1) + 1) ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑀 ∈ (ℤ‘((𝑘 + 1) + 1)) ↔ ((𝑘 + 1) + 1) ≤ 𝑀))
108104, 106, 107syl2anc 404 . . . . . . . . . . . . . 14 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀 ∈ (ℤ‘((𝑘 + 1) + 1)) ↔ ((𝑘 + 1) + 1) ≤ 𝑀))
109102, 108mpbird 166 . . . . . . . . . . . . 13 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → 𝑀 ∈ (ℤ‘((𝑘 + 1) + 1)))
110100, 101, 109leexp2ad 10169 . . . . . . . . . . . 12 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀↑((𝑘 + 1) + 1)) ≤ (𝑀𝑀))
11137, 96anim12i 332 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀𝑀) ∈ ℝ ∧ (!‘(𝑘 + 1)) ∈ ℝ))
112 nn0re 8736 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℕ0𝑀 ∈ ℝ)
113 id 19 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℕ0𝑀 ∈ ℕ0)
114 nn0ge0 8752 . . . . . . . . . . . . . . . . 17 (𝑀 ∈ ℕ0 → 0 ≤ 𝑀)
115112, 113, 114expge0d 10158 . . . . . . . . . . . . . . . 16 (𝑀 ∈ ℕ0 → 0 ≤ (𝑀𝑀))
11636, 115syl 14 . . . . . . . . . . . . . . 15 (𝑀 ∈ ℕ → 0 ≤ (𝑀𝑀))
11795nnge1d 8519 . . . . . . . . . . . . . . 15 (𝑘 ∈ ℕ0 → 1 ≤ (!‘(𝑘 + 1)))
118116, 117anim12i 332 . . . . . . . . . . . . . 14 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (0 ≤ (𝑀𝑀) ∧ 1 ≤ (!‘(𝑘 + 1))))
119 lemulge11 8381 . . . . . . . . . . . . . 14 ((((𝑀𝑀) ∈ ℝ ∧ (!‘(𝑘 + 1)) ∈ ℝ) ∧ (0 ≤ (𝑀𝑀) ∧ 1 ≤ (!‘(𝑘 + 1)))) → (𝑀𝑀) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))
120111, 118, 119syl2anc 404 . . . . . . . . . . . . 13 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀𝑀) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))
121120adantr 271 . . . . . . . . . . . 12 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀𝑀) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))
12293, 94, 99, 110, 121letrd 7661 . . . . . . . . . . 11 (((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) ∧ ((𝑘 + 1) + 1) ≤ 𝑀) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))
123122ex 114 . . . . . . . . . 10 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (((𝑘 + 1) + 1) ≤ 𝑀 → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1)))))
12488, 123sylbid 149 . . . . . . . . 9 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑘 + 1) < 𝑀 → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1)))))
125124a1dd 48 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑘 + 1) < 𝑀 → ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
126105adantr 271 . . . . . . . . 9 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → 𝑀 ∈ ℤ)
12744adantl 272 . . . . . . . . . 10 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℕ0)
128127nn0zd 8920 . . . . . . . . 9 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℤ)
129 zlelttric 8849 . . . . . . . . 9 ((𝑀 ∈ ℤ ∧ (𝑘 + 1) ∈ ℤ) → (𝑀 ≤ (𝑘 + 1) ∨ (𝑘 + 1) < 𝑀))
130126, 128, 129syl2anc 404 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → (𝑀 ≤ (𝑘 + 1) ∨ (𝑘 + 1) < 𝑀))
13186, 125, 130mpjaod 674 . . . . . . 7 ((𝑀 ∈ ℕ ∧ 𝑘 ∈ ℕ0) → ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1)))))
132131expcom 115 . . . . . 6 (𝑘 ∈ ℕ0 → (𝑀 ∈ ℕ → ((𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘)) → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
133132a2d 26 . . . . 5 (𝑘 ∈ ℕ0 → ((𝑀 ∈ ℕ → (𝑀↑(𝑘 + 1)) ≤ ((𝑀𝑀) · (!‘𝑘))) → (𝑀 ∈ ℕ → (𝑀↑((𝑘 + 1) + 1)) ≤ ((𝑀𝑀) · (!‘(𝑘 + 1))))))
1347, 13, 19, 25, 41, 133nn0ind 8914 . . . 4 (𝑁 ∈ ℕ0 → (𝑀 ∈ ℕ → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁))))
135134impcom 124 . . 3 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ0) → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))
136 faccl 10197 . . . . . . . 8 (𝑁 ∈ ℕ0 → (!‘𝑁) ∈ ℕ)
137136nnnn0d 8780 . . . . . . 7 (𝑁 ∈ ℕ0 → (!‘𝑁) ∈ ℕ0)
138137nn0ge0d 8783 . . . . . 6 (𝑁 ∈ ℕ0 → 0 ≤ (!‘𝑁))
139 nn0p1nn 8766 . . . . . . 7 (𝑁 ∈ ℕ0 → (𝑁 + 1) ∈ ℕ)
1401390expd 10156 . . . . . 6 (𝑁 ∈ ℕ0 → (0↑(𝑁 + 1)) = 0)
141 0exp0e1 10014 . . . . . . . 8 (0↑0) = 1
142141oveq1i 5676 . . . . . . 7 ((0↑0) · (!‘𝑁)) = (1 · (!‘𝑁))
143136nncnd 8490 . . . . . . . 8 (𝑁 ∈ ℕ0 → (!‘𝑁) ∈ ℂ)
144143mulid2d 7560 . . . . . . 7 (𝑁 ∈ ℕ0 → (1 · (!‘𝑁)) = (!‘𝑁))
145142, 144syl5eq 2133 . . . . . 6 (𝑁 ∈ ℕ0 → ((0↑0) · (!‘𝑁)) = (!‘𝑁))
146138, 140, 1453brtr4d 3881 . . . . 5 (𝑁 ∈ ℕ0 → (0↑(𝑁 + 1)) ≤ ((0↑0) · (!‘𝑁)))
147 oveq1 5673 . . . . . 6 (𝑀 = 0 → (𝑀↑(𝑁 + 1)) = (0↑(𝑁 + 1)))
148 oveq12 5675 . . . . . . . 8 ((𝑀 = 0 ∧ 𝑀 = 0) → (𝑀𝑀) = (0↑0))
149148anidms 390 . . . . . . 7 (𝑀 = 0 → (𝑀𝑀) = (0↑0))
150149oveq1d 5681 . . . . . 6 (𝑀 = 0 → ((𝑀𝑀) · (!‘𝑁)) = ((0↑0) · (!‘𝑁)))
151147, 150breq12d 3864 . . . . 5 (𝑀 = 0 → ((𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)) ↔ (0↑(𝑁 + 1)) ≤ ((0↑0) · (!‘𝑁))))
152146, 151syl5ibr 155 . . . 4 (𝑀 = 0 → (𝑁 ∈ ℕ0 → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁))))
153152imp 123 . . 3 ((𝑀 = 0 ∧ 𝑁 ∈ ℕ0) → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))
154135, 153jaoian 745 . 2 (((𝑀 ∈ ℕ ∨ 𝑀 = 0) ∧ 𝑁 ∈ ℕ0) → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))
1551, 154sylanb 279 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀↑(𝑁 + 1)) ≤ ((𝑀𝑀) · (!‘𝑁)))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wb 104  wo 665   = wceq 1290  wcel 1439   class class class wbr 3851  cfv 5028  (class class class)co 5666  cc 7402  cr 7403  0cc0 7404  1c1 7405   + caddc 7407   · cmul 7409   < clt 7576  cle 7577  cn 8476  0cn0 8727  cz 8804  cuz 9073  cexp 10008  !cfa 10187
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 580  ax-in2 581  ax-io 666  ax-5 1382  ax-7 1383  ax-gen 1384  ax-ie1 1428  ax-ie2 1429  ax-8 1441  ax-10 1442  ax-11 1443  ax-i12 1444  ax-bndl 1445  ax-4 1446  ax-13 1450  ax-14 1451  ax-17 1465  ax-i9 1469  ax-ial 1473  ax-i5r 1474  ax-ext 2071  ax-coll 3960  ax-sep 3963  ax-nul 3971  ax-pow 4015  ax-pr 4045  ax-un 4269  ax-setind 4366  ax-iinf 4416  ax-cnex 7490  ax-resscn 7491  ax-1cn 7492  ax-1re 7493  ax-icn 7494  ax-addcl 7495  ax-addrcl 7496  ax-mulcl 7497  ax-mulrcl 7498  ax-addcom 7499  ax-mulcom 7500  ax-addass 7501  ax-mulass 7502  ax-distr 7503  ax-i2m1 7504  ax-0lt1 7505  ax-1rid 7506  ax-0id 7507  ax-rnegex 7508  ax-precex 7509  ax-cnre 7510  ax-pre-ltirr 7511  ax-pre-ltwlin 7512  ax-pre-lttrn 7513  ax-pre-apti 7514  ax-pre-ltadd 7515  ax-pre-mulgt0 7516  ax-pre-mulext 7517
This theorem depends on definitions:  df-bi 116  df-dc 782  df-3or 926  df-3an 927  df-tru 1293  df-fal 1296  df-nf 1396  df-sb 1694  df-eu 1952  df-mo 1953  df-clab 2076  df-cleq 2082  df-clel 2085  df-nfc 2218  df-ne 2257  df-nel 2352  df-ral 2365  df-rex 2366  df-reu 2367  df-rmo 2368  df-rab 2369  df-v 2622  df-sbc 2842  df-csb 2935  df-dif 3002  df-un 3004  df-in 3006  df-ss 3013  df-nul 3288  df-if 3398  df-pw 3435  df-sn 3456  df-pr 3457  df-op 3459  df-uni 3660  df-int 3695  df-iun 3738  df-br 3852  df-opab 3906  df-mpt 3907  df-tr 3943  df-id 4129  df-po 4132  df-iso 4133  df-iord 4202  df-on 4204  df-ilim 4205  df-suc 4207  df-iom 4419  df-xp 4457  df-rel 4458  df-cnv 4459  df-co 4460  df-dm 4461  df-rn 4462  df-res 4463  df-ima 4464  df-iota 4993  df-fun 5030  df-fn 5031  df-f 5032  df-f1 5033  df-fo 5034  df-f1o 5035  df-fv 5036  df-riota 5622  df-ov 5669  df-oprab 5670  df-mpt2 5671  df-1st 5925  df-2nd 5926  df-recs 6084  df-frec 6170  df-pnf 7578  df-mnf 7579  df-xr 7580  df-ltxr 7581  df-le 7582  df-sub 7709  df-neg 7710  df-reap 8106  df-ap 8113  df-div 8194  df-inn 8477  df-n0 8728  df-z 8805  df-uz 9074  df-rp 9189  df-iseq 9907  df-seq3 9908  df-exp 10009  df-fac 10188
This theorem is referenced by:  faclbnd2  10204  faclbnd3  10205
  Copyright terms: Public domain W3C validator