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

Theorem eulerpart 26901
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 . . . 4  |-  P  =  { f  e.  ( NN0  ^m  NN )  |  ( ( `' f " NN )  e.  Fin  /\  sum_ k  e.  NN  (
( f `  k
)  x.  k )  =  N ) }
2 eulerpart.o . . . 4  |-  O  =  { g  e.  P  |  A. n  e.  ( `' g " NN )  -.  2  ||  n }
3 eulerpart.d . . . 4  |-  D  =  { g  e.  P  |  A. n  e.  NN  ( g `  n
)  <_  1 }
4 eqid 2451 . . . 4  |-  { z  e.  NN  |  -.  2  ||  z }  =  { z  e.  NN  |  -.  2  ||  z }
5 oveq2 6200 . . . . 5  |-  ( a  =  x  ->  (
( 2 ^ b
)  x.  a )  =  ( ( 2 ^ b )  x.  x ) )
6 oveq2 6200 . . . . . 6  |-  ( b  =  y  ->  (
2 ^ b )  =  ( 2 ^ y ) )
76oveq1d 6207 . . . . 5  |-  ( b  =  y  ->  (
( 2 ^ b
)  x.  x )  =  ( ( 2 ^ y )  x.  x ) )
85, 7cbvmpt2v 6267 . . . 4  |-  ( 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 nfcv 2613 . . . . . 6  |-  F/_ m
( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )
10 nfcv 2613 . . . . . 6  |-  F/_ r
( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )
11 nfv 1674 . . . . . 6  |-  F/ m
( r supp  (/) )  e. 
Fin
12 nfv 1674 . . . . . 6  |-  F/ r ( m supp  (/) )  e. 
Fin
13 eqidd 2452 . . . . . 6  |-  ( r  =  m  ->  (
( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  =  ( ( ~P
NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } ) )
14 oveq1 6199 . . . . . . 7  |-  ( r  =  m  ->  (
r supp  (/) )  =  ( m supp  (/) ) )
1514eleq1d 2520 . . . . . 6  |-  ( r  =  m  ->  (
( r supp  (/) )  e. 
Fin 
<->  ( m supp  (/) )  e. 
Fin ) )
169, 10, 11, 12, 13, 15cbvrabcsf 3422 . . . . 5  |-  { 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 }
1716eqcomi 2464 . . . 4  |-  { 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 }
18 fveq1 5790 . . . . . . . . 9  |-  ( t  =  r  ->  (
t `  a )  =  ( r `  a ) )
1918eleq2d 2521 . . . . . . . 8  |-  ( t  =  r  ->  (
b  e.  ( t `
 a )  <->  b  e.  ( r `  a
) ) )
2019anbi2d 703 . . . . . . 7  |-  ( t  =  r  ->  (
( a  e.  {
z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) )  <->  ( a  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) ) ) )
2120opabbidv 4455 . . . . . 6  |-  ( 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 ) ) } )
2221cbvmptv 4483 . . . . 5  |-  ( 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 ) ) } )
23 nfcv 2613 . . . . . . . 8  |-  F/_ s
( ( ~P NN0  i^i 
Fin )  ^m  {
z  e.  NN  |  -.  2  ||  z } )
24 nfv 1674 . . . . . . . 8  |-  F/ s ( m supp  (/) )  e. 
Fin
25 nfv 1674 . . . . . . . 8  |-  F/ m
( s supp  (/) )  e. 
Fin
26 eqidd 2452 . . . . . . . 8  |-  ( m  =  s  ->  (
( ~P NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } )  =  ( ( ~P
NN0  i^i  Fin )  ^m  { z  e.  NN  |  -.  2  ||  z } ) )
27 oveq1 6199 . . . . . . . . 9  |-  ( m  =  s  ->  (
m supp  (/) )  =  ( s supp  (/) ) )
2827eleq1d 2520 . . . . . . . 8  |-  ( m  =  s  ->  (
( m supp  (/) )  e. 
Fin 
<->  ( s supp  (/) )  e. 
Fin ) )
2923, 9, 24, 25, 26, 28cbvrabcsf 3422 . . . . . . 7  |-  { 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 }
3029eqcomi 2464 . . . . . 6  |-  { 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 }
31 simpl 457 . . . . . . . . 9  |-  ( ( a  =  x  /\  b  =  y )  ->  a  =  x )
3231eleq1d 2520 . . . . . . . 8  |-  ( ( a  =  x  /\  b  =  y )  ->  ( a  e.  {
z  e.  NN  |  -.  2  ||  z }  <-> 
x  e.  { z  e.  NN  |  -.  2  ||  z } ) )
33 simpr 461 . . . . . . . . 9  |-  ( ( a  =  x  /\  b  =  y )  ->  b  =  y )
3431fveq2d 5795 . . . . . . . . 9  |-  ( ( a  =  x  /\  b  =  y )  ->  ( r `  a
)  =  ( r `
 x ) )
