| Step |
Hyp |
Ref |
Expression |
| 1 |
|
id |
|- ( B e. ( .< Chain A ) -> B e. ( .< Chain A ) ) |
| 2 |
1
|
chnwrd |
|- ( B e. ( .< Chain A ) -> B e. Word A ) |
| 3 |
|
revcl |
|- ( B e. Word A -> ( reverse ` B ) e. Word A ) |
| 4 |
2 3
|
syl |
|- ( B e. ( .< Chain A ) -> ( reverse ` B ) e. Word A ) |
| 5 |
|
simpl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> B e. ( .< Chain A ) ) |
| 6 |
|
fzossfz |
|- ( 0 ..^ ( # ` ( reverse ` B ) ) ) C_ ( 0 ... ( # ` ( reverse ` B ) ) ) |
| 7 |
6
|
a1i |
|- ( B e. ( .< Chain A ) -> ( 0 ..^ ( # ` ( reverse ` B ) ) ) C_ ( 0 ... ( # ` ( reverse ` B ) ) ) ) |
| 8 |
|
wrddm |
|- ( ( reverse ` B ) e. Word A -> dom ( reverse ` B ) = ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 9 |
4 8
|
syl |
|- ( B e. ( .< Chain A ) -> dom ( reverse ` B ) = ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 10 |
|
revlen |
|- ( B e. Word A -> ( # ` ( reverse ` B ) ) = ( # ` B ) ) |
| 11 |
2 10
|
syl |
|- ( B e. ( .< Chain A ) -> ( # ` ( reverse ` B ) ) = ( # ` B ) ) |
| 12 |
11
|
eqcomd |
|- ( B e. ( .< Chain A ) -> ( # ` B ) = ( # ` ( reverse ` B ) ) ) |
| 13 |
12
|
oveq2d |
|- ( B e. ( .< Chain A ) -> ( 0 ... ( # ` B ) ) = ( 0 ... ( # ` ( reverse ` B ) ) ) ) |
| 14 |
7 9 13
|
3sstr4d |
|- ( B e. ( .< Chain A ) -> dom ( reverse ` B ) C_ ( 0 ... ( # ` B ) ) ) |
| 15 |
14
|
ssdifd |
|- ( B e. ( .< Chain A ) -> ( dom ( reverse ` B ) \ { 0 } ) C_ ( ( 0 ... ( # ` B ) ) \ { 0 } ) ) |
| 16 |
15
|
sselda |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. ( ( 0 ... ( # ` B ) ) \ { 0 } ) ) |
| 17 |
2
|
adantr |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> B e. Word A ) |
| 18 |
|
lencl |
|- ( B e. Word A -> ( # ` B ) e. NN0 ) |
| 19 |
17 18
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` B ) e. NN0 ) |
| 20 |
|
fz0dif1 |
|- ( ( # ` B ) e. NN0 -> ( ( 0 ... ( # ` B ) ) \ { 0 } ) = ( 1 ... ( # ` B ) ) ) |
| 21 |
19 20
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( 0 ... ( # ` B ) ) \ { 0 } ) = ( 1 ... ( # ` B ) ) ) |
| 22 |
16 21
|
eleqtrd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. ( 1 ... ( # ` B ) ) ) |
| 23 |
|
ubmelfzo |
|- ( n e. ( 1 ... ( # ` B ) ) -> ( ( # ` B ) - n ) e. ( 0 ..^ ( # ` B ) ) ) |
| 24 |
22 23
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( # ` B ) - n ) e. ( 0 ..^ ( # ` B ) ) ) |
| 25 |
|
wrddm |
|- ( B e. Word A -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 26 |
17 25
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> dom B = ( 0 ..^ ( # ` B ) ) ) |
| 27 |
24 26
|
eleqtrrd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( # ` B ) - n ) e. dom B ) |
| 28 |
19
|
nn0cnd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` B ) e. CC ) |
| 29 |
|
eldifi |
|- ( n e. ( dom ( reverse ` B ) \ { 0 } ) -> n e. dom ( reverse ` B ) ) |
| 30 |
29
|
anim2i |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B e. ( .< Chain A ) /\ n e. dom ( reverse ` B ) ) ) |
| 31 |
2 3 8
|
3syl |
|- ( B e. ( .< Chain A ) -> dom ( reverse ` B ) = ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 32 |
31
|
eleq2d |
|- ( B e. ( .< Chain A ) -> ( n e. dom ( reverse ` B ) <-> n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) ) |
| 33 |
32
|
biimpa |
|- ( ( B e. ( .< Chain A ) /\ n e. dom ( reverse ` B ) ) -> n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 34 |
|
elfzoelz |
|- ( n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) -> n e. ZZ ) |
| 35 |
33 34
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. dom ( reverse ` B ) ) -> n e. ZZ ) |
| 36 |
|
zcn |
|- ( n e. ZZ -> n e. CC ) |
| 37 |
30 35 36
|
3syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. CC ) |
| 38 |
29
|
adantl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. dom ( reverse ` B ) ) |
| 39 |
17 3
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( reverse ` B ) e. Word A ) |
| 40 |
|
wrdlndm |
|- ( ( reverse ` B ) e. Word A -> ( # ` ( reverse ` B ) ) e/ dom ( reverse ` B ) ) |
| 41 |
39 40
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` ( reverse ` B ) ) e/ dom ( reverse ` B ) ) |
| 42 |
17 10
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` ( reverse ` B ) ) = ( # ` B ) ) |
| 43 |
|
eqidd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> dom ( reverse ` B ) = dom ( reverse ` B ) ) |
| 44 |
42 43
|
neleq12d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( # ` ( reverse ` B ) ) e/ dom ( reverse ` B ) <-> ( # ` B ) e/ dom ( reverse ` B ) ) ) |
| 45 |
41 44
|
mpbid |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` B ) e/ dom ( reverse ` B ) ) |
| 46 |
|
elnelne2 |
|- ( ( n e. dom ( reverse ` B ) /\ ( # ` B ) e/ dom ( reverse ` B ) ) -> n =/= ( # ` B ) ) |
| 47 |
38 45 46
|
syl2anc |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n =/= ( # ` B ) ) |
| 48 |
47
|
necomd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` B ) =/= n ) |
| 49 |
28 37 48
|
subne0d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( # ` B ) - n ) =/= 0 ) |
| 50 |
27 49
|
eldifsnd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( # ` B ) - n ) e. ( dom B \ { 0 } ) ) |
| 51 |
5 50
|
chnltm1 |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B ` ( ( ( # ` B ) - n ) - 1 ) ) .< ( B ` ( ( # ` B ) - n ) ) ) |
| 52 |
|
1cnd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> 1 e. CC ) |
| 53 |
28 52 37
|
sub32d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( ( # ` B ) - 1 ) - n ) = ( ( ( # ` B ) - n ) - 1 ) ) |
| 54 |
53
|
fveq2d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B ` ( ( ( # ` B ) - 1 ) - n ) ) = ( B ` ( ( ( # ` B ) - n ) - 1 ) ) ) |
| 55 |
28 37 52
|
nnncan2d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) = ( ( # ` B ) - n ) ) |
| 56 |
55
|
fveq2d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) = ( B ` ( ( # ` B ) - n ) ) ) |
| 57 |
51 54 56
|
3brtr4d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B ` ( ( ( # ` B ) - 1 ) - n ) ) .< ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) ) |
| 58 |
|
fvex |
|- ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) e. _V |
| 59 |
|
fvex |
|- ( B ` ( ( ( # ` B ) - 1 ) - n ) ) e. _V |
| 60 |
58 59
|
brcnv |
|- ( ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) `' .< ( B ` ( ( ( # ` B ) - 1 ) - n ) ) <-> ( B ` ( ( ( # ` B ) - 1 ) - n ) ) .< ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) ) |
| 61 |
57 60
|
sylibr |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) `' .< ( B ` ( ( ( # ` B ) - 1 ) - n ) ) ) |
| 62 |
39 8
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> dom ( reverse ` B ) = ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 63 |
38 62
|
eleqtrd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) ) |
| 64 |
|
elfzonn0 |
|- ( n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) -> n e. NN0 ) |
| 65 |
63 64
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. NN0 ) |
| 66 |
|
eldifsni |
|- ( n e. ( dom ( reverse ` B ) \ { 0 } ) -> n =/= 0 ) |
| 67 |
66
|
adantl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n =/= 0 ) |
| 68 |
|
elnnne0 |
|- ( n e. NN <-> ( n e. NN0 /\ n =/= 0 ) ) |
| 69 |
65 67 68
|
sylanbrc |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. NN ) |
| 70 |
|
nnm1nn0 |
|- ( n e. NN -> ( n - 1 ) e. NN0 ) |
| 71 |
69 70
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( n - 1 ) e. NN0 ) |
| 72 |
|
elfzo0le |
|- ( n e. ( 0 ..^ ( # ` ( reverse ` B ) ) ) -> n <_ ( # ` ( reverse ` B ) ) ) |
| 73 |
63 72
|
syl |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n <_ ( # ` ( reverse ` B ) ) ) |
| 74 |
37 52
|
npcand |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( n - 1 ) + 1 ) = n ) |
| 75 |
42
|
eqcomd |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( # ` B ) = ( # ` ( reverse ` B ) ) ) |
| 76 |
73 74 75
|
3brtr4d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( n - 1 ) + 1 ) <_ ( # ` B ) ) |
| 77 |
|
nn0p1elfzo |
|- ( ( ( n - 1 ) e. NN0 /\ ( # ` B ) e. NN0 /\ ( ( n - 1 ) + 1 ) <_ ( # ` B ) ) -> ( n - 1 ) e. ( 0 ..^ ( # ` B ) ) ) |
| 78 |
71 19 76 77
|
syl3anc |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( n - 1 ) e. ( 0 ..^ ( # ` B ) ) ) |
| 79 |
|
revfv |
|- ( ( B e. Word A /\ ( n - 1 ) e. ( 0 ..^ ( # ` B ) ) ) -> ( ( reverse ` B ) ` ( n - 1 ) ) = ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) ) |
| 80 |
17 78 79
|
syl2anc |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( reverse ` B ) ` ( n - 1 ) ) = ( B ` ( ( ( # ` B ) - 1 ) - ( n - 1 ) ) ) ) |
| 81 |
11
|
oveq2d |
|- ( B e. ( .< Chain A ) -> ( 0 ..^ ( # ` ( reverse ` B ) ) ) = ( 0 ..^ ( # ` B ) ) ) |
| 82 |
31 81
|
eqtrd |
|- ( B e. ( .< Chain A ) -> dom ( reverse ` B ) = ( 0 ..^ ( # ` B ) ) ) |
| 83 |
82
|
eleq2d |
|- ( B e. ( .< Chain A ) -> ( n e. dom ( reverse ` B ) <-> n e. ( 0 ..^ ( # ` B ) ) ) ) |
| 84 |
29 83
|
imbitrid |
|- ( B e. ( .< Chain A ) -> ( n e. ( dom ( reverse ` B ) \ { 0 } ) -> n e. ( 0 ..^ ( # ` B ) ) ) ) |
| 85 |
84
|
imp |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> n e. ( 0 ..^ ( # ` B ) ) ) |
| 86 |
|
revfv |
|- ( ( B e. Word A /\ n e. ( 0 ..^ ( # ` B ) ) ) -> ( ( reverse ` B ) ` n ) = ( B ` ( ( ( # ` B ) - 1 ) - n ) ) ) |
| 87 |
17 85 86
|
syl2anc |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( reverse ` B ) ` n ) = ( B ` ( ( ( # ` B ) - 1 ) - n ) ) ) |
| 88 |
61 80 87
|
3brtr4d |
|- ( ( B e. ( .< Chain A ) /\ n e. ( dom ( reverse ` B ) \ { 0 } ) ) -> ( ( reverse ` B ) ` ( n - 1 ) ) `' .< ( ( reverse ` B ) ` n ) ) |
| 89 |
88
|
ralrimiva |
|- ( B e. ( .< Chain A ) -> A. n e. ( dom ( reverse ` B ) \ { 0 } ) ( ( reverse ` B ) ` ( n - 1 ) ) `' .< ( ( reverse ` B ) ` n ) ) |
| 90 |
|
ischn |
|- ( ( reverse ` B ) e. ( `' .< Chain A ) <-> ( ( reverse ` B ) e. Word A /\ A. n e. ( dom ( reverse ` B ) \ { 0 } ) ( ( reverse ` B ) ` ( n - 1 ) ) `' .< ( ( reverse ` B ) ` n ) ) ) |
| 91 |
4 89 90
|
sylanbrc |
|- ( B e. ( .< Chain A ) -> ( reverse ` B ) e. ( `' .< Chain A ) ) |