Metamath Proof Explorer


Theorem ballotlemfrcn0

Description: Value of F for a reversed counting ( RC ) , before the first tie, cannot be zero . (Contributed by Thierry Arnoux, 25-Apr-2017) (Revised by AV, 6-Oct-2020)

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 , < ) )
ballotth.s
|- S = ( c e. ( O \ E ) |-> ( i e. ( 1 ... ( M + N ) ) |-> if ( i <_ ( I ` c ) , ( ( ( I ` c ) + 1 ) - i ) , i ) ) )
ballotth.r
|- R = ( c e. ( O \ E ) |-> ( ( S ` c ) " c ) )
Assertion ballotlemfrcn0
|- ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( F ` ( R ` C ) ) ` J ) =/= 0 )

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 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 1zzd
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> 1 e. ZZ )
12 nnaddcl
 |-  ( ( M e. NN /\ N e. NN ) -> ( M + N ) e. NN )
13 1 2 12 mp2an
 |-  ( M + N ) e. NN
14 13 nnzi
 |-  ( M + N ) e. ZZ
15 14 a1i
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( M + N ) e. ZZ )
16 1 2 3 4 5 6 7 8 9 ballotlemsdom
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> ( ( S ` C ) ` J ) e. ( 1 ... ( M + N ) ) )
17 elfzelz
 |-  ( ( ( S ` C ) ` J ) e. ( 1 ... ( M + N ) ) -> ( ( S ` C ) ` J ) e. ZZ )
18 16 17 syl
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> ( ( S ` C ) ` J ) e. ZZ )
19 18 3adant3
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( S ` C ) ` J ) e. ZZ )
20 19 11 zsubcld
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) e. ZZ )
21 1 2 3 4 5 6 7 8 9 ballotlemsgt1
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> 1 < ( ( S ` C ) ` J ) )
22 zltlem1
 |-  ( ( 1 e. ZZ /\ ( ( S ` C ) ` J ) e. ZZ ) -> ( 1 < ( ( S ` C ) ` J ) <-> 1 <_ ( ( ( S ` C ) ` J ) - 1 ) ) )
23 22 biimpa
 |-  ( ( ( 1 e. ZZ /\ ( ( S ` C ) ` J ) e. ZZ ) /\ 1 < ( ( S ` C ) ` J ) ) -> 1 <_ ( ( ( S ` C ) ` J ) - 1 ) )
24 11 19 21 23 syl21anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> 1 <_ ( ( ( S ` C ) ` J ) - 1 ) )
25 19 zred
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( S ` C ) ` J ) e. RR )
26 1red
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> 1 e. RR )
27 25 26 resubcld
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) e. RR )
28 simp1
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> C e. ( O \ E ) )
29 1 2 3 4 5 6 7 8 ballotlemiex
 |-  ( C e. ( O \ E ) -> ( ( I ` C ) e. ( 1 ... ( M + N ) ) /\ ( ( F ` C ) ` ( I ` C ) ) = 0 ) )
30 29 simpld
 |-  ( C e. ( O \ E ) -> ( I ` C ) e. ( 1 ... ( M + N ) ) )
31 elfzelz
 |-  ( ( I ` C ) e. ( 1 ... ( M + N ) ) -> ( I ` C ) e. ZZ )
32 28 30 31 3syl
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( I ` C ) e. ZZ )
33 32 zred
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( I ` C ) e. RR )
34 15 zred
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( M + N ) e. RR )
35 elfzelz
 |-  ( J e. ( 1 ... ( M + N ) ) -> J e. ZZ )
36 35 3ad2ant2
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> J e. ZZ )
37 elfzle1
 |-  ( J e. ( 1 ... ( M + N ) ) -> 1 <_ J )
38 37 3ad2ant2
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> 1 <_ J )
39 36 zred
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> J e. RR )
40 simp3
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> J < ( I ` C ) )
41 39 33 40 ltled
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> J <_ ( I ` C ) )
42 elfz4
 |-  ( ( ( 1 e. ZZ /\ ( I ` C ) e. ZZ /\ J e. ZZ ) /\ ( 1 <_ J /\ J <_ ( I ` C ) ) ) -> J e. ( 1 ... ( I ` C ) ) )
43 11 32 36 38 41 42 syl32anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> J e. ( 1 ... ( I ` C ) ) )
44 1 2 3 4 5 6 7 8 9 ballotlemsel1i
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( S ` C ) ` J ) e. ( 1 ... ( I ` C ) ) )
45 28 43 44 syl2anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( S ` C ) ` J ) e. ( 1 ... ( I ` C ) ) )
46 elfzle2
 |-  ( ( ( S ` C ) ` J ) e. ( 1 ... ( I ` C ) ) -> ( ( S ` C ) ` J ) <_ ( I ` C ) )
47 45 46 syl
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( S ` C ) ` J ) <_ ( I ` C ) )
48 zlem1lt
 |-  ( ( ( ( S ` C ) ` J ) e. ZZ /\ ( I ` C ) e. ZZ ) -> ( ( ( S ` C ) ` J ) <_ ( I ` C ) <-> ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) ) )
