Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  eulerpart Structured version   Unicode version

Theorem eulerpart 28707
Description: Euler's theorem on partitions, also known as a special case of Glaisher's theorem. Let  P be the set of all partitions of  N, represented as multisets of positive integers, which is to say functions from  NN to  NN0 where the value of the function represents the number of repetitions of an individual element, and the sum of all the elements with repetition equals  N. Then the set 
O of all partitions that only consist of odd numbers and the set  D of all partitions which have no repeated elements have the same cardinality. This is Metamath 100 proof #45. (Contributed by Thierry Arnoux, 14-Aug-2018.) (Revised by Thierry Arnoux, 1-Sep-2019.)
Hypotheses
Ref Expression
eulerpart.p  |-  P  =  { f  e.  ( NN0  ^m  NN )  |  ( ( `' f " NN )  e.  Fin  /\  sum_ k  e.  NN  (
( f `  k
)  x.  k )  =  N ) }
eulerpart.o  |-  O  =  { g  e.  P  |  A. n  e.  ( `' g " NN )  -.  2  ||  n }
eulerpart.d  |-  D  =  { g  e.  P  |  A. n  e.  NN  ( g `  n
)  <_  1 }
Assertion
Ref Expression
eulerpart  |-  ( # `  O )  =  (
# `  D )
Distinct variable groups:    f, g,
k, n    D, g    f, N, g, k, n   
g, O, n    P, g, k, n
Allowed substitution hints:    D( f, k, n)    P( f)    O( f, k)

Proof of Theorem eulerpart
Dummy variables  a 
b  h  m  o  q  r  s  t  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eulerpart.p . . 3  |-  P  =  { f  e.  ( NN0  ^m  NN )  |  ( ( `' f " NN )  e.  Fin  /\  sum_ k  e.  NN  (
( f `  k
)  x.  k )  =  N ) }
2 eulerpart.o . . 3  |-  O  =  { g  e.  P  |  A. n  e.  ( `' g " NN )  -.  2  ||  n }
3 eulerpart.d . . 3  |-  D  =  { g  e.  P  |  A. n  e.  NN  ( g `  n
)  <_  1 }
4 eqid 2402 . . 3  |-  { z  e.  NN  |  -.  2  ||  z }  =  { z  e.  NN  |  -.  2  ||  z }
5 oveq2 6242 . . . 4  |-  ( a  =  x  ->  (
( 2 ^ b
)  x.  a )  =  ( ( 2 ^ b )  x.  x ) )
6 oveq2 6242 . . . . 5  |-  ( b  =  y  ->  (
2 ^ b )  =  ( 2 ^ y ) )
76oveq1d 6249 . . . 4  |-  ( b  =  y  ->  (
( 2 ^ b
)  x.  x )  =  ( ( 2 ^ y )  x.  x ) )
85, 7cbvmpt2v 6314 . . 3  |-  ( a  e.  { z  e.  NN  |  -.  2  ||  z } ,  b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )  =  ( x  e. 
{ z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x
) )
9 oveq1 6241 . . . . . 6  |-  ( r  =  m  ->  (
r supp  (/) )  =  ( m supp  (/) ) )
109eleq1d 2471 . . . . 5  |-  ( r  =  m  ->  (
( r supp  (/) )  e. 
Fin 
<->  ( m supp  (/) )  e. 
Fin ) )
1110cbvrabv 3057 . . . 4  |-  { r  e.  ( ( ~P
NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin }  =  { m  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e.  Fin }
1211eqcomi 2415 . . 3  |-  { m  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e.  Fin }  =  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin }
13 fveq1 5804 . . . . . . . 8  |-  ( t  =  r  ->  (
t `  a )  =  ( r `  a ) )
1413eleq2d 2472 . . . . . . 7  |-  ( t  =  r  ->  (
b  e.  ( t `
 a )  <->  b  e.  ( r `  a
) ) )
1514anbi2d 702 . . . . . 6  |-  ( t  =  r  ->  (
( a  e.  {
z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) )  <->  ( a  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) ) )
1615opabbidv 4457 . . . . 5  |-  ( t  =  r  ->  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) }  =  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) } )
1716cbvmptv 4486 . . . 4  |-  ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } )  =  ( r  e.  {
s  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e. 
Fin }  |->  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) } )
18 oveq1 6241 . . . . . . . 8  |-  ( m  =  s  ->  (
m supp  (/) )  =  ( s supp  (/) ) )
1918eleq1d 2471 . . . . . . 7  |-  ( m  =  s  ->  (
( m supp  (/) )  e. 
Fin 
<->  ( s supp  (/) )  e. 
Fin ) )
2019cbvrabv 3057 . . . . . 6  |-  { m  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e.  Fin }  =  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin }
2120eqcomi 2415 . . . . 5  |-  { s  e.  ( ( ~P
NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin }  =  { m  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e.  Fin }
22 simpl 455 . . . . . . . 8  |-  ( ( a  =  x  /\  b  =  y )  ->  a  =  x )
2322eleq1d 2471 . . . . . . 7  |-  ( ( a  =  x  /\  b  =  y )  ->  ( a  e.  {
z  e.  NN  |  -.  2  ||  z }  <-> 
x  e.  { z  e.  NN  |  -.  2  ||  z } ) )
24 simpr 459 . . . . . . . 8  |-  ( ( a  =  x  /\  b  =  y )  ->  b  =  y )
2522fveq2d 5809 . . . . . . . 8  |-  ( ( a  =  x  /\  b  =  y )  ->  ( r `  a
)  =  ( r `
 x ) )
2624, 25eleq12d 2484 . . . . . . 7  |-  ( ( a  =  x  /\  b  =  y )  ->  ( b  e.  ( r `  a )  <-> 
y  e.  ( r `
 x ) ) )
2723, 26anbi12d 709 . . . . . 6  |-  ( ( a  =  x  /\  b  =  y )  ->  ( ( a  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) )  <->  ( x  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) ) )
2827cbvopabv 4463 . . . . 5  |-  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) }  =  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) }
2921, 28mpteq12i 4478 . . . 4  |-  ( r  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) } )  =  ( r  e.  {
m  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } )
3017, 29eqtri 2431 . . 3  |-  ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } )  =  ( r  e.  {
m  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } )
31 cnveq 5118 . . . . . 6  |-  ( h  =  f  ->  `' h  =  `' f
)
3231imaeq1d 5277 . . . . 5  |-  ( h  =  f  ->  ( `' h " NN )  =  ( `' f
" NN ) )
3332eleq1d 2471 . . . 4  |-  ( h  =  f  ->  (
( `' h " NN )  e.  Fin  <->  ( `' f " NN )  e.  Fin )
)
3433cbvabv 2545 . . 3  |-  { h  |  ( `' h " NN )  e.  Fin }  =  { f  |  ( `' f " NN )  e.  Fin }
3532sseq1d 3468 . . . 4  |-  ( h  =  f  ->  (
( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z }  <->  ( `' f " NN )  C_  { z  e.  NN  |  -.  2  ||  z } ) )
3635cbvrabv 3057 . . 3  |-  { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  =  { f  e.  ( NN0  ^m  NN )  |  ( `' f " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }
37 reseq1 5209 . . . . . . . . 9  |-  ( o  =  q  ->  (
o  |`  { z  e.  NN  |  -.  2  ||  z } )  =  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) )
3837coeq2d 5107 . . . . . . . 8  |-  ( o  =  q  ->  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) )  =  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) )
3938fveq2d 5809 . . . . . . 7  |-  ( o  =  q  ->  (
( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) )  =  ( ( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )
4039imaeq2d 5278 . . . . . 6  |-  ( o  =  q  ->  (
( x  e.  {
z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x
) ) " (
( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )  =  ( ( x  e. 
{ z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x
) ) " (
( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) )
4140fveq2d 5809 . . . . 5  |-  ( o  =  q  ->  (
(𝟭 `  NN ) `  ( ( x  e. 
{ z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x
) ) " (
( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) )  =  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )
4241cbvmptv 4486 . . . 4  |-  ( o  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  =  ( q  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )
438eqcomi 2415 . . . . . . . 8  |-  ( x  e.  { z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )  =  ( a  e. 
{ z  e.  NN  |  -.  2  ||  z } ,  b  e.  NN0  |->  ( ( 2 ^ b )  x.  a
) )
4443imaeq1i 5275 . . . . . . 7  |-  ( ( x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )  =  ( ( a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )
45 eqid 2402 . . . . . . . . . . 11  |-  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) }  =  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) }
4611, 45mpteq12i 4478 . . . . . . . . . 10  |-  ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } )  =  ( r  e.  {
m  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( m supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } )
47 fveq1 5804 . . . . . . . . . . . . . 14  |-  ( r  =  t  ->  (
r `  a )  =  ( t `  a ) )
4847eleq2d 2472 . . . . . . . . . . . . 13  |-  ( r  =  t  ->  (
b  e.  ( r `
 a )  <->  b  e.  ( t `  a
) ) )
4948anbi2d 702 . . . . . . . . . . . 12  |-  ( r  =  t  ->  (
( a  e.  {
z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) )  <->  ( a  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) ) )
5049opabbidv 4457 . . . . . . . . . . 11  |-  ( r  =  t  ->  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) }  =  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } )
5150cbvmptv 4486 . . . . . . . . . 10  |-  ( r  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) } )  =  ( t  e.  {
s  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e. 
Fin }  |->  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } )
5246, 29, 513eqtr2i 2437 . . . . . . . . 9  |-  ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } )  =  ( t  e.  {
s  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e. 
Fin }  |->  { <. a ,  b >.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } )
5352fveq1i 5806 . . . . . . . 8  |-  ( ( r  e.  { r  e.  ( ( ~P
NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) )  =  ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) )
5453imaeq2i 5276 . . . . . . 7  |-  ( ( a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )  =  ( ( a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )
5544, 54eqtri 2431 . . . . . 6  |-  ( ( x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )  =  ( ( a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) )
5655fveq2i 5808 . . . . 5  |-  ( (𝟭 `  NN ) `  (
( x  e.  {
z  e.  NN  |  -.  2  ||  z } ,  y  e.  NN0  |->  ( ( 2 ^ y )  x.  x
) ) " (
( r  e.  {
r  e.  ( ( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e. 
Fin }  |->  { <. x ,  y >.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) )  =  ( (𝟭 `  NN ) `  ( (
a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) )
5756mpteq2i 4477 . . . 4  |-  ( q  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  =  ( q  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )
5842, 57eqtri 2431 . . 3  |-  ( o  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  =  ( q  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
a  e.  { z  e.  NN  |  -.  2  ||  z } , 
b  e.  NN0  |->  ( ( 2 ^ b )  x.  a ) )
" ( ( t  e.  { s  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( s supp  (/) )  e.  Fin } 
|->  { <. a ,  b
>.  |  ( a  e.  { z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) } ) `  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )
59 eqid 2402 . . 3  |-  ( f  e.  ( ( NN0 
^m  NN )  i^i 
{ h  |  ( `' h " NN )  e.  Fin } ) 
|->  sum_ k  e.  NN  ( ( f `  k )  x.  k
) )  =  ( f  e.  ( ( NN0  ^m  NN )  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  sum_ k  e.  NN  ( ( f `  k )  x.  k
) )
601, 2, 3, 4, 8, 12, 30, 34, 36, 58, 59eulerpartlemn 28706 . 2  |-  ( ( o  e.  ( { h  e.  ( NN0 
^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  |`  O ) : O -1-1-onto-> D
61 ovex 6262 . . . . . . 7  |-  ( NN0 
^m  NN )  e. 
_V
6261rabex 4544 . . . . . 6  |-  { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  e.  _V
6362inex1 4534 . . . . 5  |-  ( { h  e.  ( NN0 
^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  e.  _V
6463mptex 6080 . . . 4  |-  ( o  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  e. 
_V
6564resex 5258 . . 3  |-  ( ( o  e.  ( { h  e.  ( NN0 
^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  |`  O )  e.  _V
66 f1oeq1 5746 . . 3  |-  ( g  =  ( ( o  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  |->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  |`  O )  ->  (
g : O -1-1-onto-> D  <->  ( (
o  e.  ( { h  e.  ( NN0 
^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  |`  O ) : O -1-1-onto-> D
) )
6765, 66spcev 3150 . 2  |-  ( ( ( o  e.  ( { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } ) 
|->  ( (𝟭 `  NN ) `  ( (
x  e.  { z  e.  NN  |  -.  2  ||  z } , 
y  e.  NN0  |->  ( ( 2 ^ y )  x.  x ) )
" ( ( r  e.  { r  e.  ( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )  |  ( r supp  (/) )  e.  Fin } 
|->  { <. x ,  y
>.  |  ( x  e.  { z  e.  NN  |  -.  2  ||  z }  /\  y  e.  ( r `  x ) ) } ) `  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) ) ) ) ) )  |`  O ) : O -1-1-onto-> D  ->  E. g  g : O -1-1-onto-> D )
68 bren 7483 . . 3  |-  ( O 
~~  D  <->  E. g 
g : O -1-1-onto-> D )
69 hasheni 12375 . . 3  |-  ( O 
~~  D  ->  ( # `
 O )  =  ( # `  D
) )
7068, 69sylbir 213 . 2  |-  ( E. g  g : O -1-1-onto-> D  ->  ( # `  O
)  =  ( # `  D ) )
7160, 67, 70mp2b 10 1  |-  ( # `  O )  =  (
# `  D )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    /\ wa 367    = wceq 1405   E.wex 1633    e. wcel 1842   {cab 2387   A.wral 2753   {crab 2757    i^i cin 3412    C_ wss 3413   (/)c0 3737   ~Pcpw 3954   class class class wbr 4394   {copab 4451    |-> cmpt 4452   `'ccnv 4941    |` cres 4944   "cima 4945    o. ccom 4946   -1-1-onto->wf1o 5524   ` cfv 5525  (class class class)co 6234    |-> cmpt2 6236   supp csupp 6856    ^m cmap 7377    ~~ cen 7471   Fincfn 7474   1c1 9443    x. cmul 9447    <_ cle 9579   NNcn 10496   2c2 10546   NN0cn0 10756   ^cexp 12120   #chash 12359   sum_csu 13564    || cdvds 14087  bitscbits 14170  𝟭cind 28338
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1639  ax-4 1652  ax-5 1725  ax-6 1771  ax-7 1814  ax-8 1844  ax-9 1846  ax-10 1861  ax-11 1866  ax-12 1878  ax-13 2026  ax-ext 2380  ax-rep 4506  ax-sep 4516  ax-nul 4524  ax-pow 4571  ax-pr 4629  ax-un 6530  ax-inf2 8011  ax-ac2 8795  ax-cnex 9498  ax-resscn 9499  ax-1cn 9500  ax-icn 9501  ax-addcl 9502  ax-addrcl 9503  ax-mulcl 9504  ax-mulrcl 9505  ax-mulcom 9506  ax-addass 9507  ax-mulass 9508  ax-distr 9509  ax-i2m1 9510  ax-1ne0 9511  ax-1rid 9512  ax-rnegex 9513  ax-rrecex 9514  ax-cnre 9515  ax-pre-lttri 9516  ax-pre-lttrn 9517  ax-pre-ltadd 9518  ax-pre-mulgt0 9519  ax-pre-sup 9520
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 975  df-3an 976  df-tru 1408  df-fal 1411  df-ex 1634  df-nf 1638  df-sb 1764  df-eu 2242  df-mo 2243  df-clab 2388  df-cleq 2394  df-clel 2397  df-nfc 2552  df-ne 2600  df-nel 2601  df-ral 2758  df-rex 2759  df-reu 2760  df-rmo 2761  df-rab 2762  df-v 3060  df-sbc 3277  df-csb 3373  df-dif 3416  df-un 3418  df-in 3420  df-ss 3427  df-pss 3429  df-nul 3738  df-if 3885  df-pw 3956  df-sn 3972  df-pr 3974  df-tp 3976  df-op 3978  df-uni 4191  df-int 4227  df-iun 4272  df-disj 4366  df-br 4395  df-opab 4453  df-mpt 4454  df-tr 4489  df-eprel 4733  df-id 4737  df-po 4743  df-so 4744  df-fr 4781  df-se 4782  df-we 4783  df-ord 4824  df-on 4825  df-lim 4826  df-suc 4827  df-xp 4948  df-rel 4949  df-cnv 4950  df-co 4951  df-dm 4952  df-rn 4953  df-res 4954  df-ima 4955  df-iota 5489  df-fun 5527  df-fn 5528  df-f 5529  df-f1 5530  df-fo 5531  df-f1o 5532  df-fv 5533  df-isom 5534  df-riota 6196  df-ov 6237  df-oprab 6238  df-mpt2 6239  df-om 6639  df-1st 6738  df-2nd 6739  df-supp 6857  df-recs 6999  df-rdg 7033  df-1o 7087  df-2o 7088  df-oadd 7091  df-er 7268  df-map 7379  df-pm 7380  df-en 7475  df-dom 7476  df-sdom 7477  df-fin 7478  df-fsupp 7784  df-sup 7855  df-oi 7889  df-card 8272  df-acn 8275  df-ac 8449  df-cda 8500  df-pnf 9580  df-mnf 9581  df-xr 9582  df-ltxr 9583  df-le 9584  df-sub 9763  df-neg 9764  df-div 10168  df-nn 10497  df-2 10555  df-3 10556  df-n0 10757  df-z 10826  df-uz 11046  df-rp 11184  df-fz 11644  df-fzo 11768  df-fl 11879  df-mod 11948  df-seq 12062  df-exp 12121  df-hash 12360  df-cj 12988  df-re 12989  df-im 12990  df-sqrt 13124  df-abs 13125  df-clim 13367  df-sum 13565  df-dvds 14088  df-bits 14173  df-ind 28339
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator