Step |
Hyp |
Ref |
Expression |
1 |
|
ballotth.m |
|- M e. NN |
2 |
|
ballotth.n |
|- N e. NN |
3 |
|
ballotth.o |
|- O = { c e. ~P ( 1 ... ( M + N ) ) | ( # ` c ) = M } |
4 |
|
ballotth.p |
|- P = ( x e. ~P O |-> ( ( # ` x ) / ( # ` O ) ) ) |
5 |
|
ballotth.f |
|- F = ( c e. O |-> ( i e. ZZ |-> ( ( # ` ( ( 1 ... i ) i^i c ) ) - ( # ` ( ( 1 ... i ) \ c ) ) ) ) ) |
6 |
|
ballotth.e |
|- E = { c e. O | A. i e. ( 1 ... ( M + N ) ) 0 < ( ( F ` c ) ` i ) } |
7 |
|
ballotth.mgtn |
|- N < M |
8 |
|
ballotth.i |
|- I = ( c e. ( O \ E ) |-> inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` c ) ` k ) = 0 } , RR , < ) ) |
9 |
|
ballotth.s |
|- S = ( c e. ( O \ E ) |-> ( i e. ( 1 ... ( M + N ) ) |-> if ( i <_ ( I ` c ) , ( ( ( I ` c ) + 1 ) - i ) , i ) ) ) |
10 |
|
ballotth.r |
|- R = ( c e. ( O \ E ) |-> ( ( S ` c ) " c ) ) |
11 |
|
ssrab2 |
|- { c e. O | A. i e. ( 1 ... ( M + N ) ) 0 < ( ( F ` c ) ` i ) } C_ O |
12 |
6 11
|
eqsstri |
|- E C_ O |
13 |
|
fzfi |
|- ( 1 ... ( M + N ) ) e. Fin |
14 |
|
pwfi |
|- ( ( 1 ... ( M + N ) ) e. Fin <-> ~P ( 1 ... ( M + N ) ) e. Fin ) |
15 |
13 14
|
mpbi |
|- ~P ( 1 ... ( M + N ) ) e. Fin |
16 |
|
ssrab2 |
|- { c e. ~P ( 1 ... ( M + N ) ) | ( # ` c ) = M } C_ ~P ( 1 ... ( M + N ) ) |
17 |
3 16
|
eqsstri |
|- O C_ ~P ( 1 ... ( M + N ) ) |
18 |
|
ssfi |
|- ( ( ~P ( 1 ... ( M + N ) ) e. Fin /\ O C_ ~P ( 1 ... ( M + N ) ) ) -> O e. Fin ) |
19 |
15 17 18
|
mp2an |
|- O e. Fin |
20 |
|
ssfi |
|- ( ( O e. Fin /\ E C_ O ) -> E e. Fin ) |
21 |
19 12 20
|
mp2an |
|- E e. Fin |
22 |
21
|
elexi |
|- E e. _V |
23 |
22
|
elpw |
|- ( E e. ~P O <-> E C_ O ) |
24 |
|
fveq2 |
|- ( x = E -> ( # ` x ) = ( # ` E ) ) |
25 |
24
|
oveq1d |
|- ( x = E -> ( ( # ` x ) / ( # ` O ) ) = ( ( # ` E ) / ( # ` O ) ) ) |
26 |
|
ovex |
|- ( ( # ` E ) / ( # ` O ) ) e. _V |
27 |
25 4 26
|
fvmpt |
|- ( E e. ~P O -> ( P ` E ) = ( ( # ` E ) / ( # ` O ) ) ) |
28 |
23 27
|
sylbir |
|- ( E C_ O -> ( P ` E ) = ( ( # ` E ) / ( # ` O ) ) ) |
29 |
12 28
|
ax-mp |
|- ( P ` E ) = ( ( # ` E ) / ( # ` O ) ) |
30 |
|
hashssdif |
|- ( ( O e. Fin /\ E C_ O ) -> ( # ` ( O \ E ) ) = ( ( # ` O ) - ( # ` E ) ) ) |
31 |
19 12 30
|
mp2an |
|- ( # ` ( O \ E ) ) = ( ( # ` O ) - ( # ` E ) ) |
32 |
31
|
eqcomi |
|- ( ( # ` O ) - ( # ` E ) ) = ( # ` ( O \ E ) ) |
33 |
|
hashcl |
|- ( O e. Fin -> ( # ` O ) e. NN0 ) |
34 |
19 33
|
ax-mp |
|- ( # ` O ) e. NN0 |
35 |
34
|
nn0cni |
|- ( # ` O ) e. CC |
36 |
|
hashcl |
|- ( E e. Fin -> ( # ` E ) e. NN0 ) |
37 |
21 36
|
ax-mp |
|- ( # ` E ) e. NN0 |
38 |
37
|
nn0cni |
|- ( # ` E ) e. CC |
39 |
|
difss |
|- ( O \ E ) C_ O |
40 |
|
ssfi |
|- ( ( O e. Fin /\ ( O \ E ) C_ O ) -> ( O \ E ) e. Fin ) |
41 |
19 39 40
|
mp2an |
|- ( O \ E ) e. Fin |
42 |
|
hashcl |
|- ( ( O \ E ) e. Fin -> ( # ` ( O \ E ) ) e. NN0 ) |
43 |
41 42
|
ax-mp |
|- ( # ` ( O \ E ) ) e. NN0 |
44 |
43
|
nn0cni |
|- ( # ` ( O \ E ) ) e. CC |
45 |
35 38 44
|
subsub23i |
|- ( ( ( # ` O ) - ( # ` E ) ) = ( # ` ( O \ E ) ) <-> ( ( # ` O ) - ( # ` ( O \ E ) ) ) = ( # ` E ) ) |
46 |
32 45
|
mpbi |
|- ( ( # ` O ) - ( # ` ( O \ E ) ) ) = ( # ` E ) |
47 |
46
|
oveq1i |
|- ( ( ( # ` O ) - ( # ` ( O \ E ) ) ) / ( # ` O ) ) = ( ( # ` E ) / ( # ` O ) ) |
48 |
29 47
|
eqtr4i |
|- ( P ` E ) = ( ( ( # ` O ) - ( # ` ( O \ E ) ) ) / ( # ` O ) ) |
49 |
1 2 3
|
ballotlem1 |
|- ( # ` O ) = ( ( M + N ) _C M ) |
50 |
1
|
nnnn0i |
|- M e. NN0 |
51 |
|
nnaddcl |
|- ( ( M e. NN /\ N e. NN ) -> ( M + N ) e. NN ) |
52 |
1 2 51
|
mp2an |
|- ( M + N ) e. NN |
53 |
52
|
nnnn0i |
|- ( M + N ) e. NN0 |
54 |
1
|
nnrei |
|- M e. RR |
55 |
2
|
nnnn0i |
|- N e. NN0 |
56 |
54 55
|
nn0addge1i |
|- M <_ ( M + N ) |
57 |
|
elfz2nn0 |
|- ( M e. ( 0 ... ( M + N ) ) <-> ( M e. NN0 /\ ( M + N ) e. NN0 /\ M <_ ( M + N ) ) ) |
58 |
50 53 56 57
|
mpbir3an |
|- M e. ( 0 ... ( M + N ) ) |
59 |
|
bccl2 |
|- ( M e. ( 0 ... ( M + N ) ) -> ( ( M + N ) _C M ) e. NN ) |
60 |
58 59
|
ax-mp |
|- ( ( M + N ) _C M ) e. NN |
61 |
60
|
nnne0i |
|- ( ( M + N ) _C M ) =/= 0 |
62 |
49 61
|
eqnetri |
|- ( # ` O ) =/= 0 |
63 |
35 62
|
pm3.2i |
|- ( ( # ` O ) e. CC /\ ( # ` O ) =/= 0 ) |
64 |
|
divsubdir |
|- ( ( ( # ` O ) e. CC /\ ( # ` ( O \ E ) ) e. CC /\ ( ( # ` O ) e. CC /\ ( # ` O ) =/= 0 ) ) -> ( ( ( # ` O ) - ( # ` ( O \ E ) ) ) / ( # ` O ) ) = ( ( ( # ` O ) / ( # ` O ) ) - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) ) |
65 |
35 44 63 64
|
mp3an |
|- ( ( ( # ` O ) - ( # ` ( O \ E ) ) ) / ( # ` O ) ) = ( ( ( # ` O ) / ( # ` O ) ) - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) |
66 |
35 62
|
dividi |
|- ( ( # ` O ) / ( # ` O ) ) = 1 |
67 |
66
|
oveq1i |
|- ( ( ( # ` O ) / ( # ` O ) ) - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) = ( 1 - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) |
68 |
48 65 67
|
3eqtri |
|- ( P ` E ) = ( 1 - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) |
69 |
1 2 3 4 5 6 7 8 9 10
|
ballotlem8 |
|- ( # ` { c e. ( O \ E ) | 1 e. c } ) = ( # ` { c e. ( O \ E ) | -. 1 e. c } ) |
70 |
69
|
oveq1i |
|- ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) = ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) |
71 |
70
|
oveq1i |
|- ( ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) = ( ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) |
72 |
|
rabxm |
|- ( O \ E ) = ( { c e. ( O \ E ) | 1 e. c } u. { c e. ( O \ E ) | -. 1 e. c } ) |
73 |
72
|
fveq2i |
|- ( # ` ( O \ E ) ) = ( # ` ( { c e. ( O \ E ) | 1 e. c } u. { c e. ( O \ E ) | -. 1 e. c } ) ) |
74 |
|
ssrab2 |
|- { c e. ( O \ E ) | 1 e. c } C_ ( O \ E ) |
75 |
74 39
|
sstri |
|- { c e. ( O \ E ) | 1 e. c } C_ O |
76 |
75 17
|
sstri |
|- { c e. ( O \ E ) | 1 e. c } C_ ~P ( 1 ... ( M + N ) ) |
77 |
|
ssfi |
|- ( ( ~P ( 1 ... ( M + N ) ) e. Fin /\ { c e. ( O \ E ) | 1 e. c } C_ ~P ( 1 ... ( M + N ) ) ) -> { c e. ( O \ E ) | 1 e. c } e. Fin ) |
78 |
15 76 77
|
mp2an |
|- { c e. ( O \ E ) | 1 e. c } e. Fin |
79 |
|
ssrab2 |
|- { c e. ( O \ E ) | -. 1 e. c } C_ ( O \ E ) |
80 |
79 39
|
sstri |
|- { c e. ( O \ E ) | -. 1 e. c } C_ O |
81 |
80 17
|
sstri |
|- { c e. ( O \ E ) | -. 1 e. c } C_ ~P ( 1 ... ( M + N ) ) |
82 |
|
ssfi |
|- ( ( ~P ( 1 ... ( M + N ) ) e. Fin /\ { c e. ( O \ E ) | -. 1 e. c } C_ ~P ( 1 ... ( M + N ) ) ) -> { c e. ( O \ E ) | -. 1 e. c } e. Fin ) |
83 |
15 81 82
|
mp2an |
|- { c e. ( O \ E ) | -. 1 e. c } e. Fin |
84 |
|
rabnc |
|- ( { c e. ( O \ E ) | 1 e. c } i^i { c e. ( O \ E ) | -. 1 e. c } ) = (/) |
85 |
|
hashun |
|- ( ( { c e. ( O \ E ) | 1 e. c } e. Fin /\ { c e. ( O \ E ) | -. 1 e. c } e. Fin /\ ( { c e. ( O \ E ) | 1 e. c } i^i { c e. ( O \ E ) | -. 1 e. c } ) = (/) ) -> ( # ` ( { c e. ( O \ E ) | 1 e. c } u. { c e. ( O \ E ) | -. 1 e. c } ) ) = ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) ) |
86 |
78 83 84 85
|
mp3an |
|- ( # ` ( { c e. ( O \ E ) | 1 e. c } u. { c e. ( O \ E ) | -. 1 e. c } ) ) = ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) |
87 |
73 86
|
eqtri |
|- ( # ` ( O \ E ) ) = ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) |
88 |
87
|
oveq1i |
|- ( ( # ` ( O \ E ) ) / ( # ` O ) ) = ( ( ( # ` { c e. ( O \ E ) | 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) |
89 |
|
ssrab2 |
|- { c e. O | -. 1 e. c } C_ O |
90 |
19
|
elexi |
|- O e. _V |
91 |
90
|
elpw2 |
|- ( { c e. O | -. 1 e. c } e. ~P O <-> { c e. O | -. 1 e. c } C_ O ) |
92 |
89 91
|
mpbir |
|- { c e. O | -. 1 e. c } e. ~P O |
93 |
|
fveq2 |
|- ( x = { c e. O | -. 1 e. c } -> ( # ` x ) = ( # ` { c e. O | -. 1 e. c } ) ) |
94 |
93
|
oveq1d |
|- ( x = { c e. O | -. 1 e. c } -> ( ( # ` x ) / ( # ` O ) ) = ( ( # ` { c e. O | -. 1 e. c } ) / ( # ` O ) ) ) |
95 |
|
ovex |
|- ( ( # ` { c e. O | -. 1 e. c } ) / ( # ` O ) ) e. _V |
96 |
94 4 95
|
fvmpt |
|- ( { c e. O | -. 1 e. c } e. ~P O -> ( P ` { c e. O | -. 1 e. c } ) = ( ( # ` { c e. O | -. 1 e. c } ) / ( # ` O ) ) ) |
97 |
92 96
|
ax-mp |
|- ( P ` { c e. O | -. 1 e. c } ) = ( ( # ` { c e. O | -. 1 e. c } ) / ( # ` O ) ) |
98 |
1 2 3 4
|
ballotlem2 |
|- ( P ` { c e. O | -. 1 e. c } ) = ( N / ( M + N ) ) |
99 |
|
nfrab1 |
|- F/_ c { c e. O | -. 1 e. c } |
100 |
|
nfrab1 |
|- F/_ c { c e. ( O \ E ) | -. 1 e. c } |
101 |
99 100
|
dfss2f |
|- ( { c e. O | -. 1 e. c } C_ { c e. ( O \ E ) | -. 1 e. c } <-> A. c ( c e. { c e. O | -. 1 e. c } -> c e. { c e. ( O \ E ) | -. 1 e. c } ) ) |
102 |
1 2 3 4 5 6
|
ballotlem4 |
|- ( c e. O -> ( -. 1 e. c -> -. c e. E ) ) |
103 |
102
|
imdistani |
|- ( ( c e. O /\ -. 1 e. c ) -> ( c e. O /\ -. c e. E ) ) |
104 |
|
rabid |
|- ( c e. { c e. O | -. 1 e. c } <-> ( c e. O /\ -. 1 e. c ) ) |
105 |
|
eldif |
|- ( c e. ( O \ E ) <-> ( c e. O /\ -. c e. E ) ) |
106 |
103 104 105
|
3imtr4i |
|- ( c e. { c e. O | -. 1 e. c } -> c e. ( O \ E ) ) |
107 |
104
|
simprbi |
|- ( c e. { c e. O | -. 1 e. c } -> -. 1 e. c ) |
108 |
|
rabid |
|- ( c e. { c e. ( O \ E ) | -. 1 e. c } <-> ( c e. ( O \ E ) /\ -. 1 e. c ) ) |
109 |
106 107 108
|
sylanbrc |
|- ( c e. { c e. O | -. 1 e. c } -> c e. { c e. ( O \ E ) | -. 1 e. c } ) |
110 |
101 109
|
mpgbir |
|- { c e. O | -. 1 e. c } C_ { c e. ( O \ E ) | -. 1 e. c } |
111 |
|
rabss2 |
|- ( ( O \ E ) C_ O -> { c e. ( O \ E ) | -. 1 e. c } C_ { c e. O | -. 1 e. c } ) |
112 |
39 111
|
ax-mp |
|- { c e. ( O \ E ) | -. 1 e. c } C_ { c e. O | -. 1 e. c } |
113 |
110 112
|
eqssi |
|- { c e. O | -. 1 e. c } = { c e. ( O \ E ) | -. 1 e. c } |
114 |
113
|
fveq2i |
|- ( # ` { c e. O | -. 1 e. c } ) = ( # ` { c e. ( O \ E ) | -. 1 e. c } ) |
115 |
114
|
oveq1i |
|- ( ( # ` { c e. O | -. 1 e. c } ) / ( # ` O ) ) = ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) / ( # ` O ) ) |
116 |
97 98 115
|
3eqtr3i |
|- ( N / ( M + N ) ) = ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) / ( # ` O ) ) |
117 |
116
|
oveq2i |
|- ( 2 x. ( N / ( M + N ) ) ) = ( 2 x. ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) / ( # ` O ) ) ) |
118 |
|
2cn |
|- 2 e. CC |
119 |
|
hashcl |
|- ( { c e. ( O \ E ) | -. 1 e. c } e. Fin -> ( # ` { c e. ( O \ E ) | -. 1 e. c } ) e. NN0 ) |
120 |
83 119
|
ax-mp |
|- ( # ` { c e. ( O \ E ) | -. 1 e. c } ) e. NN0 |
121 |
120
|
nn0cni |
|- ( # ` { c e. ( O \ E ) | -. 1 e. c } ) e. CC |
122 |
118 121 35 62
|
divassi |
|- ( ( 2 x. ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) = ( 2 x. ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) / ( # ` O ) ) ) |
123 |
121
|
2timesi |
|- ( 2 x. ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) = ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) |
124 |
123
|
oveq1i |
|- ( ( 2 x. ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) = ( ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) |
125 |
117 122 124
|
3eqtr2i |
|- ( 2 x. ( N / ( M + N ) ) ) = ( ( ( # ` { c e. ( O \ E ) | -. 1 e. c } ) + ( # ` { c e. ( O \ E ) | -. 1 e. c } ) ) / ( # ` O ) ) |
126 |
71 88 125
|
3eqtr4ri |
|- ( 2 x. ( N / ( M + N ) ) ) = ( ( # ` ( O \ E ) ) / ( # ` O ) ) |
127 |
126
|
oveq2i |
|- ( 1 - ( 2 x. ( N / ( M + N ) ) ) ) = ( 1 - ( ( # ` ( O \ E ) ) / ( # ` O ) ) ) |
128 |
52
|
nncni |
|- ( M + N ) e. CC |
129 |
2
|
nncni |
|- N e. CC |
130 |
118 129
|
mulcli |
|- ( 2 x. N ) e. CC |
131 |
52
|
nnne0i |
|- ( M + N ) =/= 0 |
132 |
128 131
|
pm3.2i |
|- ( ( M + N ) e. CC /\ ( M + N ) =/= 0 ) |
133 |
|
divsubdir |
|- ( ( ( M + N ) e. CC /\ ( 2 x. N ) e. CC /\ ( ( M + N ) e. CC /\ ( M + N ) =/= 0 ) ) -> ( ( ( M + N ) - ( 2 x. N ) ) / ( M + N ) ) = ( ( ( M + N ) / ( M + N ) ) - ( ( 2 x. N ) / ( M + N ) ) ) ) |
134 |
128 130 132 133
|
mp3an |
|- ( ( ( M + N ) - ( 2 x. N ) ) / ( M + N ) ) = ( ( ( M + N ) / ( M + N ) ) - ( ( 2 x. N ) / ( M + N ) ) ) |
135 |
129
|
2timesi |
|- ( 2 x. N ) = ( N + N ) |
136 |
135
|
oveq2i |
|- ( ( M + N ) - ( 2 x. N ) ) = ( ( M + N ) - ( N + N ) ) |
137 |
1
|
nncni |
|- M e. CC |
138 |
137 129 129 129
|
addsub4i |
|- ( ( M + N ) - ( N + N ) ) = ( ( M - N ) + ( N - N ) ) |
139 |
129
|
subidi |
|- ( N - N ) = 0 |
140 |
139
|
oveq2i |
|- ( ( M - N ) + ( N - N ) ) = ( ( M - N ) + 0 ) |
141 |
137 129
|
subcli |
|- ( M - N ) e. CC |
142 |
141
|
addid1i |
|- ( ( M - N ) + 0 ) = ( M - N ) |
143 |
138 140 142
|
3eqtri |
|- ( ( M + N ) - ( N + N ) ) = ( M - N ) |
144 |
136 143
|
eqtri |
|- ( ( M + N ) - ( 2 x. N ) ) = ( M - N ) |
145 |
144
|
oveq1i |
|- ( ( ( M + N ) - ( 2 x. N ) ) / ( M + N ) ) = ( ( M - N ) / ( M + N ) ) |
146 |
128 131
|
dividi |
|- ( ( M + N ) / ( M + N ) ) = 1 |
147 |
118 129 128 131
|
divassi |
|- ( ( 2 x. N ) / ( M + N ) ) = ( 2 x. ( N / ( M + N ) ) ) |
148 |
146 147
|
oveq12i |
|- ( ( ( M + N ) / ( M + N ) ) - ( ( 2 x. N ) / ( M + N ) ) ) = ( 1 - ( 2 x. ( N / ( M + N ) ) ) ) |
149 |
134 145 148
|
3eqtr3ri |
|- ( 1 - ( 2 x. ( N / ( M + N ) ) ) ) = ( ( M - N ) / ( M + N ) ) |
150 |
68 127 149
|
3eqtr2i |
|- ( P ` E ) = ( ( M - N ) / ( M + N ) ) |