Mathbox for Thierry Arnoux |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > Mathboxes > ballotlemfmpn | Structured version Visualization version GIF version |
Description: (𝐹‘𝐶) finishes counting at (𝑀 − 𝑁). (Contributed by Thierry Arnoux, 25-Nov-2016.) |
Ref | Expression |
---|---|
ballotth.m | ⊢ 𝑀 ∈ ℕ |
ballotth.n | ⊢ 𝑁 ∈ ℕ |
ballotth.o | ⊢ 𝑂 = {𝑐 ∈ 𝒫 (1...(𝑀 + 𝑁)) ∣ (#‘𝑐) = 𝑀} |
ballotth.p | ⊢ 𝑃 = (𝑥 ∈ 𝒫 𝑂 ↦ ((#‘𝑥) / (#‘𝑂))) |
ballotth.f | ⊢ 𝐹 = (𝑐 ∈ 𝑂 ↦ (𝑖 ∈ ℤ ↦ ((#‘((1...𝑖) ∩ 𝑐)) − (#‘((1...𝑖) ∖ 𝑐))))) |
Ref | Expression |
---|---|
ballotlemfmpn | ⊢ (𝐶 ∈ 𝑂 → ((𝐹‘𝐶)‘(𝑀 + 𝑁)) = (𝑀 − 𝑁)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | ballotth.m | . . 3 ⊢ 𝑀 ∈ ℕ | |
2 | ballotth.n | . . 3 ⊢ 𝑁 ∈ ℕ | |
3 | ballotth.o | . . 3 ⊢ 𝑂 = {𝑐 ∈ 𝒫 (1...(𝑀 + 𝑁)) ∣ (#‘𝑐) = 𝑀} | |
4 | ballotth.p | . . 3 ⊢ 𝑃 = (𝑥 ∈ 𝒫 𝑂 ↦ ((#‘𝑥) / (#‘𝑂))) | |
5 | ballotth.f | . . 3 ⊢ 𝐹 = (𝑐 ∈ 𝑂 ↦ (𝑖 ∈ ℤ ↦ ((#‘((1...𝑖) ∩ 𝑐)) − (#‘((1...𝑖) ∖ 𝑐))))) | |
6 | id 22 | . . 3 ⊢ (𝐶 ∈ 𝑂 → 𝐶 ∈ 𝑂) | |
7 | nnaddcl 10919 | . . . . . 6 ⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑀 + 𝑁) ∈ ℕ) | |
8 | 1, 2, 7 | mp2an 704 | . . . . 5 ⊢ (𝑀 + 𝑁) ∈ ℕ |
9 | 8 | nnzi 11278 | . . . 4 ⊢ (𝑀 + 𝑁) ∈ ℤ |
10 | 9 | a1i 11 | . . 3 ⊢ (𝐶 ∈ 𝑂 → (𝑀 + 𝑁) ∈ ℤ) |
11 | 1, 2, 3, 4, 5, 6, 10 | ballotlemfval 29878 | . 2 ⊢ (𝐶 ∈ 𝑂 → ((𝐹‘𝐶)‘(𝑀 + 𝑁)) = ((#‘((1...(𝑀 + 𝑁)) ∩ 𝐶)) − (#‘((1...(𝑀 + 𝑁)) ∖ 𝐶)))) |
12 | ssrab2 3650 | . . . . . . . . 9 ⊢ {𝑐 ∈ 𝒫 (1...(𝑀 + 𝑁)) ∣ (#‘𝑐) = 𝑀} ⊆ 𝒫 (1...(𝑀 + 𝑁)) | |
13 | 3, 12 | eqsstri 3598 | . . . . . . . 8 ⊢ 𝑂 ⊆ 𝒫 (1...(𝑀 + 𝑁)) |
14 | 13 | sseli 3564 | . . . . . . 7 ⊢ (𝐶 ∈ 𝑂 → 𝐶 ∈ 𝒫 (1...(𝑀 + 𝑁))) |
15 | 14 | elpwid 4118 | . . . . . 6 ⊢ (𝐶 ∈ 𝑂 → 𝐶 ⊆ (1...(𝑀 + 𝑁))) |
16 | sseqin2 3779 | . . . . . 6 ⊢ (𝐶 ⊆ (1...(𝑀 + 𝑁)) ↔ ((1...(𝑀 + 𝑁)) ∩ 𝐶) = 𝐶) | |
17 | 15, 16 | sylib 207 | . . . . 5 ⊢ (𝐶 ∈ 𝑂 → ((1...(𝑀 + 𝑁)) ∩ 𝐶) = 𝐶) |
18 | 17 | fveq2d 6107 | . . . 4 ⊢ (𝐶 ∈ 𝑂 → (#‘((1...(𝑀 + 𝑁)) ∩ 𝐶)) = (#‘𝐶)) |
19 | rabssab 3652 | . . . . . . 7 ⊢ {𝑐 ∈ 𝒫 (1...(𝑀 + 𝑁)) ∣ (#‘𝑐) = 𝑀} ⊆ {𝑐 ∣ (#‘𝑐) = 𝑀} | |
20 | 19 | sseli 3564 | . . . . . 6 ⊢ (𝐶 ∈ {𝑐 ∈ 𝒫 (1...(𝑀 + 𝑁)) ∣ (#‘𝑐) = 𝑀} → 𝐶 ∈ {𝑐 ∣ (#‘𝑐) = 𝑀}) |
21 | 20, 3 | eleq2s 2706 | . . . . 5 ⊢ (𝐶 ∈ 𝑂 → 𝐶 ∈ {𝑐 ∣ (#‘𝑐) = 𝑀}) |
22 | fveq2 6103 | . . . . . . 7 ⊢ (𝑏 = 𝐶 → (#‘𝑏) = (#‘𝐶)) | |
23 | 22 | eqeq1d 2612 | . . . . . 6 ⊢ (𝑏 = 𝐶 → ((#‘𝑏) = 𝑀 ↔ (#‘𝐶) = 𝑀)) |
24 | fveq2 6103 | . . . . . . . 8 ⊢ (𝑐 = 𝑏 → (#‘𝑐) = (#‘𝑏)) | |
25 | 24 | eqeq1d 2612 | . . . . . . 7 ⊢ (𝑐 = 𝑏 → ((#‘𝑐) = 𝑀 ↔ (#‘𝑏) = 𝑀)) |
26 | 25 | cbvabv 2734 | . . . . . 6 ⊢ {𝑐 ∣ (#‘𝑐) = 𝑀} = {𝑏 ∣ (#‘𝑏) = 𝑀} |
27 | 23, 26 | elab2g 3322 | . . . . 5 ⊢ (𝐶 ∈ 𝑂 → (𝐶 ∈ {𝑐 ∣ (#‘𝑐) = 𝑀} ↔ (#‘𝐶) = 𝑀)) |
28 | 21, 27 | mpbid 221 | . . . 4 ⊢ (𝐶 ∈ 𝑂 → (#‘𝐶) = 𝑀) |
29 | 18, 28 | eqtrd 2644 | . . 3 ⊢ (𝐶 ∈ 𝑂 → (#‘((1...(𝑀 + 𝑁)) ∩ 𝐶)) = 𝑀) |
30 | fzfi 12633 | . . . . 5 ⊢ (1...(𝑀 + 𝑁)) ∈ Fin | |
31 | hashssdif 13061 | . . . . 5 ⊢ (((1...(𝑀 + 𝑁)) ∈ Fin ∧ 𝐶 ⊆ (1...(𝑀 + 𝑁))) → (#‘((1...(𝑀 + 𝑁)) ∖ 𝐶)) = ((#‘(1...(𝑀 + 𝑁))) − (#‘𝐶))) | |
32 | 30, 15, 31 | sylancr 694 | . . . 4 ⊢ (𝐶 ∈ 𝑂 → (#‘((1...(𝑀 + 𝑁)) ∖ 𝐶)) = ((#‘(1...(𝑀 + 𝑁))) − (#‘𝐶))) |
33 | 8 | nnnn0i 11177 | . . . . . 6 ⊢ (𝑀 + 𝑁) ∈ ℕ0 |
34 | hashfz1 12996 | . . . . . 6 ⊢ ((𝑀 + 𝑁) ∈ ℕ0 → (#‘(1...(𝑀 + 𝑁))) = (𝑀 + 𝑁)) | |
35 | 33, 34 | mp1i 13 | . . . . 5 ⊢ (𝐶 ∈ 𝑂 → (#‘(1...(𝑀 + 𝑁))) = (𝑀 + 𝑁)) |
36 | 35, 28 | oveq12d 6567 | . . . 4 ⊢ (𝐶 ∈ 𝑂 → ((#‘(1...(𝑀 + 𝑁))) − (#‘𝐶)) = ((𝑀 + 𝑁) − 𝑀)) |
37 | 1 | nncni 10907 | . . . . . 6 ⊢ 𝑀 ∈ ℂ |
38 | 2 | nncni 10907 | . . . . . 6 ⊢ 𝑁 ∈ ℂ |
39 | pncan2 10167 | . . . . . 6 ⊢ ((𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ) → ((𝑀 + 𝑁) − 𝑀) = 𝑁) | |
40 | 37, 38, 39 | mp2an 704 | . . . . 5 ⊢ ((𝑀 + 𝑁) − 𝑀) = 𝑁 |
41 | 40 | a1i 11 | . . . 4 ⊢ (𝐶 ∈ 𝑂 → ((𝑀 + 𝑁) − 𝑀) = 𝑁) |
42 | 32, 36, 41 | 3eqtrd 2648 | . . 3 ⊢ (𝐶 ∈ 𝑂 → (#‘((1...(𝑀 + 𝑁)) ∖ 𝐶)) = 𝑁) |
43 | 29, 42 | oveq12d 6567 | . 2 ⊢ (𝐶 ∈ 𝑂 → ((#‘((1...(𝑀 + 𝑁)) ∩ 𝐶)) − (#‘((1...(𝑀 + 𝑁)) ∖ 𝐶))) = (𝑀 − 𝑁)) |
44 | 11, 43 | eqtrd 2644 | 1 ⊢ (𝐶 ∈ 𝑂 → ((𝐹‘𝐶)‘(𝑀 + 𝑁)) = (𝑀 − 𝑁)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 = wceq 1475 ∈ wcel 1977 {cab 2596 {crab 2900 ∖ cdif 3537 ∩ cin 3539 ⊆ wss 3540 𝒫 cpw 4108 ↦ cmpt 4643 ‘cfv 5804 (class class class)co 6549 Fincfn 7841 ℂcc 9813 1c1 9816 + caddc 9818 − cmin 10145 / cdiv 10563 ℕcn 10897 ℕ0cn0 11169 ℤcz 11254 ...cfz 12197 #chash 12979 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1713 ax-4 1728 ax-5 1827 ax-6 1875 ax-7 1922 ax-8 1979 ax-9 1986 ax-10 2006 ax-11 2021 ax-12 2034 ax-13 2234 ax-ext 2590 ax-rep 4699 ax-sep 4709 ax-nul 4717 ax-pow 4769 ax-pr 4833 ax-un 6847 ax-cnex 9871 ax-resscn 9872 ax-1cn 9873 ax-icn 9874 ax-addcl 9875 ax-addrcl 9876 ax-mulcl 9877 ax-mulrcl 9878 ax-mulcom 9879 ax-addass 9880 ax-mulass 9881 ax-distr 9882 ax-i2m1 9883 ax-1ne0 9884 ax-1rid 9885 ax-rnegex 9886 ax-rrecex 9887 ax-cnre 9888 ax-pre-lttri 9889 ax-pre-lttrn 9890 ax-pre-ltadd 9891 ax-pre-mulgt0 9892 |
This theorem depends on definitions: df-bi 196 df-or 384 df-an 385 df-3or 1032 df-3an 1033 df-tru 1478 df-ex 1696 df-nf 1701 df-sb 1868 df-eu 2462 df-mo 2463 df-clab 2597 df-cleq 2603 df-clel 2606 df-nfc 2740 df-ne 2782 df-nel 2783 df-ral 2901 df-rex 2902 df-reu 2903 df-rmo 2904 df-rab 2905 df-v 3175 df-sbc 3403 df-csb 3500 df-dif 3543 df-un 3545 df-in 3547 df-ss 3554 df-pss 3556 df-nul 3875 df-if 4037 df-pw 4110 df-sn 4126 df-pr 4128 df-tp 4130 df-op 4132 df-uni 4373 df-int 4411 df-iun 4457 df-br 4584 df-opab 4644 df-mpt 4645 df-tr 4681 df-eprel 4949 df-id 4953 df-po 4959 df-so 4960 df-fr 4997 df-we 4999 df-xp 5044 df-rel 5045 df-cnv 5046 df-co 5047 df-dm 5048 df-rn 5049 df-res 5050 df-ima 5051 df-pred 5597 df-ord 5643 df-on 5644 df-lim 5645 df-suc 5646 df-iota 5768 df-fun 5806 df-fn 5807 df-f 5808 df-f1 5809 df-fo 5810 df-f1o 5811 df-fv 5812 df-riota 6511 df-ov 6552 df-oprab 6553 df-mpt2 6554 df-om 6958 df-1st 7059 df-2nd 7060 df-wrecs 7294 df-recs 7355 df-rdg 7393 df-1o 7447 df-oadd 7451 df-er 7629 df-en 7842 df-dom 7843 df-sdom 7844 df-fin 7845 df-card 8648 df-cda 8873 df-pnf 9955 df-mnf 9956 df-xr 9957 df-ltxr 9958 df-le 9959 df-sub 10147 df-neg 10148 df-nn 10898 df-n0 11170 df-z 11255 df-uz 11564 df-fz 12198 df-hash 12980 |
This theorem is referenced by: ballotlem5 29888 |
Copyright terms: Public domain | W3C validator |