| Step |
Hyp |
Ref |
Expression |
| 1 |
|
s3rex.1 |
|- S e. _V |
| 2 |
|
id |
|- ( x = ( A ` 0 ) -> x = ( A ` 0 ) ) |
| 3 |
|
eqidd |
|- ( x = ( A ` 0 ) -> y = y ) |
| 4 |
|
eqidd |
|- ( x = ( A ` 0 ) -> z = z ) |
| 5 |
2 3 4
|
s3eqd |
|- ( x = ( A ` 0 ) -> <" x y z "> = <" ( A ` 0 ) y z "> ) |
| 6 |
5
|
eqeq2d |
|- ( x = ( A ` 0 ) -> ( A = <" x y z "> <-> A = <" ( A ` 0 ) y z "> ) ) |
| 7 |
|
s3eq2 |
|- ( y = ( A ` 1 ) -> <" ( A ` 0 ) y z "> = <" ( A ` 0 ) ( A ` 1 ) z "> ) |
| 8 |
7
|
eqeq2d |
|- ( y = ( A ` 1 ) -> ( A = <" ( A ` 0 ) y z "> <-> A = <" ( A ` 0 ) ( A ` 1 ) z "> ) ) |
| 9 |
|
eqidd |
|- ( z = ( A ` 2 ) -> ( A ` 0 ) = ( A ` 0 ) ) |
| 10 |
|
eqidd |
|- ( z = ( A ` 2 ) -> ( A ` 1 ) = ( A ` 1 ) ) |
| 11 |
|
id |
|- ( z = ( A ` 2 ) -> z = ( A ` 2 ) ) |
| 12 |
9 10 11
|
s3eqd |
|- ( z = ( A ` 2 ) -> <" ( A ` 0 ) ( A ` 1 ) z "> = <" ( A ` 0 ) ( A ` 1 ) ( A ` 2 ) "> ) |
| 13 |
12
|
eqeq2d |
|- ( z = ( A ` 2 ) -> ( A = <" ( A ` 0 ) ( A ` 1 ) z "> <-> A = <" ( A ` 0 ) ( A ` 1 ) ( A ` 2 ) "> ) ) |
| 14 |
|
elmapi |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> A : ( 0 ..^ 3 ) --> S ) |
| 15 |
|
c0ex |
|- 0 e. _V |
| 16 |
15
|
tpid1 |
|- 0 e. { 0 , 1 , 2 } |
| 17 |
|
fzo0to3tp |
|- ( 0 ..^ 3 ) = { 0 , 1 , 2 } |
| 18 |
16 17
|
eleqtrri |
|- 0 e. ( 0 ..^ 3 ) |
| 19 |
18
|
a1i |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> 0 e. ( 0 ..^ 3 ) ) |
| 20 |
14 19
|
ffvelcdmd |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> ( A ` 0 ) e. S ) |
| 21 |
|
1eltp012 |
|- 1 e. { 0 , 1 , 2 } |
| 22 |
21 17
|
eleqtrri |
|- 1 e. ( 0 ..^ 3 ) |
| 23 |
22
|
a1i |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> 1 e. ( 0 ..^ 3 ) ) |
| 24 |
14 23
|
ffvelcdmd |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> ( A ` 1 ) e. S ) |
| 25 |
|
2ex |
|- 2 e. _V |
| 26 |
25
|
tpid3 |
|- 2 e. { 0 , 1 , 2 } |
| 27 |
26 17
|
eleqtrri |
|- 2 e. ( 0 ..^ 3 ) |
| 28 |
27
|
a1i |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> 2 e. ( 0 ..^ 3 ) ) |
| 29 |
14 28
|
ffvelcdmd |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> ( A ` 2 ) e. S ) |
| 30 |
|
iswrdi |
|- ( A : ( 0 ..^ 3 ) --> S -> A e. Word S ) |
| 31 |
14 30
|
syl |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> A e. Word S ) |
| 32 |
|
elmapfn |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> A Fn ( 0 ..^ 3 ) ) |
| 33 |
|
hashfn |
|- ( A Fn ( 0 ..^ 3 ) -> ( # ` A ) = ( # ` ( 0 ..^ 3 ) ) ) |
| 34 |
32 33
|
syl |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> ( # ` A ) = ( # ` ( 0 ..^ 3 ) ) ) |
| 35 |
|
3nn0 |
|- 3 e. NN0 |
| 36 |
|
hashfzo0 |
|- ( 3 e. NN0 -> ( # ` ( 0 ..^ 3 ) ) = 3 ) |
| 37 |
35 36
|
ax-mp |
|- ( # ` ( 0 ..^ 3 ) ) = 3 |
| 38 |
34 37
|
eqtrdi |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> ( # ` A ) = 3 ) |
| 39 |
|
wrdlen3s3 |
|- ( ( A e. Word S /\ ( # ` A ) = 3 ) -> A = <" ( A ` 0 ) ( A ` 1 ) ( A ` 2 ) "> ) |
| 40 |
31 38 39
|
syl2anc |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> A = <" ( A ` 0 ) ( A ` 1 ) ( A ` 2 ) "> ) |
| 41 |
6 8 13 20 24 29 40
|
3rspcedvdw |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) -> E. x e. S E. y e. S E. z e. S A = <" x y z "> ) |
| 42 |
1
|
a1i |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> S e. _V ) |
| 43 |
|
ovexd |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> ( 0 ..^ 3 ) e. _V ) |
| 44 |
|
simpr |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> A = <" x y z "> ) |
| 45 |
44
|
fveq2d |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> ( # ` A ) = ( # ` <" x y z "> ) ) |
| 46 |
|
s3len |
|- ( # ` <" x y z "> ) = 3 |
| 47 |
45 46
|
eqtr2di |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> 3 = ( # ` A ) ) |
| 48 |
|
simplll |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> x e. S ) |
| 49 |
|
simpllr |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> y e. S ) |
| 50 |
|
simplr |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> z e. S ) |
| 51 |
48 49 50
|
s3cld |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> <" x y z "> e. Word S ) |
| 52 |
44 51
|
eqeltrd |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> A e. Word S ) |
| 53 |
47 52
|
wrdfd |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> A : ( 0 ..^ 3 ) --> S ) |
| 54 |
42 43 53
|
elmapdd |
|- ( ( ( ( x e. S /\ y e. S ) /\ z e. S ) /\ A = <" x y z "> ) -> A e. ( S ^m ( 0 ..^ 3 ) ) ) |
| 55 |
54
|
rexlimdva2 |
|- ( ( x e. S /\ y e. S ) -> ( E. z e. S A = <" x y z "> -> A e. ( S ^m ( 0 ..^ 3 ) ) ) ) |
| 56 |
55
|
rexlimivv |
|- ( E. x e. S E. y e. S E. z e. S A = <" x y z "> -> A e. ( S ^m ( 0 ..^ 3 ) ) ) |
| 57 |
41 56
|
impbii |
|- ( A e. ( S ^m ( 0 ..^ 3 ) ) <-> E. x e. S E. y e. S E. z e. S A = <" x y z "> ) |