| Step | Hyp | Ref
| Expression |
| 1 | | breq2 4037 |
. . . . . 6
⊢ (𝑗 = 0 → (𝑀 ≤ 𝑗 ↔ 𝑀 ≤ 0)) |
| 2 | 1 | anbi2d 464 |
. . . . 5
⊢ (𝑗 = 0 → ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) ↔ (𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 0))) |
| 3 | | fveq2 5558 |
. . . . . 6
⊢ (𝑗 = 0 → (!‘𝑗) =
(!‘0)) |
| 4 | 3 | breq2d 4045 |
. . . . 5
⊢ (𝑗 = 0 → ((!‘𝑀) ≤ (!‘𝑗) ↔ (!‘𝑀) ≤
(!‘0))) |
| 5 | 2, 4 | imbi12d 234 |
. . . 4
⊢ (𝑗 = 0 → (((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) → (!‘𝑀) ≤ (!‘𝑗)) ↔ ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 0) → (!‘𝑀) ≤
(!‘0)))) |
| 6 | | breq2 4037 |
. . . . . 6
⊢ (𝑗 = 𝑘 → (𝑀 ≤ 𝑗 ↔ 𝑀 ≤ 𝑘)) |
| 7 | 6 | anbi2d 464 |
. . . . 5
⊢ (𝑗 = 𝑘 → ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) ↔ (𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑘))) |
| 8 | | fveq2 5558 |
. . . . . 6
⊢ (𝑗 = 𝑘 → (!‘𝑗) = (!‘𝑘)) |
| 9 | 8 | breq2d 4045 |
. . . . 5
⊢ (𝑗 = 𝑘 → ((!‘𝑀) ≤ (!‘𝑗) ↔ (!‘𝑀) ≤ (!‘𝑘))) |
| 10 | 7, 9 | imbi12d 234 |
. . . 4
⊢ (𝑗 = 𝑘 → (((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) → (!‘𝑀) ≤ (!‘𝑗)) ↔ ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑘) → (!‘𝑀) ≤ (!‘𝑘)))) |
| 11 | | breq2 4037 |
. . . . . 6
⊢ (𝑗 = (𝑘 + 1) → (𝑀 ≤ 𝑗 ↔ 𝑀 ≤ (𝑘 + 1))) |
| 12 | 11 | anbi2d 464 |
. . . . 5
⊢ (𝑗 = (𝑘 + 1) → ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) ↔ (𝑀 ∈ ℕ0 ∧ 𝑀 ≤ (𝑘 + 1)))) |
| 13 | | fveq2 5558 |
. . . . . 6
⊢ (𝑗 = (𝑘 + 1) → (!‘𝑗) = (!‘(𝑘 + 1))) |
| 14 | 13 | breq2d 4045 |
. . . . 5
⊢ (𝑗 = (𝑘 + 1) → ((!‘𝑀) ≤ (!‘𝑗) ↔ (!‘𝑀) ≤ (!‘(𝑘 + 1)))) |
| 15 | 12, 14 | imbi12d 234 |
. . . 4
⊢ (𝑗 = (𝑘 + 1) → (((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) → (!‘𝑀) ≤ (!‘𝑗)) ↔ ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ (𝑘 + 1)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 16 | | breq2 4037 |
. . . . . 6
⊢ (𝑗 = 𝑁 → (𝑀 ≤ 𝑗 ↔ 𝑀 ≤ 𝑁)) |
| 17 | 16 | anbi2d 464 |
. . . . 5
⊢ (𝑗 = 𝑁 → ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) ↔ (𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑁))) |
| 18 | | fveq2 5558 |
. . . . . 6
⊢ (𝑗 = 𝑁 → (!‘𝑗) = (!‘𝑁)) |
| 19 | 18 | breq2d 4045 |
. . . . 5
⊢ (𝑗 = 𝑁 → ((!‘𝑀) ≤ (!‘𝑗) ↔ (!‘𝑀) ≤ (!‘𝑁))) |
| 20 | 17, 19 | imbi12d 234 |
. . . 4
⊢ (𝑗 = 𝑁 → (((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑗) → (!‘𝑀) ≤ (!‘𝑗)) ↔ ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ 𝑁) → (!‘𝑀) ≤ (!‘𝑁)))) |
| 21 | | nn0le0eq0 9277 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ (𝑀 ≤ 0 ↔
𝑀 = 0)) |
| 22 | 21 | biimpa 296 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑀 ≤ 0) →
𝑀 = 0) |
| 23 | 22 | fveq2d 5562 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑀 ≤ 0) →
(!‘𝑀) =
(!‘0)) |
| 24 | | fac0 10820 |
. . . . . . 7
⊢
(!‘0) = 1 |
| 25 | | 1re 8025 |
. . . . . . 7
⊢ 1 ∈
ℝ |
| 26 | 24, 25 | eqeltri 2269 |
. . . . . 6
⊢
(!‘0) ∈ ℝ |
| 27 | 26 | leidi 8512 |
. . . . 5
⊢
(!‘0) ≤ (!‘0) |
| 28 | 23, 27 | eqbrtrdi 4072 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑀 ≤ 0) →
(!‘𝑀) ≤
(!‘0)) |
| 29 | | impexp 263 |
. . . . 5
⊢ (((𝑀 ∈ ℕ0
∧ 𝑀 ≤ 𝑘) → (!‘𝑀) ≤ (!‘𝑘)) ↔ (𝑀 ∈ ℕ0 → (𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)))) |
| 30 | | simpl 109 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → 𝑀 ∈
ℕ0) |
| 31 | 30 | nn0zd 9446 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → 𝑀 ∈ ℤ) |
| 32 | | peano2nn0 9289 |
. . . . . . . . . . . . . 14
⊢ (𝑘 ∈ ℕ0
→ (𝑘 + 1) ∈
ℕ0) |
| 33 | 32 | adantl 277 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑘 + 1) ∈
ℕ0) |
| 34 | 33 | nn0zd 9446 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑘 + 1) ∈ ℤ) |
| 35 | | zleloe 9373 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℤ ∧ (𝑘 + 1) ∈ ℤ) →
(𝑀 ≤ (𝑘 + 1) ↔ (𝑀 < (𝑘 + 1) ∨ 𝑀 = (𝑘 + 1)))) |
| 36 | 31, 34, 35 | syl2anc 411 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 ≤ (𝑘 + 1) ↔ (𝑀 < (𝑘 + 1) ∨ 𝑀 = (𝑘 + 1)))) |
| 37 | | nn0leltp1 9389 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 ≤ 𝑘 ↔ 𝑀 < (𝑘 + 1))) |
| 38 | | faccl 10827 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ∈
ℕ) |
| 39 | 38 | nnred 9003 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ∈
ℝ) |
| 40 | | nn0re 9258 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℕ0
→ 𝑘 ∈
ℝ) |
| 41 | | peano2re 8162 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℝ → (𝑘 + 1) ∈
ℝ) |
| 42 | 40, 41 | syl 14 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
→ (𝑘 + 1) ∈
ℝ) |
| 43 | 38 | nnnn0d 9302 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ∈
ℕ0) |
| 44 | 43 | nn0ge0d 9305 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
→ 0 ≤ (!‘𝑘)) |
| 45 | | nn0p1nn 9288 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑘 ∈ ℕ0
→ (𝑘 + 1) ∈
ℕ) |
| 46 | 45 | nnge1d 9033 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
→ 1 ≤ (𝑘 +
1)) |
| 47 | 39, 42, 44, 46 | lemulge11d 8964 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ≤
((!‘𝑘) ·
(𝑘 + 1))) |
| 48 | | facp1 10822 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑘 ∈ ℕ0
→ (!‘(𝑘 + 1)) =
((!‘𝑘) ·
(𝑘 + 1))) |
| 49 | 47, 48 | breqtrrd 4061 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ≤
(!‘(𝑘 +
1))) |
| 50 | 49 | adantl 277 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (!‘𝑘) ≤ (!‘(𝑘 + 1))) |
| 51 | | faccl 10827 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ) |
| 52 | 51 | nnred 9003 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℝ) |
| 53 | 52 | adantr 276 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (!‘𝑀) ∈ ℝ) |
| 54 | 39 | adantl 277 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (!‘𝑘) ∈ ℝ) |
| 55 | 32 | faccld 10828 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑘 ∈ ℕ0
→ (!‘(𝑘 + 1))
∈ ℕ) |
| 56 | 55 | nnred 9003 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑘 ∈ ℕ0
→ (!‘(𝑘 + 1))
∈ ℝ) |
| 57 | 56 | adantl 277 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (!‘(𝑘 + 1)) ∈ ℝ) |
| 58 | | letr 8109 |
. . . . . . . . . . . . . . . . 17
⊢
(((!‘𝑀) ∈
ℝ ∧ (!‘𝑘)
∈ ℝ ∧ (!‘(𝑘 + 1)) ∈ ℝ) →
(((!‘𝑀) ≤
(!‘𝑘) ∧
(!‘𝑘) ≤
(!‘(𝑘 + 1))) →
(!‘𝑀) ≤
(!‘(𝑘 +
1)))) |
| 59 | 53, 54, 57, 58 | syl3anc 1249 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (((!‘𝑀) ≤ (!‘𝑘) ∧ (!‘𝑘) ≤ (!‘(𝑘 + 1))) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))) |
| 60 | 50, 59 | mpan2d 428 |
. . . . . . . . . . . . . . 15
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → ((!‘𝑀) ≤ (!‘𝑘) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))) |
| 61 | 60 | imim2d 54 |
. . . . . . . . . . . . . 14
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 62 | 61 | com23 78 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 ≤ 𝑘 → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 63 | 37, 62 | sylbird 170 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 < (𝑘 + 1) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 64 | | fveq2 5558 |
. . . . . . . . . . . . . . 15
⊢ (𝑀 = (𝑘 + 1) → (!‘𝑀) = (!‘(𝑘 + 1))) |
| 65 | 52 | leidd 8541 |
. . . . . . . . . . . . . . . 16
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ≤
(!‘𝑀)) |
| 66 | | breq2 4037 |
. . . . . . . . . . . . . . . 16
⊢
((!‘𝑀) =
(!‘(𝑘 + 1)) →
((!‘𝑀) ≤
(!‘𝑀) ↔
(!‘𝑀) ≤
(!‘(𝑘 +
1)))) |
| 67 | 65, 66 | syl5ibcom 155 |
. . . . . . . . . . . . . . 15
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀) =
(!‘(𝑘 + 1)) →
(!‘𝑀) ≤
(!‘(𝑘 +
1)))) |
| 68 | 64, 67 | syl5 32 |
. . . . . . . . . . . . . 14
⊢ (𝑀 ∈ ℕ0
→ (𝑀 = (𝑘 + 1) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))) |
| 69 | 68 | adantr 276 |
. . . . . . . . . . . . 13
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 = (𝑘 + 1) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))) |
| 70 | 69 | a1dd 48 |
. . . . . . . . . . . 12
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 = (𝑘 + 1) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 71 | 63, 70 | jaod 718 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → ((𝑀 < (𝑘 + 1) ∨ 𝑀 = (𝑘 + 1)) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 72 | 36, 71 | sylbid 150 |
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℕ0
∧ 𝑘 ∈
ℕ0) → (𝑀 ≤ (𝑘 + 1) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 73 | 72 | ex 115 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ0
→ (𝑘 ∈
ℕ0 → (𝑀 ≤ (𝑘 + 1) → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))))) |
| 74 | 73 | com13 80 |
. . . . . . . 8
⊢ (𝑀 ≤ (𝑘 + 1) → (𝑘 ∈ ℕ0 → (𝑀 ∈ ℕ0
→ ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))))) |
| 75 | 74 | com4l 84 |
. . . . . . 7
⊢ (𝑘 ∈ ℕ0
→ (𝑀 ∈
ℕ0 → ((𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘)) → (𝑀 ≤ (𝑘 + 1) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))))) |
| 76 | 75 | a2d 26 |
. . . . . 6
⊢ (𝑘 ∈ ℕ0
→ ((𝑀 ∈
ℕ0 → (𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘))) → (𝑀 ∈ ℕ0 → (𝑀 ≤ (𝑘 + 1) → (!‘𝑀) ≤ (!‘(𝑘 + 1)))))) |
| 77 | 76 | imp4a 349 |
. . . . 5
⊢ (𝑘 ∈ ℕ0
→ ((𝑀 ∈
ℕ0 → (𝑀 ≤ 𝑘 → (!‘𝑀) ≤ (!‘𝑘))) → ((𝑀 ∈ ℕ0 ∧ 𝑀 ≤ (𝑘 + 1)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 78 | 29, 77 | biimtrid 152 |
. . . 4
⊢ (𝑘 ∈ ℕ0
→ (((𝑀 ∈
ℕ0 ∧ 𝑀
≤ 𝑘) →
(!‘𝑀) ≤
(!‘𝑘)) → ((𝑀 ∈ ℕ0
∧ 𝑀 ≤ (𝑘 + 1)) → (!‘𝑀) ≤ (!‘(𝑘 + 1))))) |
| 79 | 5, 10, 15, 20, 28, 78 | nn0ind 9440 |
. . 3
⊢ (𝑁 ∈ ℕ0
→ ((𝑀 ∈
ℕ0 ∧ 𝑀
≤ 𝑁) →
(!‘𝑀) ≤
(!‘𝑁))) |
| 80 | 79 | 3impib 1203 |
. 2
⊢ ((𝑁 ∈ ℕ0
∧ 𝑀 ∈
ℕ0 ∧ 𝑀
≤ 𝑁) →
(!‘𝑀) ≤
(!‘𝑁)) |
| 81 | 80 | 3com12 1209 |
1
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0 ∧ 𝑀
≤ 𝑁) →
(!‘𝑀) ≤
(!‘𝑁)) |