Metamath Proof Explorer


Theorem ballotlem1c

Description: If the first vote is for A, the vote on the first tie is for B. (Contributed by Thierry Arnoux, 4-Apr-2017)

Ref Expression
Hypotheses ballotth.m
|- M e. NN
ballotth.n
|- N e. NN
ballotth.o
|- O = { c e. ~P ( 1 ... ( M + N ) ) | ( # ` c ) = M }
ballotth.p
|- P = ( x e. ~P O |-> ( ( # ` x ) / ( # ` O ) ) )
ballotth.f
|- F = ( c e. O |-> ( i e. ZZ |-> ( ( # ` ( ( 1 ... i ) i^i c ) ) - ( # ` ( ( 1 ... i ) \ c ) ) ) ) )
ballotth.e
|- E = { c e. O | A. i e. ( 1 ... ( M + N ) ) 0 < ( ( F ` c ) ` i ) }
ballotth.mgtn
|- N < M
ballotth.i
|- I = ( c e. ( O \ E ) |-> inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` c ) ` k ) = 0 } , RR , < ) )
Assertion ballotlem1c
|- ( ( C e. ( O \ E ) /\ 1 e. C ) -> -. ( I ` C ) e. C )

Proof

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 eldifi
 |-  ( C e. ( O \ E ) -> C e. O )
10 9 ad2antrr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> C e. O )
11 1 2 3 4 5 6 7 8 ballotlemiex
 |-  ( C e. ( O \ E ) -> ( ( I ` C ) e. ( 1 ... ( M + N ) ) /\ ( ( F ` C ) ` ( I ` C ) ) = 0 ) )
12 11 simpld
 |-  ( C e. ( O \ E ) -> ( I ` C ) e. ( 1 ... ( M + N ) ) )
13 elfznn
 |-  ( ( I ` C ) e. ( 1 ... ( M + N ) ) -> ( I ` C ) e. NN )
14 12 13 syl
 |-  ( C e. ( O \ E ) -> ( I ` C ) e. NN )
15 14 adantr
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( I ` C ) e. NN )
16 1 2 3 4 5 6 7 8 ballotlemii
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( I ` C ) =/= 1 )
17 eluz2b3
 |-  ( ( I ` C ) e. ( ZZ>= ` 2 ) <-> ( ( I ` C ) e. NN /\ ( I ` C ) =/= 1 ) )
18 15 16 17 sylanbrc
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( I ` C ) e. ( ZZ>= ` 2 ) )
19 uz2m1nn
 |-  ( ( I ` C ) e. ( ZZ>= ` 2 ) -> ( ( I ` C ) - 1 ) e. NN )
20 18 19 syl
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( ( I ` C ) - 1 ) e. NN )
21 20 adantr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> ( ( I ` C ) - 1 ) e. NN )
22 fveq2
 |-  ( i = 1 -> ( ( F ` C ) ` i ) = ( ( F ` C ) ` 1 ) )
23 22 breq2d
 |-  ( i = 1 -> ( 0 <_ ( ( F ` C ) ` i ) <-> 0 <_ ( ( F ` C ) ` 1 ) ) )
24 elnnuz
 |-  ( ( ( I ` C ) - 1 ) e. NN <-> ( ( I ` C ) - 1 ) e. ( ZZ>= ` 1 ) )
25 24 biimpi
 |-  ( ( ( I ` C ) - 1 ) e. NN -> ( ( I ` C ) - 1 ) e. ( ZZ>= ` 1 ) )
26 eluzfz1
 |-  ( ( ( I ` C ) - 1 ) e. ( ZZ>= ` 1 ) -> 1 e. ( 1 ... ( ( I ` C ) - 1 ) ) )
27 20 25 26 3syl
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> 1 e. ( 1 ... ( ( I ` C ) - 1 ) ) )
28 27 adantr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> 1 e. ( 1 ... ( ( I ` C ) - 1 ) ) )
29 0le1
 |-  0 <_ 1
30 1e0p1
 |-  1 = ( 0 + 1 )
31 29 30 breqtri
 |-  0 <_ ( 0 + 1 )
32 1nn
 |-  1 e. NN
33 32 a1i
 |-  ( C e. ( O \ E ) -> 1 e. NN )
34 1 2 3 4 5 9 33 ballotlemfp1
 |-  ( C e. ( O \ E ) -> ( ( -. 1 e. C -> ( ( F ` C ) ` 1 ) = ( ( ( F ` C ) ` ( 1 - 1 ) ) - 1 ) ) /\ ( 1 e. C -> ( ( F ` C ) ` 1 ) = ( ( ( F ` C ) ` ( 1 - 1 ) ) + 1 ) ) ) )
35 34 simprd
 |-  ( C e. ( O \ E ) -> ( 1 e. C -> ( ( F ` C ) ` 1 ) = ( ( ( F ` C ) ` ( 1 - 1 ) ) + 1 ) ) )
36 35 imp
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( ( F ` C ) ` 1 ) = ( ( ( F ` C ) ` ( 1 - 1 ) ) + 1 ) )
37 1m1e0
 |-  ( 1 - 1 ) = 0
38 37 fveq2i
 |-  ( ( F ` C ) ` ( 1 - 1 ) ) = ( ( F ` C ) ` 0 )
39 38 oveq1i
 |-  ( ( ( F ` C ) ` ( 1 - 1 ) ) + 1 ) = ( ( ( F ` C ) ` 0 ) + 1 )
40 39 a1i
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( ( ( F ` C ) ` ( 1 - 1 ) ) + 1 ) = ( ( ( F ` C ) ` 0 ) + 1 ) )
41 1 2 3 4 5 ballotlemfval0
 |-  ( C e. O -> ( ( F ` C ) ` 0 ) = 0 )
42 9 41 syl
 |-  ( C e. ( O \ E ) -> ( ( F ` C ) ` 0 ) = 0 )
43 42 adantr
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( ( F ` C ) ` 0 ) = 0 )
44 43 oveq1d
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( ( ( F ` C ) ` 0 ) + 1 ) = ( 0 + 1 ) )
45 36 40 44 3eqtrrd
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> ( 0 + 1 ) = ( ( F ` C ) ` 1 ) )
46 31 45 breqtrid
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> 0 <_ ( ( F ` C ) ` 1 ) )
47 46 adantr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> 0 <_ ( ( F ` C ) ` 1 ) )
48 23 28 47 rspcedvdw
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> E. i e. ( 1 ... ( ( I ` C ) - 1 ) ) 0 <_ ( ( F ` C ) ` i ) )
49 df-neg
 |-  -u 1 = ( 0 - 1 )
