Proof of Theorem facavg
Step | Hyp | Ref
| Expression |
1 | | nn0readdcl 12161 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈ ℝ) |
2 | 1 | rehalfcld 12082 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((𝑀 + 𝑁) / 2) ∈ ℝ) |
3 | | flle 13379 |
. . . . 5
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) |
4 | 2, 3 | syl 17 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) |
5 | | reflcl 13376 |
. . . . . 6
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ∈
ℝ) |
6 | 2, 5 | syl 17 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈ ℝ) |
7 | | nn0re 12104 |
. . . . . 6
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℝ) |
8 | 7 | adantr 484 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈ ℝ) |
9 | | letr 10931 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈ ℝ
∧ ((𝑀 + 𝑁) / 2) ∈ ℝ ∧
𝑀 ∈ ℝ) →
(((⌊‘((𝑀 +
𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑀) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
10 | 6, 2, 8, 9 | syl3anc 1373 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑀) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
11 | 4, 10 | mpand 695 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
12 | | nn0addcl 12130 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈
ℕ0) |
13 | 12 | nn0ge0d 12158 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ (𝑀 + 𝑁)) |
14 | | halfnneg2 12066 |
. . . . . . 7
⊢ ((𝑀 + 𝑁) ∈ ℝ → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) |
15 | 1, 14 | syl 17 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) |
16 | 13, 15 | mpbid 235 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ ((𝑀 + 𝑁) / 2)) |
17 | | flge0nn0 13400 |
. . . . 5
⊢ ((((𝑀 + 𝑁) / 2) ∈ ℝ ∧ 0 ≤ ((𝑀 + 𝑁) / 2)) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) |
18 | 2, 16, 17 | syl2anc 587 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) |
19 | | simpl 486 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈
ℕ0) |
20 | | facwordi 13860 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑀
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)) |
21 | 20 | 3exp 1121 |
. . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑀 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)))) |
22 | 18, 19, 21 | sylc 65 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀))) |
23 | | faccl 13854 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ) |
24 | 23 | nncnd 11851 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℂ) |
25 | 24 | mulid1d 10855 |
. . . . . 6
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀)
· 1) = (!‘𝑀)) |
26 | 25 | adantr 484 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · 1) = (!‘𝑀)) |
27 | | faccl 13854 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ) |
28 | 27 | nnred 11850 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℝ) |
29 | 28 | adantl 485 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ∈ ℝ) |
30 | 23 | nnred 11850 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℝ) |
31 | 23 | nnnn0d 12155 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ0) |
32 | 31 | nn0ge0d 12158 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ 0 ≤ (!‘𝑀)) |
33 | 30, 32 | jca 515 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀) ∈
ℝ ∧ 0 ≤ (!‘𝑀))) |
34 | 33 | adantr 484 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) ∈ ℝ ∧ 0 ≤ (!‘𝑀))) |
35 | 27 | nnge1d 11883 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 1 ≤ (!‘𝑁)) |
36 | 35 | adantl 485 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑁)) |
37 | | 1re 10838 |
. . . . . . 7
⊢ 1 ∈
ℝ |
38 | | lemul2a 11692 |
. . . . . . 7
⊢ (((1
∈ ℝ ∧ (!‘𝑁) ∈ ℝ ∧ ((!‘𝑀) ∈ ℝ ∧ 0 ≤
(!‘𝑀))) ∧ 1 ≤
(!‘𝑁)) →
((!‘𝑀) · 1)
≤ ((!‘𝑀) ·
(!‘𝑁))) |
39 | 37, 38 | mp3anl1 1457 |
. . . . . 6
⊢
((((!‘𝑁)
∈ ℝ ∧ ((!‘𝑀) ∈ ℝ ∧ 0 ≤ (!‘𝑀))) ∧ 1 ≤ (!‘𝑁)) → ((!‘𝑀) · 1) ≤
((!‘𝑀) ·
(!‘𝑁))) |
40 | 29, 34, 36, 39 | syl21anc 838 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · 1) ≤ ((!‘𝑀) · (!‘𝑁))) |
41 | 26, 40 | eqbrtrrd 5082 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) |
42 | 18 | faccld 13855 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℕ) |
43 | 42 | nnred 11850 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ) |
44 | 30 | adantr 484 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ∈ ℝ) |
45 | | remulcl 10819 |
. . . . . 6
⊢
(((!‘𝑀) ∈
ℝ ∧ (!‘𝑁)
∈ ℝ) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) |
46 | 30, 28, 45 | syl2an 599 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) |
47 | | letr 10931 |
. . . . 5
⊢
(((!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ ∧ (!‘𝑀) ∈ ℝ ∧
((!‘𝑀) ·
(!‘𝑁)) ∈
ℝ) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) ∧ (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
48 | 43, 44, 46, 47 | syl3anc 1373 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) ∧ (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
49 | 41, 48 | mpan2d 694 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
50 | 11, 22, 49 | 3syld 60 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
51 | | nn0re 12104 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℝ) |
52 | 51 | adantl 485 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈ ℝ) |
53 | | letr 10931 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈ ℝ
∧ ((𝑀 + 𝑁) / 2) ∈ ℝ ∧
𝑁 ∈ ℝ) →
(((⌊‘((𝑀 +
𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑁) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
54 | 6, 2, 52, 53 | syl3anc 1373 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑁) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
55 | 4, 54 | mpand 695 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑁 → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
56 | | simpr 488 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈
ℕ0) |
57 | | facwordi 13860 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑁
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)) |
58 | 57 | 3exp 1121 |
. . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑁 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)))) |
59 | 18, 56, 58 | sylc 65 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁))) |
60 | 27 | nncnd 11851 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℂ) |
61 | 60 | mulid2d 10856 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ (1 · (!‘𝑁)) = (!‘𝑁)) |
62 | 61 | adantl 485 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (1 · (!‘𝑁)) = (!‘𝑁)) |
63 | 27 | nnnn0d 12155 |
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ0) |
64 | 63 | nn0ge0d 12158 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ 0 ≤ (!‘𝑁)) |
65 | 28, 64 | jca 515 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ ((!‘𝑁) ∈
ℝ ∧ 0 ≤ (!‘𝑁))) |
66 | 65 | adantl 485 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑁) ∈ ℝ ∧ 0 ≤ (!‘𝑁))) |
67 | 23 | nnge1d 11883 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ 1 ≤ (!‘𝑀)) |
68 | 67 | adantr 484 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑀)) |
69 | | lemul1a 11691 |
. . . . . . 7
⊢ (((1
∈ ℝ ∧ (!‘𝑀) ∈ ℝ ∧ ((!‘𝑁) ∈ ℝ ∧ 0 ≤
(!‘𝑁))) ∧ 1 ≤
(!‘𝑀)) → (1
· (!‘𝑁)) ≤
((!‘𝑀) ·
(!‘𝑁))) |
70 | 37, 69 | mp3anl1 1457 |
. . . . . 6
⊢
((((!‘𝑀)
∈ ℝ ∧ ((!‘𝑁) ∈ ℝ ∧ 0 ≤ (!‘𝑁))) ∧ 1 ≤ (!‘𝑀)) → (1 ·
(!‘𝑁)) ≤
((!‘𝑀) ·
(!‘𝑁))) |
71 | 44, 66, 68, 70 | syl21anc 838 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (1 · (!‘𝑁)) ≤ ((!‘𝑀) · (!‘𝑁))) |
72 | 62, 71 | eqbrtrrd 5082 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) |
73 | | letr 10931 |
. . . . 5
⊢
(((!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ ∧ (!‘𝑁) ∈ ℝ ∧
((!‘𝑀) ·
(!‘𝑁)) ∈
ℝ) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) ∧ (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
74 | 43, 29, 46, 73 | syl3anc 1373 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) ∧ (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
75 | 72, 74 | mpan2d 694 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
76 | 55, 59, 75 | 3syld 60 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
77 | | avgle 12077 |
. . 3
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) |
78 | 7, 51, 77 | syl2an 599 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) |
79 | 50, 76, 78 | mpjaod 860 |
1
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁))) |