MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  hashmap Structured version   Visualization version   Unicode version

Theorem hashmap 13222
Description: The size of the set exponential of two finite sets is the exponential of their sizes. (This is the original motivation behind the notation for set exponentiation.) (Contributed by Mario Carneiro, 5-Aug-2014.)
Assertion
Ref Expression
hashmap  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) )

Proof of Theorem hashmap
Dummy variables  x  a  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq1 6657 . . . . . 6  |-  ( a  =  A  ->  (
a  ^m  B )  =  ( A  ^m  B ) )
21fveq2d 6195 . . . . 5  |-  ( a  =  A  ->  ( # `
 ( a  ^m  B ) )  =  ( # `  ( A  ^m  B ) ) )
3 fveq2 6191 . . . . . 6  |-  ( a  =  A  ->  ( # `
 a )  =  ( # `  A
) )
43oveq1d 6665 . . . . 5  |-  ( a  =  A  ->  (
( # `  a ) ^ ( # `  B
) )  =  ( ( # `  A
) ^ ( # `  B ) ) )
52, 4eqeq12d 2637 . . . 4  |-  ( a  =  A  ->  (
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) )  <-> 
( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) )
65imbi2d 330 . . 3  |-  ( a  =  A  ->  (
( B  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) )  <->  ( B  e.  Fin  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) ) )
7 oveq2 6658 . . . . . . . 8  |-  ( x  =  (/)  ->  ( a  ^m  x )  =  ( a  ^m  (/) ) )
87fveq2d 6195 . . . . . . 7  |-  ( x  =  (/)  ->  ( # `  ( a  ^m  x
) )  =  (
# `  ( a  ^m  (/) ) ) )
9 fveq2 6191 . . . . . . . 8  |-  ( x  =  (/)  ->  ( # `  x )  =  (
# `  (/) ) )
109oveq2d 6666 . . . . . . 7  |-  ( x  =  (/)  ->  ( (
# `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
118, 10eqeq12d 2637 . . . . . 6  |-  ( x  =  (/)  ->  ( (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) )
1211imbi2d 330 . . . . 5  |-  ( x  =  (/)  ->  ( ( a  e.  Fin  ->  (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) ) )  <-> 
( a  e.  Fin  ->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) ) )
13 oveq2 6658 . . . . . . . 8  |-  ( x  =  y  ->  (
a  ^m  x )  =  ( a  ^m  y ) )
1413fveq2d 6195 . . . . . . 7  |-  ( x  =  y  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  y )
) )
15 fveq2 6191 . . . . . . . 8  |-  ( x  =  y  ->  ( # `
 x )  =  ( # `  y
) )
1615oveq2d 6666 . . . . . . 7  |-  ( x  =  y  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  y ) ) )
1714, 16eqeq12d 2637 . . . . . 6  |-  ( x  =  y  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  y ) )  =  ( ( # `  a ) ^ ( # `
 y ) ) ) )
1817imbi2d 330 . . . . 5  |-  ( x  =  y  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  y )
)  =  ( (
# `  a ) ^ ( # `  y
) ) ) ) )
19 oveq2 6658 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( a  ^m  x )  =  ( a  ^m  ( y  u.  { z } ) ) )
2019fveq2d 6195 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  (
a  ^m  x )
)  =  ( # `  ( a  ^m  (
y  u.  { z } ) ) ) )
21 fveq2 6191 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  x
)  =  ( # `  ( y  u.  {
z } ) ) )
2221oveq2d 6666 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  a ) ^ ( # `
 x ) )  =  ( ( # `  a ) ^ ( # `
 ( y  u. 
{ z } ) ) ) )
2320, 22eqeq12d 2637 . . . . . 6  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  ( a  ^m  x
) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) )
2423imbi2d 330 . . . . 5  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( a  e.  Fin  ->  ( # `
 ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) ) )  <-> 
( a  e.  Fin  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
25 oveq2 6658 . . . . . . . 8  |-  ( x  =  B  ->  (
a  ^m  x )  =  ( a  ^m  B ) )
2625fveq2d 6195 . . . . . . 7  |-  ( x  =  B  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  B )
) )
27 fveq2 6191 . . . . . . . 8  |-  ( x  =  B  ->  ( # `
 x )  =  ( # `  B
) )
2827oveq2d 6666 . . . . . . 7  |-  ( x  =  B  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  B ) ) )
2926, 28eqeq12d 2637 . . . . . 6  |-  ( x  =  B  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) ) ) )
3029imbi2d 330 . . . . 5  |-  ( x  =  B  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) ) ) )
31 hashcl 13147 . . . . . . . . 9  |-  ( a  e.  Fin  ->  ( # `
 a )  e. 
NN0 )
3231nn0cnd 11353 . . . . . . . 8  |-  ( a  e.  Fin  ->  ( # `
 a )  e.  CC )