49 19 32 48 syl2anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) <_ ( I ` C ) <-> ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) ) )
50 47 49 mpbid
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) )
51 27 33 50 ltled
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) <_ ( I ` C ) )
52 elfzle2
 |-  ( ( I ` C ) e. ( 1 ... ( M + N ) ) -> ( I ` C ) <_ ( M + N ) )
53 28 30 52 3syl
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( I ` C ) <_ ( M + N ) )
54 27 33 34 51 53 letrd
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) <_ ( M + N ) )
55 elfz4
 |-  ( ( ( 1 e. ZZ /\ ( M + N ) e. ZZ /\ ( ( ( S ` C ) ` J ) - 1 ) e. ZZ ) /\ ( 1 <_ ( ( ( S ` C ) ` J ) - 1 ) /\ ( ( ( S ` C ) ` J ) - 1 ) <_ ( M + N ) ) ) -> ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) )
56 11 15 20 24 54 55 syl32anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) )
57 biid
 |-  ( ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) <-> ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) )
58 50 57 sylibr
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) )
59 1 2 3 4 5 6 7 8 ballotlemi
 |-  ( C e. ( O \ E ) -> ( I ` C ) = inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) )
60 59 breq2d
 |-  ( C e. ( O \ E ) -> ( ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) <-> ( ( ( S ` C ) ` J ) - 1 ) < inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) ) )
61 60 3ad2ant1
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( ( S ` C ) ` J ) - 1 ) < ( I ` C ) <-> ( ( ( S ` C ) ` J ) - 1 ) < inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) ) )
62 58 61 mpbid
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( S ` C ) ` J ) - 1 ) < inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) )
63 ltso
 |-  < Or RR
64 63 a1i
 |-  ( C e. ( O \ E ) -> < Or RR )
65 1 2 3 4 5 6 7 8 ballotlemsup
 |-  ( C e. ( O \ E ) -> E. z e. RR ( A. w e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } -. w < z /\ A. w e. RR ( z < w -> E. y e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } y < w ) ) )
66 64 65 inflb
 |-  ( C e. ( O \ E ) -> ( ( ( ( S ` C ) ` J ) - 1 ) e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } -> -. ( ( ( S ` C ) ` J ) - 1 ) < inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) ) )
67 66 con2d
 |-  ( C e. ( O \ E ) -> ( ( ( ( S ` C ) ` J ) - 1 ) < inf ( { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } , RR , < ) -> -. ( ( ( S ` C ) ` J ) - 1 ) e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } ) )
68 28 62 67 sylc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> -. ( ( ( S ` C ) ` J ) - 1 ) e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } )
69 fveqeq2
 |-  ( k = ( ( ( S ` C ) ` J ) - 1 ) -> ( ( ( F ` C ) ` k ) = 0 <-> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
70 69 elrab
 |-  ( ( ( ( S ` C ) ` J ) - 1 ) e. { k e. ( 1 ... ( M + N ) ) | ( ( F ` C ) ` k ) = 0 } <-> ( ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) /\ ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
71 68 70 sylnib
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> -. ( ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) /\ ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
72 imnan
 |-  ( ( ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) -> -. ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) <-> -. ( ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) /\ ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
73 71 72 sylibr
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( ( S ` C ) ` J ) - 1 ) e. ( 1 ... ( M + N ) ) -> -. ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
74 56 73 mpd
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> -. ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 )
75 74 neqned
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) =/= 0 )
76 1 2 3 4 5 6 7 8 9 10 ballotlemro
 |-  ( C e. ( O \ E ) -> ( R ` C ) e. O )
77 76 adantr
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( R ` C ) e. O )
78 elfzelz
 |-  ( J e. ( 1 ... ( I ` C ) ) -> J e. ZZ )
79 78 adantl
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> J e. ZZ )
80 1 2 3 4 5 77 79 ballotlemfelz
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( F ` ( R ` C ) ) ` J ) e. ZZ )
81 80 zcnd
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( F ` ( R ` C ) ) ` J ) e. CC )
82 81 negeq0d
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( ( F ` ( R ` C ) ) ` J ) = 0 <-> -u ( ( F ` ( R ` C ) ) ` J ) = 0 ) )
83 eqid
 |-  ( u e. Fin , v e. Fin |-> ( ( # ` ( v i^i u ) ) - ( # ` ( v \ u ) ) ) ) = ( u e. Fin , v e. Fin |-> ( ( # ` ( v i^i u ) ) - ( # ` ( v \ u ) ) ) )
84 1 2 3 4 5 6 7 8 9 10 83 ballotlemfrceq
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = -u ( ( F ` ( R ` C ) ) ` J ) )
85 84 eqeq1d
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 <-> -u ( ( F ` ( R ` C ) ) ` J ) = 0 ) )
86 82 85 bitr4d
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( ( F ` ( R ` C ) ) ` J ) = 0 <-> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) = 0 ) )
87 86 necon3bid
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( I ` C ) ) ) -> ( ( ( F ` ( R ` C ) ) ` J ) =/= 0 <-> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) =/= 0 ) )
88 28 43 87 syl2anc
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( ( F ` ( R ` C ) ) ` J ) =/= 0 <-> ( ( F ` C ) ` ( ( ( S ` C ) ` J ) - 1 ) ) =/= 0 ) )
89 75 88 mpbird
 |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) /\ J < ( I ` C ) ) -> ( ( F ` ( R ` C ) ) ` J ) =/= 0 )