| Step |
Hyp |
Ref |
Expression |
| 1 |
|
chner.1 |
|- ( ph -> .~ Er A ) |
| 2 |
|
chner.2 |
|- ( ph -> C e. ( .~ Chain A ) ) |
| 3 |
|
chner.3 |
|- ( ph -> J e. ( 0 ..^ ( # ` C ) ) ) |
| 4 |
|
fveq2 |
|- ( i = J -> ( C ` i ) = ( C ` J ) ) |
| 5 |
4
|
breq1d |
|- ( i = J -> ( ( C ` i ) .~ ( lastS ` C ) <-> ( C ` J ) .~ ( lastS ` C ) ) ) |
| 6 |
|
fveq2 |
|- ( c = (/) -> ( # ` c ) = ( # ` (/) ) ) |
| 7 |
6
|
oveq2d |
|- ( c = (/) -> ( 0 ..^ ( # ` c ) ) = ( 0 ..^ ( # ` (/) ) ) ) |
| 8 |
|
fveq1 |
|- ( c = (/) -> ( c ` i ) = ( (/) ` i ) ) |
| 9 |
|
fveq2 |
|- ( c = (/) -> ( lastS ` c ) = ( lastS ` (/) ) ) |
| 10 |
8 9
|
breq12d |
|- ( c = (/) -> ( ( c ` i ) .~ ( lastS ` c ) <-> ( (/) ` i ) .~ ( lastS ` (/) ) ) ) |
| 11 |
7 10
|
raleqbidv |
|- ( c = (/) -> ( A. i e. ( 0 ..^ ( # ` c ) ) ( c ` i ) .~ ( lastS ` c ) <-> A. i e. ( 0 ..^ ( # ` (/) ) ) ( (/) ` i ) .~ ( lastS ` (/) ) ) ) |
| 12 |
|
fveq2 |
|- ( c = d -> ( # ` c ) = ( # ` d ) ) |
| 13 |
12
|
oveq2d |
|- ( c = d -> ( 0 ..^ ( # ` c ) ) = ( 0 ..^ ( # ` d ) ) ) |
| 14 |
|
fveq1 |
|- ( c = d -> ( c ` i ) = ( d ` i ) ) |
| 15 |
|
fveq2 |
|- ( c = d -> ( lastS ` c ) = ( lastS ` d ) ) |
| 16 |
14 15
|
breq12d |
|- ( c = d -> ( ( c ` i ) .~ ( lastS ` c ) <-> ( d ` i ) .~ ( lastS ` d ) ) ) |
| 17 |
13 16
|
raleqbidv |
|- ( c = d -> ( A. i e. ( 0 ..^ ( # ` c ) ) ( c ` i ) .~ ( lastS ` c ) <-> A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) ) |
| 18 |
|
fveq2 |
|- ( i = j -> ( c ` i ) = ( c ` j ) ) |
| 19 |
18
|
breq1d |
|- ( i = j -> ( ( c ` i ) .~ ( lastS ` c ) <-> ( c ` j ) .~ ( lastS ` c ) ) ) |
| 20 |
19
|
cbvralvw |
|- ( A. i e. ( 0 ..^ ( # ` c ) ) ( c ` i ) .~ ( lastS ` c ) <-> A. j e. ( 0 ..^ ( # ` c ) ) ( c ` j ) .~ ( lastS ` c ) ) |
| 21 |
|
fveq2 |
|- ( c = ( d ++ <" x "> ) -> ( # ` c ) = ( # ` ( d ++ <" x "> ) ) ) |
| 22 |
21
|
oveq2d |
|- ( c = ( d ++ <" x "> ) -> ( 0 ..^ ( # ` c ) ) = ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) |
| 23 |
|
fveq1 |
|- ( c = ( d ++ <" x "> ) -> ( c ` j ) = ( ( d ++ <" x "> ) ` j ) ) |
| 24 |
|
fveq2 |
|- ( c = ( d ++ <" x "> ) -> ( lastS ` c ) = ( lastS ` ( d ++ <" x "> ) ) ) |
| 25 |
23 24
|
breq12d |
|- ( c = ( d ++ <" x "> ) -> ( ( c ` j ) .~ ( lastS ` c ) <-> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) ) |
| 26 |
22 25
|
raleqbidv |
|- ( c = ( d ++ <" x "> ) -> ( A. j e. ( 0 ..^ ( # ` c ) ) ( c ` j ) .~ ( lastS ` c ) <-> A. j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) ) |
| 27 |
20 26
|
bitrid |
|- ( c = ( d ++ <" x "> ) -> ( A. i e. ( 0 ..^ ( # ` c ) ) ( c ` i ) .~ ( lastS ` c ) <-> A. j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) ) |
| 28 |
|
fveq2 |
|- ( c = C -> ( # ` c ) = ( # ` C ) ) |
| 29 |
28
|
oveq2d |
|- ( c = C -> ( 0 ..^ ( # ` c ) ) = ( 0 ..^ ( # ` C ) ) ) |
| 30 |
|
fveq1 |
|- ( c = C -> ( c ` i ) = ( C ` i ) ) |
| 31 |
|
fveq2 |
|- ( c = C -> ( lastS ` c ) = ( lastS ` C ) ) |
| 32 |
30 31
|
breq12d |
|- ( c = C -> ( ( c ` i ) .~ ( lastS ` c ) <-> ( C ` i ) .~ ( lastS ` C ) ) ) |
| 33 |
29 32
|
raleqbidv |
|- ( c = C -> ( A. i e. ( 0 ..^ ( # ` c ) ) ( c ` i ) .~ ( lastS ` c ) <-> A. i e. ( 0 ..^ ( # ` C ) ) ( C ` i ) .~ ( lastS ` C ) ) ) |
| 34 |
|
0nnn |
|- -. 0 e. NN |
| 35 |
|
hash0 |
|- ( # ` (/) ) = 0 |
| 36 |
35
|
eleq1i |
|- ( ( # ` (/) ) e. NN <-> 0 e. NN ) |
| 37 |
34 36
|
mtbir |
|- -. ( # ` (/) ) e. NN |
| 38 |
|
fzo0n0 |
|- ( ( 0 ..^ ( # ` (/) ) ) =/= (/) <-> ( # ` (/) ) e. NN ) |
| 39 |
37 38
|
mtbir |
|- -. ( 0 ..^ ( # ` (/) ) ) =/= (/) |
| 40 |
|
nne |
|- ( -. ( 0 ..^ ( # ` (/) ) ) =/= (/) <-> ( 0 ..^ ( # ` (/) ) ) = (/) ) |
| 41 |
39 40
|
mpbi |
|- ( 0 ..^ ( # ` (/) ) ) = (/) |
| 42 |
|
rzal |
|- ( ( 0 ..^ ( # ` (/) ) ) = (/) -> A. i e. ( 0 ..^ ( # ` (/) ) ) ( (/) ` i ) .~ ( lastS ` (/) ) ) |
| 43 |
41 42
|
mp1i |
|- ( ph -> A. i e. ( 0 ..^ ( # ` (/) ) ) ( (/) ` i ) .~ ( lastS ` (/) ) ) |
| 44 |
1
|
ad6antr |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> .~ Er A ) |
| 45 |
|
simp-5r |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> x e. A ) |
| 46 |
44 45
|
erref |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> x .~ x ) |
| 47 |
|
simp-6r |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> d e. ( .~ Chain A ) ) |
| 48 |
47
|
chnwrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> d e. Word A ) |
| 49 |
|
simplr |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) |
| 50 |
|
ccatws1len |
|- ( d e. Word A -> ( # ` ( d ++ <" x "> ) ) = ( ( # ` d ) + 1 ) ) |
| 51 |
48 50
|
syl |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( # ` ( d ++ <" x "> ) ) = ( ( # ` d ) + 1 ) ) |
| 52 |
|
fveq2 |
|- ( d = (/) -> ( # ` d ) = ( # ` (/) ) ) |
| 53 |
52 35
|
eqtr2di |
|- ( d = (/) -> 0 = ( # ` d ) ) |
| 54 |
53
|
eqcomd |
|- ( d = (/) -> ( # ` d ) = 0 ) |
| 55 |
54
|
adantl |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( # ` d ) = 0 ) |
| 56 |
55
|
oveq1d |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( ( # ` d ) + 1 ) = ( 0 + 1 ) ) |
| 57 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
| 58 |
56 57
|
eqtrdi |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( ( # ` d ) + 1 ) = 1 ) |
| 59 |
51 58
|
eqtrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( # ` ( d ++ <" x "> ) ) = 1 ) |
| 60 |
59
|
oveq2d |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) = ( 0 ..^ 1 ) ) |
| 61 |
49 60
|
eleqtrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> j e. ( 0 ..^ 1 ) ) |
| 62 |
|
fzo01 |
|- ( 0 ..^ 1 ) = { 0 } |
| 63 |
62
|
a1i |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( 0 ..^ 1 ) = { 0 } ) |
| 64 |
61 63
|
eleqtrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> j e. { 0 } ) |
| 65 |
|
elsni |
|- ( j e. { 0 } -> j = 0 ) |
| 66 |
64 65
|
syl |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> j = 0 ) |
| 67 |
53
|
adantl |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> 0 = ( # ` d ) ) |
| 68 |
66 67
|
eqtrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> j = ( # ` d ) ) |
| 69 |
|
ccats1val2 |
|- ( ( d e. Word A /\ x e. A /\ j = ( # ` d ) ) -> ( ( d ++ <" x "> ) ` j ) = x ) |
| 70 |
48 45 68 69
|
syl3anc |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( ( d ++ <" x "> ) ` j ) = x ) |
| 71 |
|
lswccats1 |
|- ( ( d e. Word A /\ x e. A ) -> ( lastS ` ( d ++ <" x "> ) ) = x ) |
| 72 |
48 45 71
|
syl2anc |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( lastS ` ( d ++ <" x "> ) ) = x ) |
| 73 |
46 70 72
|
3brtr4d |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d = (/) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) |
| 74 |
1
|
ad6antr |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> .~ Er A ) |
| 75 |
|
simp-6r |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> d e. ( .~ Chain A ) ) |
| 76 |
75
|
chnwrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> d e. Word A ) |
| 77 |
76
|
adantr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> d e. Word A ) |
| 78 |
|
simp-6r |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> x e. A ) |
| 79 |
|
simpr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> j = ( # ` d ) ) |
| 80 |
77 78 79 69
|
syl3anc |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> ( ( d ++ <" x "> ) ` j ) = x ) |
| 81 |
|
simp-4r |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( d = (/) \/ ( lastS ` d ) .~ x ) ) |
| 82 |
|
neneq |
|- ( d =/= (/) -> -. d = (/) ) |
| 83 |
82
|
adantl |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> -. d = (/) ) |
| 84 |
81 83
|
orcnd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( lastS ` d ) .~ x ) |
| 85 |
74 84
|
ersym |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> x .~ ( lastS ` d ) ) |
| 86 |
85
|
adantr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> x .~ ( lastS ` d ) ) |
| 87 |
80 86
|
eqbrtrd |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j = ( # ` d ) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` d ) ) |
| 88 |
|
fveq2 |
|- ( i = j -> ( ( d ++ <" x "> ) ` i ) = ( ( d ++ <" x "> ) ` j ) ) |
| 89 |
88
|
breq1d |
|- ( i = j -> ( ( ( d ++ <" x "> ) ` i ) .~ ( lastS ` d ) <-> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` d ) ) ) |
| 90 |
|
simpr |
|- ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) -> A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) |
| 91 |
90
|
ad3antrrr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) |
| 92 |
|
simplr |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> d e. ( .~ Chain A ) ) |
| 93 |
92
|
chnwrd |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> d e. Word A ) |
| 94 |
|
simpr |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> i e. ( 0 ..^ ( # ` d ) ) ) |
| 95 |
|
ccats1val1 |
|- ( ( d e. Word A /\ i e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ++ <" x "> ) ` i ) = ( d ` i ) ) |
| 96 |
93 94 95
|
syl2anc |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ++ <" x "> ) ` i ) = ( d ` i ) ) |
| 97 |
96
|
eqcomd |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> ( d ` i ) = ( ( d ++ <" x "> ) ` i ) ) |
| 98 |
97
|
breq1d |
|- ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ i e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ` i ) .~ ( lastS ` d ) <-> ( ( d ++ <" x "> ) ` i ) .~ ( lastS ` d ) ) ) |
| 99 |
98
|
ralbidva |
|- ( ( ph /\ d e. ( .~ Chain A ) ) -> ( A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) <-> A. i e. ( 0 ..^ ( # ` d ) ) ( ( d ++ <" x "> ) ` i ) .~ ( lastS ` d ) ) ) |
| 100 |
99
|
ad6antr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> ( A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) <-> A. i e. ( 0 ..^ ( # ` d ) ) ( ( d ++ <" x "> ) ` i ) .~ ( lastS ` d ) ) ) |
| 101 |
91 100
|
mpbid |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> A. i e. ( 0 ..^ ( # ` d ) ) ( ( d ++ <" x "> ) ` i ) .~ ( lastS ` d ) ) |
| 102 |
|
simpr |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) |
| 103 |
|
simp-5r |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> d e. ( .~ Chain A ) ) |
| 104 |
103
|
chnwrd |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> d e. Word A ) |
| 105 |
104 50
|
syl |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> ( # ` ( d ++ <" x "> ) ) = ( ( # ` d ) + 1 ) ) |
| 106 |
105
|
oveq2d |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) = ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
| 107 |
102 106
|
eleqtrd |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> j e. ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
| 108 |
107
|
ad2antrr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> j e. ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
| 109 |
|
simp-7r |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> d e. ( .~ Chain A ) ) |
| 110 |
109
|
chnwrd |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> d e. Word A ) |
| 111 |
|
lencl |
|- ( d e. Word A -> ( # ` d ) e. NN0 ) |
| 112 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
| 113 |
112
|
eleq2i |
|- ( ( # ` d ) e. NN0 <-> ( # ` d ) e. ( ZZ>= ` 0 ) ) |
| 114 |
113
|
biimpi |
|- ( ( # ` d ) e. NN0 -> ( # ` d ) e. ( ZZ>= ` 0 ) ) |
| 115 |
110 111 114
|
3syl |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> ( # ` d ) e. ( ZZ>= ` 0 ) ) |
| 116 |
|
fzosplitsni |
|- ( ( # ` d ) e. ( ZZ>= ` 0 ) -> ( j e. ( 0 ..^ ( ( # ` d ) + 1 ) ) <-> ( j e. ( 0 ..^ ( # ` d ) ) \/ j = ( # ` d ) ) ) ) |
| 117 |
115 116
|
syl |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> ( j e. ( 0 ..^ ( ( # ` d ) + 1 ) ) <-> ( j e. ( 0 ..^ ( # ` d ) ) \/ j = ( # ` d ) ) ) ) |
| 118 |
108 117
|
mpbid |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> ( j e. ( 0 ..^ ( # ` d ) ) \/ j = ( # ` d ) ) ) |
| 119 |
|
simpr |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> j =/= ( # ` d ) ) |
| 120 |
|
df-ne |
|- ( j =/= ( # ` d ) <-> -. j = ( # ` d ) ) |
| 121 |
119 120
|
sylib |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> -. j = ( # ` d ) ) |
| 122 |
118 121
|
olcnd |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> j e. ( 0 ..^ ( # ` d ) ) ) |
| 123 |
89 101 122
|
rspcdva |
|- ( ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) /\ j =/= ( # ` d ) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` d ) ) |
| 124 |
87 123
|
pm2.61dane |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` d ) ) |
| 125 |
74 124 84
|
ertrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( ( d ++ <" x "> ) ` j ) .~ x ) |
| 126 |
|
simp-5r |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> x e. A ) |
| 127 |
76 126 71
|
syl2anc |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( lastS ` ( d ++ <" x "> ) ) = x ) |
| 128 |
125 127
|
breqtrrd |
|- ( ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) /\ d =/= (/) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) |
| 129 |
73 128
|
pm2.61dane |
|- ( ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) /\ j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ) -> ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) |
| 130 |
129
|
ralrimiva |
|- ( ( ( ( ( ph /\ d e. ( .~ Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .~ x ) ) /\ A. i e. ( 0 ..^ ( # ` d ) ) ( d ` i ) .~ ( lastS ` d ) ) -> A. j e. ( 0 ..^ ( # ` ( d ++ <" x "> ) ) ) ( ( d ++ <" x "> ) ` j ) .~ ( lastS ` ( d ++ <" x "> ) ) ) |
| 131 |
11 17 27 33 2 43 130
|
chnind |
|- ( ph -> A. i e. ( 0 ..^ ( # ` C ) ) ( C ` i ) .~ ( lastS ` C ) ) |
| 132 |
5 131 3
|
rspcdva |
|- ( ph -> ( C ` J ) .~ ( lastS ` C ) ) |