3533, 34eleq12d 2533 . . . . . . . 8  |-  ( ( a  =  x  /\  b  =  y )  ->  ( b  e.  ( r `  a )  <-> 
y  e.  ( r `
 x ) ) )
3632, 35anbi12d 710 . . . . . . 7  |-  ( ( 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 ) ) ) )
3736cbvopabv 4461 . . . . . 6  |-  { <. 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 ) ) }
3830, 37mpteq12i 4476 . . . . 5  |-  ( 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 ) ) } )
3922, 38eqtri 2480 . . . 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.  {
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 ) ) } )
40 cnveq 5113 . . . . . . 7  |-  ( h  =  f  ->  `' h  =  `' f
)
4140imaeq1d 5268 . . . . . 6  |-  ( h  =  f  ->  ( `' h " NN )  =  ( `' f
" NN ) )
4241eleq1d 2520 . . . . 5  |-  ( h  =  f  ->  (
( `' h " NN )  e.  Fin  <->  ( `' f " NN )  e.  Fin )
)
4342cbvabv 2594 . . . 4  |-  { h  |  ( `' h " NN )  e.  Fin }  =  { f  |  ( `' f " NN )  e.  Fin }
4441sseq1d 3483 . . . . 5  |-  ( h  =  f  ->  (
( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z }  <->  ( `' f " NN )  C_  { z  e.  NN  |  -.  2  ||  z } ) )
4544cbvrabv 3069 . . . 4  |-  { 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 } }
46 reseq1 5204 . . . . . . . . . 10  |-  ( o  =  q  ->  (
o  |`  { z  e.  NN  |  -.  2  ||  z } )  =  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) )
4746coeq2d 5102 . . . . . . . . 9  |-  ( o  =  q  ->  (bits  o.  ( o  |`  { z  e.  NN  |  -.  2  ||  z } ) )  =  (bits  o.  ( q  |`  { z  e.  NN  |  -.  2  ||  z } ) ) )
4847fveq2d 5795 . . . . . . . 8  |-  ( 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 } ) ) ) )
4948imaeq2d 5269 . . . . . . 7  |-  ( 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 } ) ) ) ) )
5049fveq2d 5795 . . . . . 6  |-  ( 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 } ) ) ) ) ) )
5150cbvmptv 4483 . . . . 5  |-  ( 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 } ) ) ) ) ) )
528eqcomi 2464 . . . . . . . . 9  |-  ( 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
) )
5352imaeq1i 5266 . . . . . . . 8  |-  ( ( 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 } ) ) ) )
54 eqid 2451 . . . . . . . . . . . . 13  |-  { <. 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 ) ) }
5516, 54mpteq12i 4476 . . . . . . . . . . . 12  |-  ( 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 ) ) } )
5655, 38eqtr4i 2483 . . . . . . . . . . 11  |-  ( 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.  {
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 ) ) } )
57 fveq1 5790 . . . . . . . . . . . . . . 15  |-  ( r  =  t  ->  (
r `  a )  =  ( t `  a ) )
5857eleq2d 2521 . . . . . . . . . . . . . 14  |-  ( r  =  t  ->  (
b  e.  ( r `
 a )  <->  b  e.  ( t `  a
) ) )
5958anbi2d 703 . . . . . . . . . . . . 13  |-  ( r  =  t  ->  (
( a  e.  {
z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( r `  a ) )  <->  ( a  e. 
{ z  e.  NN  |  -.  2  ||  z }  /\  b  e.  ( t `  a ) ) ) )
6059opabbidv 4455 . . . . . . . . . . . 12  |-  ( 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 ) ) } )
6160cbvmptv 4483 . . . . . . . . . . 11  |-  ( 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 ) ) } )
6256, 61eqtri 2480 . . . . . . . . . 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 ) ) } )  =  ( 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 ) ) } )
6362fveq1i 5792 . . . . . . . . 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 ) ) } ) `  (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 } ) ) )
6463imaeq2i 5267 . . . . . . . 8  |-  ( ( 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 } ) ) ) )
6553, 64eqtri 2480 . . . . . . 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 ) )
" ( ( 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 } ) ) ) )
6665fveq2i 5794 . . . . . 6  |-  ( (𝟭 `  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 } ) ) ) ) )
6766mpteq2i 4475 . . . . 5  |-  ( 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 } ) ) ) ) ) )
6851, 67eqtri 2480 . . . 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 ) `  ( (
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 } ) ) ) ) ) )
69 eqid 2451 . . . 4  |-  ( 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
) )
701, 2, 3, 4, 8, 17, 39, 43, 45, 68, 69eulerpartlemn 26900 . . 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 ) : O -1-1-onto-> D
71 ovex 6217 . . . . . . . 8  |-  ( NN0 
^m  NN )  e. 
_V
7271rabex 4543 . . . . . . 7  |-  { h  e.  ( NN0  ^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  e.  _V
7372inex1 4533 . . . . . 6  |-  ( { h  e.  ( NN0 
^m  NN )  |  ( `' h " NN )  C_  { z  e.  NN  |  -.  2  ||  z } }  i^i  { h  |  ( `' h " NN )  e.  Fin } )  e.  _V
7473mptex 6049 . . . . 5  |-  ( 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
7574resex 5250 . . . 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 } ) ) ) ) ) )  |`  O )  e.  _V
76 f1oeq1 5732 . . . 4  |-  ( 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
) )
7775, 76spcev 3162 . . 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 ) : O -1-1-onto-> D  ->  E. g  g : O -1-1-onto-> D )
7870, 77ax-mp 5 . 2  |-  E. g 
g : O -1-1-onto-> D
79 bren 7421 . . 3  |-  ( O 
~~  D  <->  E. g 
g : O -1-1-onto-> D )
80 hasheni 12222 . . 3  |-  ( O 
~~  D  ->  ( # `
 O )  =  ( # `  D
) )
8179, 80sylbir 213 . 2  |-  ( E. g  g : O -1-1-onto-> D  ->  ( # `  O
)  =  ( # `  D ) )
8278, 81ax-mp 5 1  |-  ( # `  O )  =  (
# `  D )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    /\ wa 369    = wceq 1370   E.wex 1587    e. wcel 1758   {cab 2436   A.wral 2795   {crab 2799    i^i cin 3427    C_ wss 3428   (/)c0 3737   ~Pcpw 3960   class class class wbr 4392   {copab 4449    |-> cmpt 4450   `'ccnv 4939    |` cres 4942   "cima 4943    o. ccom 4944   -1-1-onto->wf1o 5517   ` cfv 5518  (class class class)co 6192    |-> cmpt2 6194   supp csupp 6792    ^m cmap 7316    ~~ cen 7409   Fincfn 7412   1c1 9386    x. cmul 9390    <_ cle 9522   NNcn 10425   2c2 10474   NN0cn0 10682   ^cexp 11968   #chash 12206   sum_csu 13267    || cdivides 13639  bitscbits 13719  𝟭cind 26603
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1592  ax-4 1603  ax-5 1671  ax-6 1710  ax-7 1730  ax-8 1760  ax-9 1762  ax-10 1777  ax-11 1782  ax-12 1794  ax-13 1952  ax-ext 2430  ax-rep 4503  ax-sep 4513  ax-nul 4521  ax-pow 4570  ax-pr 4631  ax-un 6474  ax-inf2 7950  ax-ac2 8735  ax-cnex 9441  ax-resscn 9442  ax-1cn 9443  ax-icn 9444  ax-addcl 9445  ax-addrcl 9446  ax-mulcl 9447  ax-mulrcl 9448  ax-mulcom 9449  ax-addass 9450  ax-mulass 9451  ax-distr 9452  ax-i2m1 9453  ax-1ne0 9454  ax-1rid 9455  ax-rnegex 9456  ax-rrecex 9457  ax-cnre 9458  ax-pre-lttri 9459  ax-pre-lttrn 9460  ax-pre-ltadd 9461  ax-pre-mulgt0 9462  ax-pre-sup 9463
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1373  df-fal 1376  df-ex 1588  df-nf 1591  df-sb 1703  df-eu 2264  df-mo 2265  df-clab 2437  df-cleq 2443  df-clel 2446  df-nfc 2601  df-ne 2646  df-nel 2647  df-ral 2800  df-rex 2801  df-reu 2802  df-rmo 2803  df-rab 2804  df-v 3072  df-sbc 3287  df-csb 3389  df-dif 3431  df-un 3433  df-in 3435  df-ss 3442  df-pss 3444  df-nul 3738  df-if 3892  df-pw 3962  df-sn 3978  df-pr 3980  df-tp 3982  df-op 3984  df-uni 4192  df-int 4229  df-iun 4273  df-disj 4363  df-br 4393  df-opab 4451  df-mpt 4452  df-tr 4486  df-eprel 4732  df-id 4736  df-po 4741  df-so 4742  df-fr 4779  df-se 4780  df-we 4781  df-ord 4822  df-on 4823  df-lim 4824  df-suc 4825  df-xp 4946  df-rel 4947  df-cnv 4948  df-co 4949  df-dm 4950  df-rn 4951  df-res 4952  df-ima 4953  df-iota 5481  df-fun 5520  df-fn 5521  df-f 5522  df-f1 5523  df-fo 5524  df-f1o 5525  df-fv 5526  df-isom 5527  df-riota 6153  df-ov 6195  df-oprab 6196  df-mpt2 6197  df-om 6579  df-1st 6679  df-2nd 6680  df-supp 6793  df-recs 6934  df-rdg 6968  df-1o 7022  df-2o 7023  df-oadd 7026  df-er 7203  df-map 7318  df-pm 7319  df-en 7413  df-dom 7414  df-sdom 7415  df-fin 7416  df-fsupp 7724  df-sup 7794  df-oi 7827  df-card 8212  df-acn 8215  df-ac 8389  df-cda 8440  df-pnf 9523  df-mnf 9524  df-xr 9525  df-ltxr 9526  df-le 9527  df-sub 9700  df-neg 9701  df-div 10097  df-nn 10426  df-2 10483  df-3 10484  df-n0 10683  df-z 10750  df-uz 10965  df-rp 11095  df-fz 11541  df-fzo 11652  df-fl 11745  df-mod 11812  df-seq 11910  df-exp 11969  df-hash 12207  df-cj 12692  df-re 12693  df-im 12694  df-sqr 12828  df-abs 12829  df-clim 13070  df-sum 13268  df-dvds 13640  df-bits 13722  df-ind 26604
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator