Proof of Theorem ballotfilemsdom
| Step | Hyp | Ref
| Expression |
| 1 | | ballotth.m |
. . 3
⊢ 𝑀 ∈ ℕ |
| 2 | | ballotth.n |
. . 3
⊢ 𝑁 ∈ ℕ |
| 3 | | ballotfilem.o |
. . 3
⊢ 𝑂 = {𝑐 ∈ (𝒫 (1...(𝑀 + 𝑁)) ∩ Fin) ∣ (♯‘𝑐) = 𝑀} |
| 4 | | ballotfilem.p |
. . 3
⊢ 𝑃 = (𝑥 ∈ (𝒫 𝑂 ∩ Fin) ↦ ((♯‘𝑥) / (♯‘𝑂))) |
| 5 | | ballotth.f |
. . 3
⊢ 𝐹 = (𝑐 ∈ 𝑂 ↦ (𝑖 ∈ ℤ ↦
((♯‘((1...𝑖)
∩ 𝑐)) −
(♯‘((1...𝑖)
∖ 𝑐))))) |
| 6 | | ballotth.e |
. . 3
⊢ 𝐸 = {𝑐 ∈ 𝑂 ∣ ∀𝑖 ∈ (1...(𝑀 + 𝑁))0 < ((𝐹‘𝑐)‘𝑖)} |
| 7 | | ballotth.mgtn |
. . 3
⊢ 𝑁 < 𝑀 |
| 8 | | ballotth.i |
. . 3
⊢ 𝐼 = (𝑐 ∈ (𝑂 ∖ 𝐸) ↦ inf({𝑘 ∈ (1...(𝑀 + 𝑁)) ∣ ((𝐹‘𝑐)‘𝑘) = 0}, ℝ, < )) |
| 9 | | ballotth.s |
. . 3
⊢ 𝑆 = (𝑐 ∈ (𝑂 ∖ 𝐸) ↦ (𝑖 ∈ (1...(𝑀 + 𝑁)) ↦ if(𝑖 ≤ (𝐼‘𝑐), (((𝐼‘𝑐) + 1) − 𝑖), 𝑖))) |
| 10 | 1, 2, 3, 4, 5, 6, 7, 8, 9 | ballotfilemsv 13197 |
. 2
⊢ ((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) → ((𝑆‘𝐶)‘𝐽) = if(𝐽 ≤ (𝐼‘𝐶), (((𝐼‘𝐶) + 1) − 𝐽), 𝐽)) |
| 11 | 1, 2, 3, 4, 5, 6, 7, 8 | ballotfilemiex 13188 |
. . . . . . . 8
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → ((𝐼‘𝐶) ∈ (1...(𝑀 + 𝑁)) ∧ ((𝐹‘𝐶)‘(𝐼‘𝐶)) = 0)) |
| 12 | 11 | simpld 112 |
. . . . . . 7
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → (𝐼‘𝐶) ∈ (1...(𝑀 + 𝑁))) |
| 13 | 12 | elfzelzd 10379 |
. . . . . 6
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → (𝐼‘𝐶) ∈ ℤ) |
| 14 | 13 | ad2antrr 488 |
. . . . 5
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (𝐼‘𝐶) ∈ ℤ) |
| 15 | | nnaddcl 9274 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑀 + 𝑁) ∈ ℕ) |
| 16 | 1, 2, 15 | mp2an 426 |
. . . . . . 7
⊢ (𝑀 + 𝑁) ∈ ℕ |
| 17 | 16 | nnzi 9615 |
. . . . . 6
⊢ (𝑀 + 𝑁) ∈ ℤ |
| 18 | 17 | a1i 9 |
. . . . 5
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (𝑀 + 𝑁) ∈ ℤ) |
| 19 | 12 | ad2antrr 488 |
. . . . . 6
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (𝐼‘𝐶) ∈ (1...(𝑀 + 𝑁))) |
| 20 | | elfzle2 10382 |
. . . . . 6
⊢ ((𝐼‘𝐶) ∈ (1...(𝑀 + 𝑁)) → (𝐼‘𝐶) ≤ (𝑀 + 𝑁)) |
| 21 | 19, 20 | syl 14 |
. . . . 5
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (𝐼‘𝐶) ≤ (𝑀 + 𝑁)) |
| 22 | | eluz2 9877 |
. . . . . 6
⊢ ((𝑀 + 𝑁) ∈
(ℤ≥‘(𝐼‘𝐶)) ↔ ((𝐼‘𝐶) ∈ ℤ ∧ (𝑀 + 𝑁) ∈ ℤ ∧ (𝐼‘𝐶) ≤ (𝑀 + 𝑁))) |
| 23 | | fzss2 10419 |
. . . . . 6
⊢ ((𝑀 + 𝑁) ∈
(ℤ≥‘(𝐼‘𝐶)) → (1...(𝐼‘𝐶)) ⊆ (1...(𝑀 + 𝑁))) |
| 24 | 22, 23 | sylbir 135 |
. . . . 5
⊢ (((𝐼‘𝐶) ∈ ℤ ∧ (𝑀 + 𝑁) ∈ ℤ ∧ (𝐼‘𝐶) ≤ (𝑀 + 𝑁)) → (1...(𝐼‘𝐶)) ⊆ (1...(𝑀 + 𝑁))) |
| 25 | 14, 18, 21, 24 | syl3anc 1274 |
. . . 4
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (1...(𝐼‘𝐶)) ⊆ (1...(𝑀 + 𝑁))) |
| 26 | | 1zzd 9621 |
. . . . . . 7
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 1 ∈ ℤ) |
| 27 | | simplr 529 |
. . . . . . . 8
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 𝐽 ∈ (1...(𝑀 + 𝑁))) |
| 28 | 27 | elfzelzd 10379 |
. . . . . . 7
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 𝐽 ∈ ℤ) |
| 29 | | elfzle1 10381 |
. . . . . . . 8
⊢ (𝐽 ∈ (1...(𝑀 + 𝑁)) → 1 ≤ 𝐽) |
| 30 | 27, 29 | syl 14 |
. . . . . . 7
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 1 ≤ 𝐽) |
| 31 | | simpr 110 |
. . . . . . 7
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 𝐽 ≤ (𝐼‘𝐶)) |
| 32 | 26, 14, 28, 30, 31 | elfzd 10369 |
. . . . . 6
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → 𝐽 ∈ (1...(𝐼‘𝐶))) |
| 33 | | fzrev3i 10444 |
. . . . . 6
⊢ (𝐽 ∈ (1...(𝐼‘𝐶)) → ((1 + (𝐼‘𝐶)) − 𝐽) ∈ (1...(𝐼‘𝐶))) |
| 34 | 32, 33 | syl 14 |
. . . . 5
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → ((1 + (𝐼‘𝐶)) − 𝐽) ∈ (1...(𝐼‘𝐶))) |
| 35 | | 1cnd 8306 |
. . . . . . . . 9
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → 1 ∈ ℂ) |
| 36 | 13 | zcnd 9719 |
. . . . . . . . 9
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → (𝐼‘𝐶) ∈ ℂ) |
| 37 | 35, 36 | addcomd 8440 |
. . . . . . . 8
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → (1 + (𝐼‘𝐶)) = ((𝐼‘𝐶) + 1)) |
| 38 | 37 | oveq1d 6073 |
. . . . . . 7
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → ((1 + (𝐼‘𝐶)) − 𝐽) = (((𝐼‘𝐶) + 1) − 𝐽)) |
| 39 | 38 | eleq1d 2303 |
. . . . . 6
⊢ (𝐶 ∈ (𝑂 ∖ 𝐸) → (((1 + (𝐼‘𝐶)) − 𝐽) ∈ (1...(𝐼‘𝐶)) ↔ (((𝐼‘𝐶) + 1) − 𝐽) ∈ (1...(𝐼‘𝐶)))) |
| 40 | 39 | ad2antrr 488 |
. . . . 5
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (((1 + (𝐼‘𝐶)) − 𝐽) ∈ (1...(𝐼‘𝐶)) ↔ (((𝐼‘𝐶) + 1) − 𝐽) ∈ (1...(𝐼‘𝐶)))) |
| 41 | 34, 40 | mpbid 147 |
. . . 4
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (((𝐼‘𝐶) + 1) − 𝐽) ∈ (1...(𝐼‘𝐶))) |
| 42 | 25, 41 | sseldd 3243 |
. . 3
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ 𝐽 ≤ (𝐼‘𝐶)) → (((𝐼‘𝐶) + 1) − 𝐽) ∈ (1...(𝑀 + 𝑁))) |
| 43 | | simplr 529 |
. . 3
⊢ (((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) ∧ ¬ 𝐽 ≤ (𝐼‘𝐶)) → 𝐽 ∈ (1...(𝑀 + 𝑁))) |
| 44 | | elfzelz 10378 |
. . . 4
⊢ (𝐽 ∈ (1...(𝑀 + 𝑁)) → 𝐽 ∈ ℤ) |
| 45 | | zdcle 9671 |
. . . 4
⊢ ((𝐽 ∈ ℤ ∧ (𝐼‘𝐶) ∈ ℤ) →
DECID 𝐽 ≤
(𝐼‘𝐶)) |
| 46 | 44, 13, 45 | syl2anr 290 |
. . 3
⊢ ((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) → DECID 𝐽 ≤ (𝐼‘𝐶)) |
| 47 | 42, 43, 46 | ifcldadc 3656 |
. 2
⊢ ((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) → if(𝐽 ≤ (𝐼‘𝐶), (((𝐼‘𝐶) + 1) − 𝐽), 𝐽) ∈ (1...(𝑀 + 𝑁))) |
| 48 | 10, 47 | eqeltrd 2311 |
1
⊢ ((𝐶 ∈ (𝑂 ∖ 𝐸) ∧ 𝐽 ∈ (1...(𝑀 + 𝑁))) → ((𝑆‘𝐶)‘𝐽) ∈ (1...(𝑀 + 𝑁))) |