| Step |
Hyp |
Ref |
Expression |
| 1 |
|
ccatf1.s |
|- ( ph -> S e. V ) |
| 2 |
|
ccatf1.a |
|- ( ph -> A e. Word S ) |
| 3 |
|
ccatf1.b |
|- ( ph -> B e. Word S ) |
| 4 |
|
ccatf1.1 |
|- ( ph -> A : dom A -1-1-> S ) |
| 5 |
|
ccatf1.2 |
|- ( ph -> B : dom B -1-1-> S ) |
| 6 |
|
ccatf1.3 |
|- ( ph -> ( ran A i^i ran B ) = (/) ) |
| 7 |
|
ccatcl |
|- ( ( A e. Word S /\ B e. Word S ) -> ( A ++ B ) e. Word S ) |
| 8 |
2 3 7
|
syl2anc |
|- ( ph -> ( A ++ B ) e. Word S ) |
| 9 |
|
wrdf |
|- ( ( A ++ B ) e. Word S -> ( A ++ B ) : ( 0 ..^ ( # ` ( A ++ B ) ) ) --> S ) |
| 10 |
8 9
|
syl |
|- ( ph -> ( A ++ B ) : ( 0 ..^ ( # ` ( A ++ B ) ) ) --> S ) |
| 11 |
10
|
ffdmd |
|- ( ph -> ( A ++ B ) : dom ( A ++ B ) --> S ) |
| 12 |
|
simpllr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) |
| 13 |
|
id |
|- ( i e. ( 0 ..^ ( # ` A ) ) -> i e. ( 0 ..^ ( # ` A ) ) ) |
| 14 |
|
ccatval1 |
|- ( ( A e. Word S /\ B e. Word S /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( A ` i ) ) |
| 15 |
2 3 13 14
|
syl2an3an |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( A ` i ) ) |
| 16 |
15
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( A ` i ) ) |
| 17 |
|
id |
|- ( j e. ( 0 ..^ ( # ` A ) ) -> j e. ( 0 ..^ ( # ` A ) ) ) |
| 18 |
|
ccatval1 |
|- ( ( A e. Word S /\ B e. Word S /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` j ) = ( A ` j ) ) |
| 19 |
2 3 17 18
|
syl2an3an |
|- ( ( ph /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` j ) = ( A ` j ) ) |
| 20 |
19
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` j ) = ( A ` j ) ) |
| 21 |
12 16 20
|
3eqtr3d |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` i ) = ( A ` j ) ) |
| 22 |
|
wrddm |
|- ( A e. Word S -> dom A = ( 0 ..^ ( # ` A ) ) ) |
| 23 |
2 22
|
syl |
|- ( ph -> dom A = ( 0 ..^ ( # ` A ) ) ) |
| 24 |
|
f1eq2 |
|- ( dom A = ( 0 ..^ ( # ` A ) ) -> ( A : dom A -1-1-> S <-> A : ( 0 ..^ ( # ` A ) ) -1-1-> S ) ) |
| 25 |
24
|
biimpa |
|- ( ( dom A = ( 0 ..^ ( # ` A ) ) /\ A : dom A -1-1-> S ) -> A : ( 0 ..^ ( # ` A ) ) -1-1-> S ) |
| 26 |
23 4 25
|
syl2anc |
|- ( ph -> A : ( 0 ..^ ( # ` A ) ) -1-1-> S ) |
| 27 |
|
dff13 |
|- ( A : ( 0 ..^ ( # ` A ) ) -1-1-> S <-> ( A : ( 0 ..^ ( # ` A ) ) --> S /\ A. i e. ( 0 ..^ ( # ` A ) ) A. j e. ( 0 ..^ ( # ` A ) ) ( ( A ` i ) = ( A ` j ) -> i = j ) ) ) |
| 28 |
27
|
simprbi |
|- ( A : ( 0 ..^ ( # ` A ) ) -1-1-> S -> A. i e. ( 0 ..^ ( # ` A ) ) A. j e. ( 0 ..^ ( # ` A ) ) ( ( A ` i ) = ( A ` j ) -> i = j ) ) |
| 29 |
26 28
|
syl |
|- ( ph -> A. i e. ( 0 ..^ ( # ` A ) ) A. j e. ( 0 ..^ ( # ` A ) ) ( ( A ` i ) = ( A ` j ) -> i = j ) ) |
| 30 |
29
|
r19.21bi |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> A. j e. ( 0 ..^ ( # ` A ) ) ( ( A ` i ) = ( A ` j ) -> i = j ) ) |
| 31 |
30
|
r19.21bi |
|- ( ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ` i ) = ( A ` j ) -> i = j ) ) |
| 32 |
31
|
adantllr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ` i ) = ( A ` j ) -> i = j ) ) |
| 33 |
21 32
|
mpd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> i = j ) |
| 34 |
33
|
ex |
|- ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 35 |
34
|
adantllr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 36 |
|
f1fun |
|- ( A : dom A -1-1-> S -> Fun A ) |
| 37 |
4 36
|
syl |
|- ( ph -> Fun A ) |
| 38 |
|
simpr |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> i e. ( 0 ..^ ( # ` A ) ) ) |
| 39 |
23
|
adantr |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> dom A = ( 0 ..^ ( # ` A ) ) ) |
| 40 |
38 39
|
eleqtrrd |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> i e. dom A ) |
| 41 |
|
fvelrn |
|- ( ( Fun A /\ i e. dom A ) -> ( A ` i ) e. ran A ) |
| 42 |
37 40 41
|
syl2an2r |
|- ( ( ph /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` i ) e. ran A ) |
| 43 |
42
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( A ` i ) e. ran A ) |
| 44 |
|
simpllr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) |
| 45 |
15
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( A ` i ) ) |
| 46 |
2
|
adantr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> A e. Word S ) |
| 47 |
3
|
adantr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> B e. Word S ) |
| 48 |
|
simpr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) |
| 49 |
|
ccatlen |
|- ( ( A e. Word S /\ B e. Word S ) -> ( # ` ( A ++ B ) ) = ( ( # ` A ) + ( # ` B ) ) ) |
| 50 |
2 3 49
|
syl2anc |
|- ( ph -> ( # ` ( A ++ B ) ) = ( ( # ` A ) + ( # ` B ) ) ) |
| 51 |
50
|
oveq2d |
|- ( ph -> ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) = ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) |
| 52 |
51
|
adantr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) = ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) |
| 53 |
48 52
|
eleqtrd |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> j e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) |
| 54 |
|
ccatval2 |
|- ( ( A e. Word S /\ B e. Word S /\ j e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) -> ( ( A ++ B ) ` j ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 55 |
46 47 53 54
|
syl3anc |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` j ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 56 |
55
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` j ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 57 |
44 45 56
|
3eqtr3d |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( A ` i ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 58 |
|
f1fun |
|- ( B : dom B -1-1-> S -> Fun B ) |
| 59 |
5 58
|
syl |
|- ( ph -> Fun B ) |
| 60 |
|
lencl |
|- ( B e. Word S -> ( # ` B ) e. NN0 ) |
| 61 |
3 60
|
syl |
|- ( ph -> ( # ` B ) e. NN0 ) |
| 62 |
61
|
nn0zd |
|- ( ph -> ( # ` B ) e. ZZ ) |
| 63 |
62
|
adantr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( # ` B ) e. ZZ ) |
| 64 |
|
fzosubel3 |
|- ( ( j e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) /\ ( # ` B ) e. ZZ ) -> ( j - ( # ` A ) ) e. ( 0 ..^ ( # ` B ) ) ) |
| 65 |
53 63 64
|
syl2anc |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j - ( # ` A ) ) e. ( 0 ..^ ( # ` B ) ) ) |
| 66 |
|
wrddm |
|- ( B e. Word S -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 67 |
3 66
|
syl |
|- ( ph -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 68 |
67
|
adantr |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 69 |
65 68
|
eleqtrrd |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j - ( # ` A ) ) e. dom B ) |
| 70 |
|
fvelrn |
|- ( ( Fun B /\ ( j - ( # ` A ) ) e. dom B ) -> ( B ` ( j - ( # ` A ) ) ) e. ran B ) |
| 71 |
59 69 70
|
syl2an2r |
|- ( ( ph /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( B ` ( j - ( # ` A ) ) ) e. ran B ) |
| 72 |
71
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( B ` ( j - ( # ` A ) ) ) e. ran B ) |
| 73 |
57 72
|
eqeltrd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( A ` i ) e. ran B ) |
| 74 |
43 73
|
elind |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( A ` i ) e. ( ran A i^i ran B ) ) |
| 75 |
6
|
ad3antrrr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ran A i^i ran B ) = (/) ) |
| 76 |
74 75
|
eleqtrd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( A ` i ) e. (/) ) |
| 77 |
|
noel |
|- -. ( A ` i ) e. (/) |
| 78 |
77
|
a1i |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> -. ( A ` i ) e. (/) ) |
| 79 |
76 78
|
pm2.21dd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i = j ) |
| 80 |
79
|
ex |
|- ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 81 |
80
|
adantllr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 82 |
|
wrddm |
|- ( ( A ++ B ) e. Word S -> dom ( A ++ B ) = ( 0 ..^ ( # ` ( A ++ B ) ) ) ) |
| 83 |
8 82
|
syl |
|- ( ph -> dom ( A ++ B ) = ( 0 ..^ ( # ` ( A ++ B ) ) ) ) |
| 84 |
83
|
eleq2d |
|- ( ph -> ( j e. dom ( A ++ B ) <-> j e. ( 0 ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 85 |
84
|
biimpa |
|- ( ( ph /\ j e. dom ( A ++ B ) ) -> j e. ( 0 ..^ ( # ` ( A ++ B ) ) ) ) |
| 86 |
|
lencl |
|- ( A e. Word S -> ( # ` A ) e. NN0 ) |
| 87 |
2 86
|
syl |
|- ( ph -> ( # ` A ) e. NN0 ) |
| 88 |
87
|
nn0zd |
|- ( ph -> ( # ` A ) e. ZZ ) |
| 89 |
88
|
adantr |
|- ( ( ph /\ j e. dom ( A ++ B ) ) -> ( # ` A ) e. ZZ ) |
| 90 |
|
fzospliti |
|- ( ( j e. ( 0 ..^ ( # ` ( A ++ B ) ) ) /\ ( # ` A ) e. ZZ ) -> ( j e. ( 0 ..^ ( # ` A ) ) \/ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 91 |
85 89 90
|
syl2anc |
|- ( ( ph /\ j e. dom ( A ++ B ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) \/ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 92 |
91
|
ad2antrr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) \/ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 93 |
35 81 92
|
mpjaod |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( 0 ..^ ( # ` A ) ) ) -> i = j ) |
| 94 |
93
|
ex |
|- ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> ( i e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 95 |
94
|
adantlrl |
|- ( ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> ( i e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 96 |
|
simpr |
|- ( ( ph /\ j e. ( 0 ..^ ( # ` A ) ) ) -> j e. ( 0 ..^ ( # ` A ) ) ) |
| 97 |
23
|
adantr |
|- ( ( ph /\ j e. ( 0 ..^ ( # ` A ) ) ) -> dom A = ( 0 ..^ ( # ` A ) ) ) |
| 98 |
96 97
|
eleqtrrd |
|- ( ( ph /\ j e. ( 0 ..^ ( # ` A ) ) ) -> j e. dom A ) |
| 99 |
|
fvelrn |
|- ( ( Fun A /\ j e. dom A ) -> ( A ` j ) e. ran A ) |
| 100 |
37 98 99
|
syl2an2r |
|- ( ( ph /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) e. ran A ) |
| 101 |
100
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) e. ran A ) |
| 102 |
|
simpllr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) |
| 103 |
2
|
adantr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> A e. Word S ) |
| 104 |
3
|
adantr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> B e. Word S ) |
| 105 |
|
simpr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) |
| 106 |
51
|
adantr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) = ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) |
| 107 |
105 106
|
eleqtrd |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) |
| 108 |
|
ccatval2 |
|- ( ( A e. Word S /\ B e. Word S /\ i e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( B ` ( i - ( # ` A ) ) ) ) |
| 109 |
103 104 107 108
|
syl3anc |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( B ` ( i - ( # ` A ) ) ) ) |
| 110 |
109
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` i ) = ( B ` ( i - ( # ` A ) ) ) ) |
| 111 |
19
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ( A ++ B ) ` j ) = ( A ` j ) ) |
| 112 |
102 110 111
|
3eqtr3rd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) = ( B ` ( i - ( # ` A ) ) ) ) |
| 113 |
62
|
adantr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( # ` B ) e. ZZ ) |
| 114 |
|
fzosubel3 |
|- ( ( i e. ( ( # ` A ) ..^ ( ( # ` A ) + ( # ` B ) ) ) /\ ( # ` B ) e. ZZ ) -> ( i - ( # ` A ) ) e. ( 0 ..^ ( # ` B ) ) ) |
| 115 |
107 113 114
|
syl2anc |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( i - ( # ` A ) ) e. ( 0 ..^ ( # ` B ) ) ) |
| 116 |
67
|
adantr |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 117 |
115 116
|
eleqtrrd |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( i - ( # ` A ) ) e. dom B ) |
| 118 |
|
fvelrn |
|- ( ( Fun B /\ ( i - ( # ` A ) ) e. dom B ) -> ( B ` ( i - ( # ` A ) ) ) e. ran B ) |
| 119 |
59 117 118
|
syl2an2r |
|- ( ( ph /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( B ` ( i - ( # ` A ) ) ) e. ran B ) |
| 120 |
119
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( B ` ( i - ( # ` A ) ) ) e. ran B ) |
| 121 |
112 120
|
eqeltrd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) e. ran B ) |
| 122 |
101 121
|
elind |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) e. ( ran A i^i ran B ) ) |
| 123 |
6
|
ad3antrrr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( ran A i^i ran B ) = (/) ) |
| 124 |
122 123
|
eleqtrd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> ( A ` j ) e. (/) ) |
| 125 |
|
noel |
|- -. ( A ` j ) e. (/) |
| 126 |
125
|
a1i |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> -. ( A ` j ) e. (/) ) |
| 127 |
124 126
|
pm2.21dd |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( 0 ..^ ( # ` A ) ) ) -> i = j ) |
| 128 |
127
|
ex |
|- ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 129 |
128
|
adantllr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) -> i = j ) ) |
| 130 |
|
elfzoelz |
|- ( i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i e. ZZ ) |
| 131 |
130
|
zcnd |
|- ( i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i e. CC ) |
| 132 |
131
|
ad2antlr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i e. CC ) |
| 133 |
|
elfzoelz |
|- ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> j e. ZZ ) |
| 134 |
133
|
zcnd |
|- ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> j e. CC ) |
| 135 |
134
|
adantl |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> j e. CC ) |
| 136 |
87
|
nn0cnd |
|- ( ph -> ( # ` A ) e. CC ) |
| 137 |
136
|
ad3antrrr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( # ` A ) e. CC ) |
| 138 |
5
|
ad3antrrr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> B : dom B -1-1-> S ) |
| 139 |
117
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( i - ( # ` A ) ) e. dom B ) |
| 140 |
69
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j - ( # ` A ) ) e. dom B ) |
| 141 |
139 140
|
jca |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( i - ( # ` A ) ) e. dom B /\ ( j - ( # ` A ) ) e. dom B ) ) |
| 142 |
|
simpllr |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) |
| 143 |
109
|
ad4ant13 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` i ) = ( B ` ( i - ( # ` A ) ) ) ) |
| 144 |
55
|
ad4ant14 |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( ( A ++ B ) ` j ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 145 |
142 143 144
|
3eqtr3d |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( B ` ( i - ( # ` A ) ) ) = ( B ` ( j - ( # ` A ) ) ) ) |
| 146 |
|
f1veqaeq |
|- ( ( B : dom B -1-1-> S /\ ( ( i - ( # ` A ) ) e. dom B /\ ( j - ( # ` A ) ) e. dom B ) ) -> ( ( B ` ( i - ( # ` A ) ) ) = ( B ` ( j - ( # ` A ) ) ) -> ( i - ( # ` A ) ) = ( j - ( # ` A ) ) ) ) |
| 147 |
146
|
imp |
|- ( ( ( B : dom B -1-1-> S /\ ( ( i - ( # ` A ) ) e. dom B /\ ( j - ( # ` A ) ) e. dom B ) ) /\ ( B ` ( i - ( # ` A ) ) ) = ( B ` ( j - ( # ` A ) ) ) ) -> ( i - ( # ` A ) ) = ( j - ( # ` A ) ) ) |
| 148 |
138 141 145 147
|
syl21anc |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( i - ( # ` A ) ) = ( j - ( # ` A ) ) ) |
| 149 |
132 135 137 148
|
subcan2d |
|- ( ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) /\ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i = j ) |
| 150 |
149
|
ex |
|- ( ( ( ph /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 151 |
150
|
adantllr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 152 |
91
|
ad2antrr |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> ( j e. ( 0 ..^ ( # ` A ) ) \/ j e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 153 |
129 151 152
|
mpjaod |
|- ( ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) /\ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) -> i = j ) |
| 154 |
153
|
ex |
|- ( ( ( ph /\ j e. dom ( A ++ B ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> ( i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 155 |
154
|
adantlrl |
|- ( ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> ( i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) -> i = j ) ) |
| 156 |
83
|
eleq2d |
|- ( ph -> ( i e. dom ( A ++ B ) <-> i e. ( 0 ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 157 |
156
|
biimpa |
|- ( ( ph /\ i e. dom ( A ++ B ) ) -> i e. ( 0 ..^ ( # ` ( A ++ B ) ) ) ) |
| 158 |
88
|
adantr |
|- ( ( ph /\ i e. dom ( A ++ B ) ) -> ( # ` A ) e. ZZ ) |
| 159 |
|
fzospliti |
|- ( ( i e. ( 0 ..^ ( # ` ( A ++ B ) ) ) /\ ( # ` A ) e. ZZ ) -> ( i e. ( 0 ..^ ( # ` A ) ) \/ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 160 |
157 158 159
|
syl2anc |
|- ( ( ph /\ i e. dom ( A ++ B ) ) -> ( i e. ( 0 ..^ ( # ` A ) ) \/ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 161 |
160
|
adantrr |
|- ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) -> ( i e. ( 0 ..^ ( # ` A ) ) \/ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 162 |
161
|
adantr |
|- ( ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> ( i e. ( 0 ..^ ( # ` A ) ) \/ i e. ( ( # ` A ) ..^ ( # ` ( A ++ B ) ) ) ) ) |
| 163 |
95 155 162
|
mpjaod |
|- ( ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) /\ ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) ) -> i = j ) |
| 164 |
163
|
ex |
|- ( ( ph /\ ( i e. dom ( A ++ B ) /\ j e. dom ( A ++ B ) ) ) -> ( ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) -> i = j ) ) |
| 165 |
164
|
ralrimivva |
|- ( ph -> A. i e. dom ( A ++ B ) A. j e. dom ( A ++ B ) ( ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) -> i = j ) ) |
| 166 |
|
dff13 |
|- ( ( A ++ B ) : dom ( A ++ B ) -1-1-> S <-> ( ( A ++ B ) : dom ( A ++ B ) --> S /\ A. i e. dom ( A ++ B ) A. j e. dom ( A ++ B ) ( ( ( A ++ B ) ` i ) = ( ( A ++ B ) ` j ) -> i = j ) ) ) |
| 167 |
11 165 166
|
sylanbrc |
|- ( ph -> ( A ++ B ) : dom ( A ++ B ) -1-1-> S ) |