Step |
Hyp |
Ref |
Expression |
1 |
|
zntos.y |
|- Y = ( Z/nZ ` N ) |
2 |
|
znhash.1 |
|- B = ( Base ` Y ) |
3 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
4 |
|
eqid |
|- ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) = ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) |
5 |
|
eqid |
|- if ( N = 0 , ZZ , ( 0 ..^ N ) ) = if ( N = 0 , ZZ , ( 0 ..^ N ) ) |
6 |
1 2 4 5
|
znf1o |
|- ( N e. NN0 -> ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : if ( N = 0 , ZZ , ( 0 ..^ N ) ) -1-1-onto-> B ) |
7 |
3 6
|
syl |
|- ( N e. NN -> ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : if ( N = 0 , ZZ , ( 0 ..^ N ) ) -1-1-onto-> B ) |
8 |
|
nnne0 |
|- ( N e. NN -> N =/= 0 ) |
9 |
|
ifnefalse |
|- ( N =/= 0 -> if ( N = 0 , ZZ , ( 0 ..^ N ) ) = ( 0 ..^ N ) ) |
10 |
|
f1oeq2 |
|- ( if ( N = 0 , ZZ , ( 0 ..^ N ) ) = ( 0 ..^ N ) -> ( ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : if ( N = 0 , ZZ , ( 0 ..^ N ) ) -1-1-onto-> B <-> ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : ( 0 ..^ N ) -1-1-onto-> B ) ) |
11 |
8 9 10
|
3syl |
|- ( N e. NN -> ( ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : if ( N = 0 , ZZ , ( 0 ..^ N ) ) -1-1-onto-> B <-> ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : ( 0 ..^ N ) -1-1-onto-> B ) ) |
12 |
7 11
|
mpbid |
|- ( N e. NN -> ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : ( 0 ..^ N ) -1-1-onto-> B ) |
13 |
|
ovex |
|- ( 0 ..^ N ) e. _V |
14 |
13
|
f1oen |
|- ( ( ( ZRHom ` Y ) |` if ( N = 0 , ZZ , ( 0 ..^ N ) ) ) : ( 0 ..^ N ) -1-1-onto-> B -> ( 0 ..^ N ) ~~ B ) |
15 |
|
ensym |
|- ( ( 0 ..^ N ) ~~ B -> B ~~ ( 0 ..^ N ) ) |
16 |
|
hasheni |
|- ( B ~~ ( 0 ..^ N ) -> ( # ` B ) = ( # ` ( 0 ..^ N ) ) ) |
17 |
12 14 15 16
|
4syl |
|- ( N e. NN -> ( # ` B ) = ( # ` ( 0 ..^ N ) ) ) |
18 |
|
hashfzo0 |
|- ( N e. NN0 -> ( # ` ( 0 ..^ N ) ) = N ) |
19 |
3 18
|
syl |
|- ( N e. NN -> ( # ` ( 0 ..^ N ) ) = N ) |
20 |
17 19
|
eqtrd |
|- ( N e. NN -> ( # ` B ) = N ) |