| 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 | 1 2 3 4 5 6 7 8 9 | ballotlemsval |  |-  ( C e. ( O \ E ) -> ( S ` C ) = ( i e. ( 1 ... ( M + N ) ) |-> if ( i <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - i ) , i ) ) ) | 
						
							| 11 |  | breq1 |  |-  ( i = j -> ( i <_ ( I ` C ) <-> j <_ ( I ` C ) ) ) | 
						
							| 12 |  | oveq2 |  |-  ( i = j -> ( ( ( I ` C ) + 1 ) - i ) = ( ( ( I ` C ) + 1 ) - j ) ) | 
						
							| 13 |  | id |  |-  ( i = j -> i = j ) | 
						
							| 14 | 11 12 13 | ifbieq12d |  |-  ( i = j -> if ( i <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - i ) , i ) = if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) ) | 
						
							| 15 | 14 | cbvmptv |  |-  ( i e. ( 1 ... ( M + N ) ) |-> if ( i <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - i ) , i ) ) = ( j e. ( 1 ... ( M + N ) ) |-> if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) ) | 
						
							| 16 | 10 15 | eqtrdi |  |-  ( C e. ( O \ E ) -> ( S ` C ) = ( j e. ( 1 ... ( M + N ) ) |-> if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) ) ) | 
						
							| 17 | 16 | adantr |  |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> ( S ` C ) = ( j e. ( 1 ... ( M + N ) ) |-> if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) ) ) | 
						
							| 18 |  | simpr |  |-  ( ( C e. ( O \ E ) /\ j = J ) -> j = J ) | 
						
							| 19 | 18 | breq1d |  |-  ( ( C e. ( O \ E ) /\ j = J ) -> ( j <_ ( I ` C ) <-> J <_ ( I ` C ) ) ) | 
						
							| 20 | 18 | oveq2d |  |-  ( ( C e. ( O \ E ) /\ j = J ) -> ( ( ( I ` C ) + 1 ) - j ) = ( ( ( I ` C ) + 1 ) - J ) ) | 
						
							| 21 | 19 20 18 | ifbieq12d |  |-  ( ( C e. ( O \ E ) /\ j = J ) -> if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) = if ( J <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - J ) , J ) ) | 
						
							| 22 | 21 | adantlr |  |-  ( ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) /\ j = J ) -> if ( j <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - j ) , j ) = if ( J <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - J ) , J ) ) | 
						
							| 23 |  | simpr |  |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> J e. ( 1 ... ( M + N ) ) ) | 
						
							| 24 |  | ovexd |  |-  ( ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) /\ J <_ ( I ` C ) ) -> ( ( ( I ` C ) + 1 ) - J ) e. _V ) | 
						
							| 25 |  | elex |  |-  ( J e. ( 1 ... ( M + N ) ) -> J e. _V ) | 
						
							| 26 | 25 | ad2antlr |  |-  ( ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) /\ -. J <_ ( I ` C ) ) -> J e. _V ) | 
						
							| 27 | 24 26 | ifclda |  |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> if ( J <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - J ) , J ) e. _V ) | 
						
							| 28 | 17 22 23 27 | fvmptd |  |-  ( ( C e. ( O \ E ) /\ J e. ( 1 ... ( M + N ) ) ) -> ( ( S ` C ) ` J ) = if ( J <_ ( I ` C ) , ( ( ( I ` C ) + 1 ) - J ) , J ) ) |