Proof of Theorem facavg
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | nn0readdcl 12593 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈ ℝ) | 
| 2 | 1 | rehalfcld 12513 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((𝑀 + 𝑁) / 2) ∈ ℝ) | 
| 3 |  | flle 13839 | . . . . 5
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) | 
| 4 | 2, 3 | syl 17 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ≤ ((𝑀 + 𝑁) / 2)) | 
| 5 |  | reflcl 13836 | . . . . . 6
⊢ (((𝑀 + 𝑁) / 2) ∈ ℝ →
(⌊‘((𝑀 + 𝑁) / 2)) ∈
ℝ) | 
| 6 | 2, 5 | syl 17 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈ ℝ) | 
| 7 |  | nn0re 12535 | . . . . . 6
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℝ) | 
| 8 | 7 | adantr 480 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈ ℝ) | 
| 9 |  | letr 11355 | . . . . 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 12561 | . . . . . . 7
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 + 𝑁) ∈
ℕ0) | 
| 13 | 12 | nn0ge0d 12590 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ (𝑀 + 𝑁)) | 
| 14 |  | halfnneg2 12497 | . . . . . . 7
⊢ ((𝑀 + 𝑁) ∈ ℝ → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) | 
| 15 | 1, 14 | syl 17 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0 ≤ (𝑀 + 𝑁) ↔ 0 ≤ ((𝑀 + 𝑁) / 2))) | 
| 16 | 13, 15 | mpbid 232 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 0 ≤ ((𝑀 + 𝑁) / 2)) | 
| 17 |  | flge0nn0 13860 | . . . . 5
⊢ ((((𝑀 + 𝑁) / 2) ∈ ℝ ∧ 0 ≤ ((𝑀 + 𝑁) / 2)) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) | 
| 18 | 2, 16, 17 | syl2anc 584 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (⌊‘((𝑀 + 𝑁) / 2)) ∈
ℕ0) | 
| 19 |  | simpl 482 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈
ℕ0) | 
| 20 |  | facwordi 14328 | . . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑀
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)) | 
| 21 | 20 | 3exp 1120 | . . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑀 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀)))) | 
| 22 | 18, 19, 21 | sylc 65 | . . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑀 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑀))) | 
| 23 |  | faccl 14322 | . . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ) | 
| 24 | 23 | nncnd 12282 | . . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℂ) | 
| 25 | 24 | mulridd 11278 | . . . . . 6
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀)
· 1) = (!‘𝑀)) | 
| 26 | 25 | adantr 480 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · 1) = (!‘𝑀)) | 
| 27 |  | faccl 14322 | . . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ) | 
| 28 | 27 | nnred 12281 | . . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℝ) | 
| 29 | 28 | adantl 481 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ∈ ℝ) | 
| 30 | 23 | nnred 12281 | . . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℝ) | 
| 31 | 23 | nnnn0d 12587 | . . . . . . . . 9
⊢ (𝑀 ∈ ℕ0
→ (!‘𝑀) ∈
ℕ0) | 
| 32 | 31 | nn0ge0d 12590 | . . . . . . . 8
⊢ (𝑀 ∈ ℕ0
→ 0 ≤ (!‘𝑀)) | 
| 33 | 30, 32 | jca 511 | . . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ ((!‘𝑀) ∈
ℝ ∧ 0 ≤ (!‘𝑀))) | 
| 34 | 33 | adantr 480 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) ∈ ℝ ∧ 0 ≤ (!‘𝑀))) | 
| 35 | 27 | nnge1d 12314 | . . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 1 ≤ (!‘𝑁)) | 
| 36 | 35 | adantl 481 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑁)) | 
| 37 |  | 1re 11261 | . . . . . . 7
⊢ 1 ∈
ℝ | 
| 38 |  | lemul2a 12122 | . . . . . . 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 5167 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ≤ ((!‘𝑀) · (!‘𝑁))) | 
| 42 | 18 | faccld 14323 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℕ) | 
| 43 | 42 | nnred 12281 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ∈ ℝ) | 
| 44 | 30 | adantr 480 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑀) ∈ ℝ) | 
| 45 |  | remulcl 11240 | . . . . . 6
⊢
(((!‘𝑀) ∈
ℝ ∧ (!‘𝑁)
∈ ℝ) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) | 
| 46 | 30, 28, 45 | syl2an 596 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑀) · (!‘𝑁)) ∈ ℝ) | 
| 47 |  | letr 11355 | . . . . 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 12535 | . . . . . 6
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℝ) | 
| 52 | 51 | adantl 481 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈ ℝ) | 
| 53 |  | letr 11355 | . . . . 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 484 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈
ℕ0) | 
| 57 |  | facwordi 14328 | . . . . 5
⊢
(((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 ∧ 𝑁
∈ ℕ0 ∧ (⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)) | 
| 58 | 57 | 3exp 1120 | . . . 4
⊢
((⌊‘((𝑀
+ 𝑁) / 2)) ∈
ℕ0 → (𝑁 ∈ ℕ0 →
((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁)))) | 
| 59 | 18, 56, 58 | sylc 65 | . . 3
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((⌊‘((𝑀 + 𝑁) / 2)) ≤ 𝑁 → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ (!‘𝑁))) | 
| 60 | 27 | nncnd 12282 | . . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℂ) | 
| 61 | 60 | mullidd 11279 | . . . . . 6
⊢ (𝑁 ∈ ℕ0
→ (1 · (!‘𝑁)) = (!‘𝑁)) | 
| 62 | 61 | adantl 481 | . . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (1 · (!‘𝑁)) = (!‘𝑁)) | 
| 63 | 27 | nnnn0d 12587 | . . . . . . . . 9
⊢ (𝑁 ∈ ℕ0
→ (!‘𝑁) ∈
ℕ0) | 
| 64 | 63 | nn0ge0d 12590 | . . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ 0 ≤ (!‘𝑁)) | 
| 65 | 28, 64 | jca 511 | . . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ ((!‘𝑁) ∈
ℝ ∧ 0 ≤ (!‘𝑁))) | 
| 66 | 65 | adantl 481 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((!‘𝑁) ∈ ℝ ∧ 0 ≤ (!‘𝑁))) | 
| 67 | 23 | nnge1d 12314 | . . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ 1 ≤ (!‘𝑀)) | 
| 68 | 67 | adantr 480 | . . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 1 ≤ (!‘𝑀)) | 
| 69 |  | lemul1a 12121 | . . . . . . 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 5167 | . . . 4
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘𝑁) ≤ ((!‘𝑀) · (!‘𝑁))) | 
| 73 |  | letr 11355 | . . . . 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 12508 | . . 3
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) | 
| 78 | 7, 51, 77 | syl2an 596 | . 2
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (((𝑀 + 𝑁) / 2) ≤ 𝑀 ∨ ((𝑀 + 𝑁) / 2) ≤ 𝑁)) | 
| 79 | 50, 76, 78 | mpjaod 861 | 1
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (!‘(⌊‘((𝑀 + 𝑁) / 2))) ≤ ((!‘𝑀) · (!‘𝑁))) |