3332exp0d 13002 . . . . . . 7  |-  ( a  e.  Fin  ->  (
( # `  a ) ^ 0 )  =  1 )
3433eqcomd 2628 . . . . . 6  |-  ( a  e.  Fin  ->  1  =  ( ( # `  a ) ^ 0 ) )
35 vex 3203 . . . . . . . . . 10  |-  a  e. 
_V
36 map0e 7895 . . . . . . . . . 10  |-  ( a  e.  _V  ->  (
a  ^m  (/) )  =  1o )
3735, 36ax-mp 5 . . . . . . . . 9  |-  ( a  ^m  (/) )  =  1o
38 df1o2 7572 . . . . . . . . 9  |-  1o  =  { (/) }
3937, 38eqtri 2644 . . . . . . . 8  |-  ( a  ^m  (/) )  =  { (/)
}
4039fveq2i 6194 . . . . . . 7  |-  ( # `  ( a  ^m  (/) ) )  =  ( # `  { (/)
} )
41 0ex 4790 . . . . . . . 8  |-  (/)  e.  _V
42 hashsng 13159 . . . . . . . 8  |-  ( (/)  e.  _V  ->  ( # `  { (/)
} )  =  1 )
4341, 42ax-mp 5 . . . . . . 7  |-  ( # `  { (/) } )  =  1
4440, 43eqtri 2644 . . . . . 6  |-  ( # `  ( a  ^m  (/) ) )  =  1
45 hash0 13158 . . . . . . 7  |-  ( # `  (/) )  =  0
4645oveq2i 6661 . . . . . 6  |-  ( (
# `  a ) ^ ( # `  (/) ) )  =  ( ( # `  a ) ^ 0 )
4734, 44, 463eqtr4g 2681 . . . . 5  |-  ( a  e.  Fin  ->  ( # `
 ( a  ^m  (/) ) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
48 oveq1 6657 . . . . . . . 8  |-  ( (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( ( # `  (
a  ^m  y )
)  x.  ( # `  a ) )  =  ( ( ( # `  a ) ^ ( # `
 y ) )  x.  ( # `  a
) ) )
49 vex 3203 . . . . . . . . . . . . 13  |-  y  e. 
_V
50 snex 4908 . . . . . . . . . . . . 13  |-  { z }  e.  _V
5149, 50, 353pm3.2i 1239 . . . . . . . . . . . 12  |-  ( y  e.  _V  /\  {
z }  e.  _V  /\  a  e.  _V )
52 simprr 796 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  -.  z  e.  y )
53 disjsn 4246 . . . . . . . . . . . . 13  |-  ( ( y  i^i  { z } )  =  (/)  <->  -.  z  e.  y )
5452, 53sylibr 224 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  i^i  { z } )  =  (/) )
55 mapunen 8129 . . . . . . . . . . . 12  |-  ( ( ( y  e.  _V  /\ 
{ z }  e.  _V  /\  a  e.  _V )  /\  ( y  i^i 
{ z } )  =  (/) )  ->  (
a  ^m  ( y  u.  { z } ) )  ~~  ( ( a  ^m  y )  X.  ( a  ^m  { z } ) ) )
5651, 54, 55sylancr 695 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  ~~  ( ( a  ^m  y )  X.  ( a  ^m  { z } ) ) )
57 simpl 473 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  a  e.  Fin )
58 simprl 794 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  y  e.  Fin )
59 snfi 8038 . . . . . . . . . . . . . 14  |-  { z }  e.  Fin
60 unfi 8227 . . . . . . . . . . . . . 14  |-  ( ( y  e.  Fin  /\  { z }  e.  Fin )  ->  ( y  u. 
{ z } )  e.  Fin )
6158, 59, 60sylancl 694 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  u.  { z } )  e.  Fin )
62 mapfi 8262 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  u.  {
z } )  e. 
Fin )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
6357, 61, 62syl2anc 693 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
64 mapfi 8262 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  y  e.  Fin )  ->  ( a  ^m  y
)  e.  Fin )
6564adantrr 753 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  y )  e.  Fin )
66 mapfi 8262 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  { z }  e.  Fin )  ->  ( a  ^m  { z } )  e. 
Fin )
6757, 59, 66sylancl 694 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  { z } )  e.  Fin )
68 xpfi 8231 . . . . . . . . . . . . 13  |-  ( ( ( a  ^m  y
)  e.  Fin  /\  ( a  ^m  {
z } )  e. 
Fin )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
6965, 67, 68syl2anc 693 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
70 hashen 13135 . . . . . . . . . . . 12  |-  ( ( ( a  ^m  (
y  u.  { z } ) )  e. 
Fin  /\  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) )  e.  Fin )  -> 
( ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  (
# `  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  <->  ( a  ^m  ( y  u.  {
z } ) ) 
~~  ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) ) )
7163, 69, 70syl2anc 693 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  (
# `  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  <->  ( a  ^m  ( y  u.  {
z } ) ) 
~~  ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) ) )
7256, 71mpbird 247 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( # `  ( ( a  ^m  y )  X.  (
a  ^m  { z } ) ) ) )
73 hashxp 13221 . . . . . . . . . . . 12  |-  ( ( ( a  ^m  y
)  e.  Fin  /\  ( a  ^m  {
z } )  e. 
Fin )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) ) )
7465, 67, 73syl2anc 693 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) ) )
75 vex 3203 . . . . . . . . . . . . . 14  |-  z  e. 
_V
7635, 75mapsnen 8035 . . . . . . . . . . . . 13  |-  ( a  ^m  { z } )  ~~  a
77 hashen 13135 . . . . . . . . . . . . . 14  |-  ( ( ( a  ^m  {
z } )  e. 
Fin  /\  a  e.  Fin )  ->  ( (
# `  ( a  ^m  { z } ) )  =  ( # `  a )  <->  ( a  ^m  { z } ) 
~~  a ) )
7867, 57, 77syl2anc 693 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  { z } ) )  =  (
# `  a )  <->  ( a  ^m  { z } )  ~~  a
) )
7976, 78mpbiri 248 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  { z } ) )  =  ( # `  a
) )
8079oveq2d 6666 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) )  =  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) ) )
8174, 80eqtrd 2656 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
8272, 81eqtrd 2656 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
83 hashunsng 13181 . . . . . . . . . . . . 13  |-  ( z  e.  _V  ->  (
( y  e.  Fin  /\ 
-.  z  e.  y )  ->  ( # `  (
y  u.  { z } ) )  =  ( ( # `  y
)  +  1 ) ) )
8475, 83ax-mp 5 . . . . . . . . . . . 12  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( # `  (
y  u.  { z } ) )  =  ( ( # `  y
)  +  1 ) )
8584adantl 482 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( y  u. 
{ z } ) )  =  ( (
# `  y )  +  1 ) )
8685oveq2d 6666 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( # `  a ) ^ (
( # `  y )  +  1 ) ) )
8732adantr 481 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 a )  e.  CC )
88 hashcl 13147 . . . . . . . . . . . 12  |-  ( y  e.  Fin  ->  ( # `
 y )  e. 
NN0 )
8988ad2antrl 764 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 y )  e. 
NN0 )
9087, 89expp1d 13009 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( ( # `  y )  +  1 ) )  =  ( ( ( # `  a
) ^ ( # `  y ) )  x.  ( # `  a
) ) )
9186, 90eqtrd 2656 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) )
9282, 91eqeq12d 2637 . . . . . . . 8  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) )  <->  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) ) )
9348, 92syl5ibr 236 . . . . . . 7  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  =  ( ( # `  a ) ^ ( # `
 y ) )  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) )