50 1 2 3 4 5 9 14 ballotlemfp1
 |-  ( C e. ( O \ E ) -> ( ( -. ( I ` C ) e. C -> ( ( F ` C ) ` ( I ` C ) ) = ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) - 1 ) ) /\ ( ( I ` C ) e. C -> ( ( F ` C ) ` ( I ` C ) ) = ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) + 1 ) ) ) )
51 50 simprd
 |-  ( C e. ( O \ E ) -> ( ( I ` C ) e. C -> ( ( F ` C ) ` ( I ` C ) ) = ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) + 1 ) ) )
52 51 imp
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( I ` C ) ) = ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) + 1 ) )
53 11 simprd
 |-  ( C e. ( O \ E ) -> ( ( F ` C ) ` ( I ` C ) ) = 0 )
54 53 adantr
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( I ` C ) ) = 0 )
55 52 54 eqtr3d
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) + 1 ) = 0 )
56 0cnd
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> 0 e. CC )
57 1cnd
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> 1 e. CC )
58 9 adantr
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> C e. O )
59 14 nnzd
 |-  ( C e. ( O \ E ) -> ( I ` C ) e. ZZ )
60 59 adantr
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( I ` C ) e. ZZ )
61 1zzd
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> 1 e. ZZ )
62 60 61 zsubcld
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( I ` C ) - 1 ) e. ZZ )
63 1 2 3 4 5 58 62 ballotlemfelz
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) e. ZZ )
64 63 zcnd
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) e. CC )
65 56 57 64 subadd2d
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( 0 - 1 ) = ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) <-> ( ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) + 1 ) = 0 ) )
66 55 65 mpbird
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( 0 - 1 ) = ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) )
67 49 66 eqtrid
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> -u 1 = ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) )
68 neg1lt0
 |-  -u 1 < 0
69 67 68 eqbrtrrdi
 |-  ( ( C e. ( O \ E ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) < 0 )
70 69 adantlr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> ( ( F ` C ) ` ( ( I ` C ) - 1 ) ) < 0 )
71 1 2 3 4 5 10 21 48 70 ballotlemfcc
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> E. k e. ( 1 ... ( ( I ` C ) - 1 ) ) ( ( F ` C ) ` k ) = 0 )
72 1 2 3 4 5 6 7 8 ballotlemimin
 |-  ( C e. ( O \ E ) -> -. E. k e. ( 1 ... ( ( I ` C ) - 1 ) ) ( ( F ` C ) ` k ) = 0 )
73 72 ad2antrr
 |-  ( ( ( C e. ( O \ E ) /\ 1 e. C ) /\ ( I ` C ) e. C ) -> -. E. k e. ( 1 ... ( ( I ` C ) - 1 ) ) ( ( F ` C ) ` k ) = 0 )
74 71 73 pm2.65da
 |-  ( ( C e. ( O \ E ) /\ 1 e. C ) -> -. ( I ` C ) e. C )