Proof of Theorem facavg
Step | Hyp | Ref
| Expression |
1 | | nn0readdcl 11234 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈ ℝ) |
2 | 1 | rehalfcld 11156 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((𝑀 + 𝑁) / 2) ∈ ℝ) |
3 | | flle 12462 |
. . . . 5
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) |
4 | 2, 3 | syl 17 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) |
5 | | reflcl 12459 |
. . . . . 6
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ∈
ℝ) |
6 | 2, 5 | syl 17 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈ ℝ) |
7 | | nn0re 11178 |
. . . . . 6
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℝ) |
8 | 7 | adantr 480 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈ ℝ) |
9 | | letr 10010 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈ ℝ
∧ ((𝑀 + 𝑁) / 2) ∈ ℝ ∧
𝑀 ∈ ℝ) →
(((⌊‘((𝑀 +
𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑀) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
10 | 6, 2, 8, 9 | syl3anc 1318 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑀) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
11 | 4, 10 | mpand 707 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀)) |
12 | | nn0addcl 11205 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈
ℕ0) |
13 | 12 | nn0ge0d 11231 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ (𝑀 + 𝑁)) |
14 | | halfnneg2 11140 |
. . . . . . 7
⊢ ((𝑀 + 𝑁) ∈ ℝ → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) |
15 | 1, 14 | syl 17 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) |
16 | 13, 15 | mpbid 221 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ ((𝑀 + 𝑁) / 2)) |
17 | | flge0nn0 12483 |
. . . . 5
⊢ ((((𝑀 + 𝑁) / 2) ∈ ℝ ∧ 0 ≤ ((𝑀 + 𝑁) / 2)) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) |
18 | 2, 16, 17 | syl2anc 691 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) |
19 | | simpl 472 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈
ℕ0) |
20 | | facwordi 12938 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑀
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)) |
21 | 20 | 3exp 1256 |
. . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑀 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)))) |
22 | 18, 19, 21 | sylc 63 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀))) |
23 | | faccl 12932 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ) |
24 | 23 | nncnd 10913 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℂ) |
25 | 24 | mulid1d 9936 |
. . . . . 6
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀)
· 1) = (!‘𝑀)) |
26 | 25 | adantr 480 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · 1) = (!‘𝑀)) |
27 | | faccl 12932 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ) |
28 | 27 | nnred 10912 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℝ) |
29 | 28 | adantl 481 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ∈ ℝ) |
30 | 23 | nnred 10912 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℝ) |
31 | 23 | nnnn0d 11228 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ0) |
32 | 31 | nn0ge0d 11231 |
. . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ 0 ≤ (!‘𝑀)) |
33 | 30, 32 | jca 553 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀) ∈
ℝ ∧ 0 ≤ (!‘𝑀))) |
34 | 33 | adantr 480 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) ∈ ℝ ∧ 0 ≤ (!‘𝑀))) |
35 | 27 | nnge1d 10940 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 1 ≤ (!‘𝑁)) |
36 | 35 | adantl 481 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑁)) |
37 | | 1re 9918 |
. . . . . . 7
⊢ 1 ∈
ℝ |
38 | | lemul2a 10757 |
. . . . . . 7
⊢ (((1
∈ ℝ ∧ (!‘𝑁) ∈ ℝ ∧ ((!‘𝑀) ∈ ℝ ∧ 0 ≤
(!‘𝑀))) ∧ 1 ≤
(!‘𝑁)) →
((!‘𝑀) · 1)
≤ ((!‘𝑀) ·
(!‘𝑁))) |
39 | 37, 38 | mp3anl1 1410 |
. . . . . 6
⊢
((((!‘𝑁)
∈ ℝ ∧ ((!‘𝑀) ∈ ℝ ∧ 0 ≤ (!‘𝑀))) ∧ 1 ≤ (!‘𝑁)) → ((!‘𝑀) · 1) ≤
((!‘𝑀) ·
(!‘𝑁))) |
40 | 29, 34, 36, 39 | syl21anc 1317 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · 1) ≤ ((!‘𝑀) · (!‘𝑁))) |
41 | 26, 40 | eqbrtrrd 4607 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) |
42 | | faccl 12932 |
. . . . . . 7
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℕ) |
43 | 18, 42 | syl 17 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℕ) |
44 | 43 | nnred 10912 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ) |
45 | 30 | adantr 480 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ∈ ℝ) |
46 | | remulcl 9900 |
. . . . . 6
⊢
(((!‘𝑀) ∈
ℝ ∧ (!‘𝑁)
∈ ℝ) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) |
47 | 30, 28, 46 | syl2an 493 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) |
48 | | letr 10010 |
. . . . 5
⊢
(((!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ ∧ (!‘𝑀) ∈ ℝ ∧
((!‘𝑀) ·
(!‘𝑁)) ∈
ℝ) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) ∧ (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
49 | 44, 45, 47, 48 | syl3anc 1318 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) ∧ (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
50 | 41, 49 | mpan2d 706 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
51 | 11, 22, 50 | 3syld 58 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
52 | | nn0re 11178 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℝ) |
53 | 52 | adantl 481 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈ ℝ) |
54 | | letr 10010 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈ ℝ
∧ ((𝑀 + 𝑁) / 2) ∈ ℝ ∧
𝑁 ∈ ℝ) →
(((⌊‘((𝑀 +
𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑁) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
55 | 6, 2, 53, 54 | syl3anc 1318 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2) ∧ ((𝑀 + 𝑁) / 2) ≤ 𝑁) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
56 | 4, 55 | mpand 707 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑁 → (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁)) |
57 | | simpr 476 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈
ℕ0) |
58 | | facwordi 12938 |
. . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑁
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)) |
59 | 58 | 3exp 1256 |
. . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑁 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)))) |
60 | 18, 57, 59 | sylc 63 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁))) |
61 | 27 | nncnd 10913 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℂ) |
62 | 61 | mulid2d 9937 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ (1 · (!‘𝑁)) = (!‘𝑁)) |
63 | 62 | adantl 481 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (1 · (!‘𝑁)) = (!‘𝑁)) |
64 | 27 | nnnn0d 11228 |
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ0) |
65 | 64 | nn0ge0d 11231 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ 0 ≤ (!‘𝑁)) |
66 | 28, 65 | jca 553 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ ((!‘𝑁) ∈
ℝ ∧ 0 ≤ (!‘𝑁))) |
67 | 66 | adantl 481 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑁) ∈ ℝ ∧ 0 ≤ (!‘𝑁))) |
68 | 23 | nnge1d 10940 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ 1 ≤ (!‘𝑀)) |
69 | 68 | adantr 480 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑀)) |
70 | | lemul1a 10756 |
. . . . . . 7
⊢ (((1
∈ ℝ ∧ (!‘𝑀) ∈ ℝ ∧ ((!‘𝑁) ∈ ℝ ∧ 0 ≤
(!‘𝑁))) ∧ 1 ≤
(!‘𝑀)) → (1
· (!‘𝑁)) ≤
((!‘𝑀) ·
(!‘𝑁))) |
71 | 37, 70 | mp3anl1 1410 |
. . . . . 6
⊢
((((!‘𝑀)
∈ ℝ ∧ ((!‘𝑁) ∈ ℝ ∧ 0 ≤ (!‘𝑁))) ∧ 1 ≤ (!‘𝑀)) → (1 ·
(!‘𝑁)) ≤
((!‘𝑀) ·
(!‘𝑁))) |
72 | 45, 67, 69, 71 | syl21anc 1317 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (1 · (!‘𝑁)) ≤ ((!‘𝑀) · (!‘𝑁))) |
73 | 63, 72 | eqbrtrrd 4607 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) |
74 | | letr 10010 |
. . . . 5
⊢
(((!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ ∧ (!‘𝑁) ∈ ℝ ∧
((!‘𝑀) ·
(!‘𝑁)) ∈
ℝ) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) ∧ (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
75 | 44, 29, 47, 74 | syl3anc 1318 |
. . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) ∧ (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
76 | 73, 75 | mpan2d 706 |
. . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
77 | 56, 60, 76 | 3syld 58 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁)))) |
78 | | avgle 11151 |
. . 3
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) |
79 | 7, 52, 78 | syl2an 493 |
. 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) |
80 | 51, 77, 79 | mpjaod 395 |
1
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁))) |