| Step |
Hyp |
Ref |
Expression |
| 1 |
|
efgval.w |
|- W = ( _I ` Word ( I X. 2o ) ) |
| 2 |
|
efgval.r |
|- .~ = ( ~FG ` I ) |
| 3 |
|
efgval2.m |
|- M = ( y e. I , z e. 2o |-> <. y , ( 1o \ z ) >. ) |
| 4 |
|
efgval2.t |
|- T = ( v e. W |-> ( n e. ( 0 ... ( # ` v ) ) , w e. ( I X. 2o ) |-> ( v splice <. n , n , <" w ( M ` w ) "> >. ) ) ) |
| 5 |
|
efgred.d |
|- D = ( W \ U_ x e. W ran ( T ` x ) ) |
| 6 |
|
efgred.s |
|- S = ( m e. { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } |-> ( m ` ( ( # ` m ) - 1 ) ) ) |
| 7 |
|
eldifn |
|- ( ( S ` A ) e. ( W \ U_ x e. W ran ( T ` x ) ) -> -. ( S ` A ) e. U_ x e. W ran ( T ` x ) ) |
| 8 |
7 5
|
eleq2s |
|- ( ( S ` A ) e. D -> -. ( S ` A ) e. U_ x e. W ran ( T ` x ) ) |
| 9 |
1 2 3 4 5 6
|
efgsdm |
|- ( A e. dom S <-> ( A e. ( Word W \ { (/) } ) /\ ( A ` 0 ) e. D /\ A. a e. ( 1 ..^ ( # ` A ) ) ( A ` a ) e. ran ( T ` ( A ` ( a - 1 ) ) ) ) ) |
| 10 |
9
|
simp1bi |
|- ( A e. dom S -> A e. ( Word W \ { (/) } ) ) |
| 11 |
|
eldifsn |
|- ( A e. ( Word W \ { (/) } ) <-> ( A e. Word W /\ A =/= (/) ) ) |
| 12 |
|
lennncl |
|- ( ( A e. Word W /\ A =/= (/) ) -> ( # ` A ) e. NN ) |
| 13 |
11 12
|
sylbi |
|- ( A e. ( Word W \ { (/) } ) -> ( # ` A ) e. NN ) |
| 14 |
10 13
|
syl |
|- ( A e. dom S -> ( # ` A ) e. NN ) |
| 15 |
|
elnn1uz2 |
|- ( ( # ` A ) e. NN <-> ( ( # ` A ) = 1 \/ ( # ` A ) e. ( ZZ>= ` 2 ) ) ) |
| 16 |
14 15
|
sylib |
|- ( A e. dom S -> ( ( # ` A ) = 1 \/ ( # ` A ) e. ( ZZ>= ` 2 ) ) ) |
| 17 |
16
|
ord |
|- ( A e. dom S -> ( -. ( # ` A ) = 1 -> ( # ` A ) e. ( ZZ>= ` 2 ) ) ) |
| 18 |
10
|
eldifad |
|- ( A e. dom S -> A e. Word W ) |
| 19 |
18
|
adantr |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> A e. Word W ) |
| 20 |
|
wrdf |
|- ( A e. Word W -> A : ( 0 ..^ ( # ` A ) ) --> W ) |
| 21 |
19 20
|
syl |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> A : ( 0 ..^ ( # ` A ) ) --> W ) |
| 22 |
|
1z |
|- 1 e. ZZ |
| 23 |
|
simpr |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( # ` A ) e. ( ZZ>= ` 2 ) ) |
| 24 |
|
df-2 |
|- 2 = ( 1 + 1 ) |
| 25 |
24
|
fveq2i |
|- ( ZZ>= ` 2 ) = ( ZZ>= ` ( 1 + 1 ) ) |
| 26 |
23 25
|
eleqtrdi |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( # ` A ) e. ( ZZ>= ` ( 1 + 1 ) ) ) |
| 27 |
|
eluzp1m1 |
|- ( ( 1 e. ZZ /\ ( # ` A ) e. ( ZZ>= ` ( 1 + 1 ) ) ) -> ( ( # ` A ) - 1 ) e. ( ZZ>= ` 1 ) ) |
| 28 |
22 26 27
|
sylancr |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( ( # ` A ) - 1 ) e. ( ZZ>= ` 1 ) ) |
| 29 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
| 30 |
28 29
|
eleqtrrdi |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( ( # ` A ) - 1 ) e. NN ) |
| 31 |
|
lbfzo0 |
|- ( 0 e. ( 0 ..^ ( ( # ` A ) - 1 ) ) <-> ( ( # ` A ) - 1 ) e. NN ) |
| 32 |
30 31
|
sylibr |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> 0 e. ( 0 ..^ ( ( # ` A ) - 1 ) ) ) |
| 33 |
|
fzoend |
|- ( 0 e. ( 0 ..^ ( ( # ` A ) - 1 ) ) -> ( ( ( # ` A ) - 1 ) - 1 ) e. ( 0 ..^ ( ( # ` A ) - 1 ) ) ) |
| 34 |
|
elfzofz |
|- ( ( ( ( # ` A ) - 1 ) - 1 ) e. ( 0 ..^ ( ( # ` A ) - 1 ) ) -> ( ( ( # ` A ) - 1 ) - 1 ) e. ( 0 ... ( ( # ` A ) - 1 ) ) ) |
| 35 |
32 33 34
|
3syl |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( ( ( # ` A ) - 1 ) - 1 ) e. ( 0 ... ( ( # ` A ) - 1 ) ) ) |
| 36 |
|
eluzelz |
|- ( ( # ` A ) e. ( ZZ>= ` 2 ) -> ( # ` A ) e. ZZ ) |
| 37 |
36
|
adantl |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( # ` A ) e. ZZ ) |
| 38 |
|
fzoval |
|- ( ( # ` A ) e. ZZ -> ( 0 ..^ ( # ` A ) ) = ( 0 ... ( ( # ` A ) - 1 ) ) ) |
| 39 |
37 38
|
syl |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( 0 ..^ ( # ` A ) ) = ( 0 ... ( ( # ` A ) - 1 ) ) ) |
| 40 |
35 39
|
eleqtrrd |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( ( ( # ` A ) - 1 ) - 1 ) e. ( 0 ..^ ( # ` A ) ) ) |
| 41 |
21 40
|
ffvelcdmd |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) e. W ) |
| 42 |
|
uz2m1nn |
|- ( ( # ` A ) e. ( ZZ>= ` 2 ) -> ( ( # ` A ) - 1 ) e. NN ) |
| 43 |
1 2 3 4 5 6
|
efgsdmi |
|- ( ( A e. dom S /\ ( ( # ` A ) - 1 ) e. NN ) -> ( S ` A ) e. ran ( T ` ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) ) ) |
| 44 |
42 43
|
sylan2 |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( S ` A ) e. ran ( T ` ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) ) ) |
| 45 |
|
fveq2 |
|- ( a = ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) -> ( T ` a ) = ( T ` ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) ) ) |
| 46 |
45
|
rneqd |
|- ( a = ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) -> ran ( T ` a ) = ran ( T ` ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) ) ) |
| 47 |
46
|
eliuni |
|- ( ( ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) e. W /\ ( S ` A ) e. ran ( T ` ( A ` ( ( ( # ` A ) - 1 ) - 1 ) ) ) ) -> ( S ` A ) e. U_ a e. W ran ( T ` a ) ) |
| 48 |
41 44 47
|
syl2anc |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( S ` A ) e. U_ a e. W ran ( T ` a ) ) |
| 49 |
|
fveq2 |
|- ( a = x -> ( T ` a ) = ( T ` x ) ) |
| 50 |
49
|
rneqd |
|- ( a = x -> ran ( T ` a ) = ran ( T ` x ) ) |
| 51 |
50
|
cbviunv |
|- U_ a e. W ran ( T ` a ) = U_ x e. W ran ( T ` x ) |
| 52 |
48 51
|
eleqtrdi |
|- ( ( A e. dom S /\ ( # ` A ) e. ( ZZ>= ` 2 ) ) -> ( S ` A ) e. U_ x e. W ran ( T ` x ) ) |
| 53 |
52
|
ex |
|- ( A e. dom S -> ( ( # ` A ) e. ( ZZ>= ` 2 ) -> ( S ` A ) e. U_ x e. W ran ( T ` x ) ) ) |
| 54 |
17 53
|
syld |
|- ( A e. dom S -> ( -. ( # ` A ) = 1 -> ( S ` A ) e. U_ x e. W ran ( T ` x ) ) ) |
| 55 |
54
|
con1d |
|- ( A e. dom S -> ( -. ( S ` A ) e. U_ x e. W ran ( T ` x ) -> ( # ` A ) = 1 ) ) |
| 56 |
8 55
|
syl5 |
|- ( A e. dom S -> ( ( S ` A ) e. D -> ( # ` A ) = 1 ) ) |
| 57 |
9
|
simp2bi |
|- ( A e. dom S -> ( A ` 0 ) e. D ) |
| 58 |
|
oveq1 |
|- ( ( # ` A ) = 1 -> ( ( # ` A ) - 1 ) = ( 1 - 1 ) ) |
| 59 |
|
1m1e0 |
|- ( 1 - 1 ) = 0 |
| 60 |
58 59
|
eqtrdi |
|- ( ( # ` A ) = 1 -> ( ( # ` A ) - 1 ) = 0 ) |
| 61 |
60
|
fveq2d |
|- ( ( # ` A ) = 1 -> ( A ` ( ( # ` A ) - 1 ) ) = ( A ` 0 ) ) |
| 62 |
61
|
eleq1d |
|- ( ( # ` A ) = 1 -> ( ( A ` ( ( # ` A ) - 1 ) ) e. D <-> ( A ` 0 ) e. D ) ) |
| 63 |
57 62
|
syl5ibrcom |
|- ( A e. dom S -> ( ( # ` A ) = 1 -> ( A ` ( ( # ` A ) - 1 ) ) e. D ) ) |
| 64 |
1 2 3 4 5 6
|
efgsval |
|- ( A e. dom S -> ( S ` A ) = ( A ` ( ( # ` A ) - 1 ) ) ) |
| 65 |
64
|
eleq1d |
|- ( A e. dom S -> ( ( S ` A ) e. D <-> ( A ` ( ( # ` A ) - 1 ) ) e. D ) ) |
| 66 |
63 65
|
sylibrd |
|- ( A e. dom S -> ( ( # ` A ) = 1 -> ( S ` A ) e. D ) ) |
| 67 |
56 66
|
impbid |
|- ( A e. dom S -> ( ( S ` A ) e. D <-> ( # ` A ) = 1 ) ) |