Step |
Hyp |
Ref |
Expression |
1 |
|
chnind.1 |
|- ( c = (/) -> ( ps <-> ch ) ) |
2 |
|
chnind.2 |
|- ( c = d -> ( ps <-> th ) ) |
3 |
|
chnind.3 |
|- ( c = ( d ++ <" x "> ) -> ( ps <-> ta ) ) |
4 |
|
chnind.4 |
|- ( c = C -> ( ps <-> et ) ) |
5 |
|
chnind.6 |
|- ( ph -> C e. ( .< Chain A ) ) |
6 |
|
chnind.7 |
|- ( ph -> ch ) |
7 |
|
chnind.8 |
|- ( ( ( ( ( ph /\ d e. ( .< Chain A ) ) /\ x e. A ) /\ ( d = (/) \/ ( lastS ` d ) .< x ) ) /\ th ) -> ta ) |
8 |
5
|
chnwrd |
|- ( ph -> C e. Word A ) |
9 |
|
id |
|- ( ph -> ph ) |
10 |
|
ischn |
|- ( C e. ( .< Chain A ) <-> ( C e. Word A /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) |
11 |
5 10
|
sylib |
|- ( ph -> ( C e. Word A /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) |
12 |
11
|
simprd |
|- ( ph -> A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) |
13 |
|
dmeq |
|- ( c = (/) -> dom c = dom (/) ) |
14 |
13
|
difeq1d |
|- ( c = (/) -> ( dom c \ { 0 } ) = ( dom (/) \ { 0 } ) ) |
15 |
|
fveq1 |
|- ( c = (/) -> ( c ` ( i - 1 ) ) = ( (/) ` ( i - 1 ) ) ) |
16 |
|
fveq1 |
|- ( c = (/) -> ( c ` i ) = ( (/) ` i ) ) |
17 |
15 16
|
breq12d |
|- ( c = (/) -> ( ( c ` ( i - 1 ) ) .< ( c ` i ) <-> ( (/) ` ( i - 1 ) ) .< ( (/) ` i ) ) ) |
18 |
14 17
|
raleqbidv |
|- ( c = (/) -> ( A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) <-> A. i e. ( dom (/) \ { 0 } ) ( (/) ` ( i - 1 ) ) .< ( (/) ` i ) ) ) |
19 |
18
|
anbi2d |
|- ( c = (/) -> ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) <-> ( ph /\ A. i e. ( dom (/) \ { 0 } ) ( (/) ` ( i - 1 ) ) .< ( (/) ` i ) ) ) ) |
20 |
19 1
|
imbi12d |
|- ( c = (/) -> ( ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) -> ps ) <-> ( ( ph /\ A. i e. ( dom (/) \ { 0 } ) ( (/) ` ( i - 1 ) ) .< ( (/) ` i ) ) -> ch ) ) ) |
21 |
|
dmeq |
|- ( c = d -> dom c = dom d ) |
22 |
21
|
difeq1d |
|- ( c = d -> ( dom c \ { 0 } ) = ( dom d \ { 0 } ) ) |
23 |
|
fveq1 |
|- ( c = d -> ( c ` ( i - 1 ) ) = ( d ` ( i - 1 ) ) ) |
24 |
|
fveq1 |
|- ( c = d -> ( c ` i ) = ( d ` i ) ) |
25 |
23 24
|
breq12d |
|- ( c = d -> ( ( c ` ( i - 1 ) ) .< ( c ` i ) <-> ( d ` ( i - 1 ) ) .< ( d ` i ) ) ) |
26 |
22 25
|
raleqbidv |
|- ( c = d -> ( A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) <-> A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) ) |
27 |
26
|
anbi2d |
|- ( c = d -> ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) <-> ( ph /\ A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) ) ) |
28 |
27 2
|
imbi12d |
|- ( c = d -> ( ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) -> ps ) <-> ( ( ph /\ A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) -> th ) ) ) |
29 |
|
dmeq |
|- ( c = ( d ++ <" x "> ) -> dom c = dom ( d ++ <" x "> ) ) |
30 |
29
|
difeq1d |
|- ( c = ( d ++ <" x "> ) -> ( dom c \ { 0 } ) = ( dom ( d ++ <" x "> ) \ { 0 } ) ) |
31 |
|
fveq1 |
|- ( c = ( d ++ <" x "> ) -> ( c ` ( i - 1 ) ) = ( ( d ++ <" x "> ) ` ( i - 1 ) ) ) |
32 |
|
fveq1 |
|- ( c = ( d ++ <" x "> ) -> ( c ` i ) = ( ( d ++ <" x "> ) ` i ) ) |
33 |
31 32
|
breq12d |
|- ( c = ( d ++ <" x "> ) -> ( ( c ` ( i - 1 ) ) .< ( c ` i ) <-> ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) ) |
34 |
30 33
|
raleqbidv |
|- ( c = ( d ++ <" x "> ) -> ( A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) <-> A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) ) |
35 |
34
|
anbi2d |
|- ( c = ( d ++ <" x "> ) -> ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) <-> ( ph /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) ) ) |
36 |
35 3
|
imbi12d |
|- ( c = ( d ++ <" x "> ) -> ( ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) -> ps ) <-> ( ( ph /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ta ) ) ) |
37 |
|
dmeq |
|- ( c = C -> dom c = dom C ) |
38 |
37
|
difeq1d |
|- ( c = C -> ( dom c \ { 0 } ) = ( dom C \ { 0 } ) ) |
39 |
|
fveq1 |
|- ( c = C -> ( c ` ( i - 1 ) ) = ( C ` ( i - 1 ) ) ) |
40 |
|
fveq1 |
|- ( c = C -> ( c ` i ) = ( C ` i ) ) |
41 |
39 40
|
breq12d |
|- ( c = C -> ( ( c ` ( i - 1 ) ) .< ( c ` i ) <-> ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) |
42 |
38 41
|
raleqbidv |
|- ( c = C -> ( A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) <-> A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) |
43 |
42
|
anbi2d |
|- ( c = C -> ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) <-> ( ph /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) ) |
44 |
43 4
|
imbi12d |
|- ( c = C -> ( ( ( ph /\ A. i e. ( dom c \ { 0 } ) ( c ` ( i - 1 ) ) .< ( c ` i ) ) -> ps ) <-> ( ( ph /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) -> et ) ) ) |
45 |
6
|
adantr |
|- ( ( ph /\ A. i e. ( dom (/) \ { 0 } ) ( (/) ` ( i - 1 ) ) .< ( (/) ` i ) ) -> ch ) |
46 |
|
simpllr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> ph ) |
47 |
|
simp-4l |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> d e. Word A ) |
48 |
|
simpll |
|- ( ( ( d e. Word A /\ x e. A ) /\ ph ) -> d e. Word A ) |
49 |
|
simplr |
|- ( ( ( d e. Word A /\ x e. A ) /\ ph ) -> x e. A ) |
50 |
49
|
s1cld |
|- ( ( ( d e. Word A /\ x e. A ) /\ ph ) -> <" x "> e. Word A ) |
51 |
48 50
|
ccatdmss |
|- ( ( ( d e. Word A /\ x e. A ) /\ ph ) -> dom d C_ dom ( d ++ <" x "> ) ) |
52 |
51
|
ssdifd |
|- ( ( ( d e. Word A /\ x e. A ) /\ ph ) -> ( dom d \ { 0 } ) C_ ( dom ( d ++ <" x "> ) \ { 0 } ) ) |
53 |
52
|
sselda |
|- ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) -> j e. ( dom ( d ++ <" x "> ) \ { 0 } ) ) |
54 |
|
fvoveq1 |
|- ( i = j -> ( ( d ++ <" x "> ) ` ( i - 1 ) ) = ( ( d ++ <" x "> ) ` ( j - 1 ) ) ) |
55 |
|
fveq2 |
|- ( i = j -> ( ( d ++ <" x "> ) ` i ) = ( ( d ++ <" x "> ) ` j ) ) |
56 |
54 55
|
breq12d |
|- ( i = j -> ( ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) <-> ( ( d ++ <" x "> ) ` ( j - 1 ) ) .< ( ( d ++ <" x "> ) ` j ) ) ) |
57 |
56
|
adantl |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ i = j ) -> ( ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) <-> ( ( d ++ <" x "> ) ` ( j - 1 ) ) .< ( ( d ++ <" x "> ) ` j ) ) ) |
58 |
53 57
|
rspcdv |
|- ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) -> ( A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) -> ( ( d ++ <" x "> ) ` ( j - 1 ) ) .< ( ( d ++ <" x "> ) ` j ) ) ) |
59 |
58
|
imp |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` ( j - 1 ) ) .< ( ( d ++ <" x "> ) ` j ) ) |
60 |
|
simp-4l |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> d e. Word A ) |
61 |
50
|
ad2antrr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> <" x "> e. Word A ) |
62 |
|
lencl |
|- ( d e. Word A -> ( # ` d ) e. NN0 ) |
63 |
60 62
|
syl |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) e. NN0 ) |
64 |
63
|
nn0zd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) e. ZZ ) |
65 |
|
fzossrbm1 |
|- ( ( # ` d ) e. ZZ -> ( 0 ..^ ( ( # ` d ) - 1 ) ) C_ ( 0 ..^ ( # ` d ) ) ) |
66 |
64 65
|
syl |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( 0 ..^ ( ( # ` d ) - 1 ) ) C_ ( 0 ..^ ( # ` d ) ) ) |
67 |
|
fzossz |
|- ( 0 ..^ ( # ` d ) ) C_ ZZ |
68 |
|
simplr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j e. ( dom d \ { 0 } ) ) |
69 |
68
|
eldifad |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j e. dom d ) |
70 |
|
eqidd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) = ( # ` d ) ) |
71 |
70 60
|
wrdfd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> d : ( 0 ..^ ( # ` d ) ) --> A ) |
72 |
71
|
fdmd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> dom d = ( 0 ..^ ( # ` d ) ) ) |
73 |
69 72
|
eleqtrd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j e. ( 0 ..^ ( # ` d ) ) ) |
74 |
67 73
|
sselid |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j e. ZZ ) |
75 |
|
eldifsni |
|- ( j e. ( dom d \ { 0 } ) -> j =/= 0 ) |
76 |
68 75
|
syl |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j =/= 0 ) |
77 |
|
fzo1fzo0n0 |
|- ( j e. ( 1 ..^ ( # ` d ) ) <-> ( j e. ( 0 ..^ ( # ` d ) ) /\ j =/= 0 ) ) |
78 |
73 76 77
|
sylanbrc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> j e. ( 1 ..^ ( # ` d ) ) ) |
79 |
|
elfzom1b |
|- ( ( j e. ZZ /\ ( # ` d ) e. ZZ ) -> ( j e. ( 1 ..^ ( # ` d ) ) <-> ( j - 1 ) e. ( 0 ..^ ( ( # ` d ) - 1 ) ) ) ) |
80 |
79
|
biimpa |
|- ( ( ( j e. ZZ /\ ( # ` d ) e. ZZ ) /\ j e. ( 1 ..^ ( # ` d ) ) ) -> ( j - 1 ) e. ( 0 ..^ ( ( # ` d ) - 1 ) ) ) |
81 |
74 64 78 80
|
syl21anc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( j - 1 ) e. ( 0 ..^ ( ( # ` d ) - 1 ) ) ) |
82 |
66 81
|
sseldd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( j - 1 ) e. ( 0 ..^ ( # ` d ) ) ) |
83 |
|
ccatval1 |
|- ( ( d e. Word A /\ <" x "> e. Word A /\ ( j - 1 ) e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ++ <" x "> ) ` ( j - 1 ) ) = ( d ` ( j - 1 ) ) ) |
84 |
60 61 82 83
|
syl3anc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` ( j - 1 ) ) = ( d ` ( j - 1 ) ) ) |
85 |
|
ccatval1 |
|- ( ( d e. Word A /\ <" x "> e. Word A /\ j e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ++ <" x "> ) ` j ) = ( d ` j ) ) |
86 |
60 61 73 85
|
syl3anc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` j ) = ( d ` j ) ) |
87 |
59 84 86
|
3brtr3d |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ j e. ( dom d \ { 0 } ) ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
88 |
87
|
an32s |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ j e. ( dom d \ { 0 } ) ) -> ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
89 |
88
|
adantllr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ j e. ( dom d \ { 0 } ) ) -> ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
90 |
89
|
ralrimiva |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> A. j e. ( dom d \ { 0 } ) ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
91 |
90
|
an32s |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> A. j e. ( dom d \ { 0 } ) ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
92 |
|
ischn |
|- ( d e. ( .< Chain A ) <-> ( d e. Word A /\ A. j e. ( dom d \ { 0 } ) ( d ` ( j - 1 ) ) .< ( d ` j ) ) ) |
93 |
47 91 92
|
sylanbrc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> d e. ( .< Chain A ) ) |
94 |
46 93
|
jca |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> ( ph /\ d e. ( .< Chain A ) ) ) |
95 |
|
simp-4r |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> x e. A ) |
96 |
|
lsw |
|- ( d e. Word A -> ( lastS ` d ) = ( d ` ( ( # ` d ) - 1 ) ) ) |
97 |
96
|
ad5antr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( lastS ` d ) = ( d ` ( ( # ` d ) - 1 ) ) ) |
98 |
|
simp-4l |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> d e. Word A ) |
99 |
|
fzonn0p1 |
|- ( ( # ` d ) e. NN0 -> ( # ` d ) e. ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
100 |
98 62 99
|
3syl |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( # ` d ) e. ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
101 |
|
ccatws1len |
|- ( d e. Word A -> ( # ` ( d ++ <" x "> ) ) = ( ( # ` d ) + 1 ) ) |
102 |
101
|
ad4antr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( # ` ( d ++ <" x "> ) ) = ( ( # ` d ) + 1 ) ) |
103 |
102
|
eqcomd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( ( # ` d ) + 1 ) = ( # ` ( d ++ <" x "> ) ) ) |
104 |
|
ccatws1cl |
|- ( ( d e. Word A /\ x e. A ) -> ( d ++ <" x "> ) e. Word A ) |
105 |
104
|
ad3antrrr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( d ++ <" x "> ) e. Word A ) |
106 |
103 105
|
wrdfd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( d ++ <" x "> ) : ( 0 ..^ ( ( # ` d ) + 1 ) ) --> A ) |
107 |
106
|
fdmd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> dom ( d ++ <" x "> ) = ( 0 ..^ ( ( # ` d ) + 1 ) ) ) |
108 |
100 107
|
eleqtrrd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( # ` d ) e. dom ( d ++ <" x "> ) ) |
109 |
|
simplr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> -. d = (/) ) |
110 |
109
|
neqned |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> d =/= (/) ) |
111 |
|
hasheq0 |
|- ( d e. Word A -> ( ( # ` d ) = 0 <-> d = (/) ) ) |
112 |
111
|
necon3bid |
|- ( d e. Word A -> ( ( # ` d ) =/= 0 <-> d =/= (/) ) ) |
113 |
112
|
biimpar |
|- ( ( d e. Word A /\ d =/= (/) ) -> ( # ` d ) =/= 0 ) |
114 |
98 110 113
|
syl2anc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( # ` d ) =/= 0 ) |
115 |
108 114
|
eldifsnd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( # ` d ) e. ( dom ( d ++ <" x "> ) \ { 0 } ) ) |
116 |
|
fvoveq1 |
|- ( i = ( # ` d ) -> ( ( d ++ <" x "> ) ` ( i - 1 ) ) = ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) ) |
117 |
|
fveq2 |
|- ( i = ( # ` d ) -> ( ( d ++ <" x "> ) ` i ) = ( ( d ++ <" x "> ) ` ( # ` d ) ) ) |
118 |
116 117
|
breq12d |
|- ( i = ( # ` d ) -> ( ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) <-> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) .< ( ( d ++ <" x "> ) ` ( # ` d ) ) ) ) |
119 |
118
|
adantl |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ i = ( # ` d ) ) -> ( ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) <-> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) .< ( ( d ++ <" x "> ) ` ( # ` d ) ) ) ) |
120 |
115 119
|
rspcdv |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) -> ( A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) -> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) .< ( ( d ++ <" x "> ) ` ( # ` d ) ) ) ) |
121 |
120
|
imp |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) .< ( ( d ++ <" x "> ) ` ( # ` d ) ) ) |
122 |
48
|
ad3antrrr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> d e. Word A ) |
123 |
50
|
ad3antrrr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> <" x "> e. Word A ) |
124 |
122 62
|
syl |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) e. NN0 ) |
125 |
114
|
adantr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) =/= 0 ) |
126 |
|
elnnne0 |
|- ( ( # ` d ) e. NN <-> ( ( # ` d ) e. NN0 /\ ( # ` d ) =/= 0 ) ) |
127 |
124 125 126
|
sylanbrc |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) e. NN ) |
128 |
|
fzo0end |
|- ( ( # ` d ) e. NN -> ( ( # ` d ) - 1 ) e. ( 0 ..^ ( # ` d ) ) ) |
129 |
127 128
|
syl |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( # ` d ) - 1 ) e. ( 0 ..^ ( # ` d ) ) ) |
130 |
|
ccatval1 |
|- ( ( d e. Word A /\ <" x "> e. Word A /\ ( ( # ` d ) - 1 ) e. ( 0 ..^ ( # ` d ) ) ) -> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) = ( d ` ( ( # ` d ) - 1 ) ) ) |
131 |
122 123 129 130
|
syl3anc |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` ( ( # ` d ) - 1 ) ) = ( d ` ( ( # ` d ) - 1 ) ) ) |
132 |
49
|
ad3antrrr |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> x e. A ) |
133 |
|
eqidd |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( # ` d ) = ( # ` d ) ) |
134 |
|
ccats1val2 |
|- ( ( d e. Word A /\ x e. A /\ ( # ` d ) = ( # ` d ) ) -> ( ( d ++ <" x "> ) ` ( # ` d ) ) = x ) |
135 |
122 132 133 134
|
syl3anc |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( ( d ++ <" x "> ) ` ( # ` d ) ) = x ) |
136 |
121 131 135
|
3brtr3d |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( d ` ( ( # ` d ) - 1 ) ) .< x ) |
137 |
97 136
|
eqbrtrd |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ -. d = (/) ) /\ th ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( lastS ` d ) .< x ) |
138 |
137
|
an42ds |
|- ( ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) /\ -. d = (/) ) -> ( lastS ` d ) .< x ) |
139 |
138
|
ex |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> ( -. d = (/) -> ( lastS ` d ) .< x ) ) |
140 |
139
|
orrd |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> ( d = (/) \/ ( lastS ` d ) .< x ) ) |
141 |
|
simpr |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> th ) |
142 |
94 95 140 141 7
|
syl1111anc |
|- ( ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) /\ th ) -> ta ) |
143 |
142
|
ex |
|- ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( th -> ta ) ) |
144 |
143
|
expl |
|- ( ( d e. Word A /\ x e. A ) -> ( ( ph /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ( th -> ta ) ) ) |
145 |
88
|
ralrimiva |
|- ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> A. j e. ( dom d \ { 0 } ) ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
146 |
|
fvoveq1 |
|- ( i = j -> ( d ` ( i - 1 ) ) = ( d ` ( j - 1 ) ) ) |
147 |
|
fveq2 |
|- ( i = j -> ( d ` i ) = ( d ` j ) ) |
148 |
146 147
|
breq12d |
|- ( i = j -> ( ( d ` ( i - 1 ) ) .< ( d ` i ) <-> ( d ` ( j - 1 ) ) .< ( d ` j ) ) ) |
149 |
148
|
cbvralvw |
|- ( A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) <-> A. j e. ( dom d \ { 0 } ) ( d ` ( j - 1 ) ) .< ( d ` j ) ) |
150 |
145 149
|
sylibr |
|- ( ( ( ( d e. Word A /\ x e. A ) /\ ph ) /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) |
151 |
150
|
expl |
|- ( ( d e. Word A /\ x e. A ) -> ( ( ph /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) ) |
152 |
144 151
|
a2and |
|- ( ( d e. Word A /\ x e. A ) -> ( ( ( ph /\ A. i e. ( dom d \ { 0 } ) ( d ` ( i - 1 ) ) .< ( d ` i ) ) -> th ) -> ( ( ph /\ A. i e. ( dom ( d ++ <" x "> ) \ { 0 } ) ( ( d ++ <" x "> ) ` ( i - 1 ) ) .< ( ( d ++ <" x "> ) ` i ) ) -> ta ) ) ) |
153 |
20 28 36 44 45 152
|
wrdind |
|- ( C e. Word A -> ( ( ph /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) -> et ) ) |
154 |
153
|
imp |
|- ( ( C e. Word A /\ ( ph /\ A. i e. ( dom C \ { 0 } ) ( C ` ( i - 1 ) ) .< ( C ` i ) ) ) -> et ) |
155 |
8 9 12 154
|
syl12anc |
|- ( ph -> et ) |