9493expcom 451 . . . . . 6  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( a  e.  Fin  ->  ( ( # `
 ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
9594a2d 29 . . . . 5  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( (
a  e.  Fin  ->  (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) ) )  ->  ( a  e. 
Fin  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
9612, 18, 24, 30, 47, 95findcard2s 8201 . . . 4  |-  ( B  e.  Fin  ->  (
a  e.  Fin  ->  (
# `  ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
9796com12 32 . . 3  |-  ( a  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
986, 97vtoclga 3272 . 2  |-  ( A  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( A  ^m  B ) )  =  ( ( # `  A
) ^ ( # `  B ) ) ) )
9998imp 445 1  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    /\ wa 384    /\ w3a 1037    = wceq 1483    e. wcel 1990   _Vcvv 3200    u. cun 3572    i^i cin 3573   (/)c0 3915   {csn 4177   class class class wbr 4653    X. cxp 5112   ` cfv 5888  (class class class)co 6650   1oc1o 7553    ^m cmap 7857    ~~ cen 7952   Fincfn 7955   CCcc 9934   0cc0 9936   1c1 9937    + caddc 9939    x. cmul 9941   NN0cn0 11292   ^cexp 12860   #chash 13117
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-pm 7860  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-nn 11021  df-n0 11293  df-z 11378  df-uz 11688  df-fz 12327  df-seq 12802  df-exp 12861  df-hash 13118
This theorem is referenced by:  hashpw  13223  hashwrdn  13337  prmreclem2  15621  birthdaylem2  24679
  Copyright terms: Public domain W3C validator