MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  efgredleme Structured version   Visualization version   Unicode version

Theorem efgredleme 18156
Description: Lemma for efgred 18161. (Contributed by Mario Carneiro, 1-Oct-2015.)
Hypotheses
Ref Expression
efgval.w  |-  W  =  (  _I  ` Word  ( I  X.  2o ) )
efgval.r  |-  .~  =  ( ~FG  `  I )
efgval2.m  |-  M  =  ( y  e.  I ,  z  e.  2o  |->  <. y ,  ( 1o 
\  z ) >.
)
efgval2.t  |-  T  =  ( v  e.  W  |->  ( n  e.  ( 0 ... ( # `  v ) ) ,  w  e.  ( I  X.  2o )  |->  ( v splice  <. n ,  n ,  <" w ( M `  w ) "> >. )
) )
efgred.d  |-  D  =  ( W  \  U_ x  e.  W  ran  ( T `  x ) )
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 ) ) )
efgredlem.1  |-  ( ph  ->  A. a  e.  dom  S A. b  e.  dom  S ( ( # `  ( S `  a )
)  <  ( # `  ( S `  A )
)  ->  ( ( S `  a )  =  ( S `  b )  ->  (
a `  0 )  =  ( b ` 
0 ) ) ) )
efgredlem.2  |-  ( ph  ->  A  e.  dom  S
)
efgredlem.3  |-  ( ph  ->  B  e.  dom  S
)
efgredlem.4  |-  ( ph  ->  ( S `  A
)  =  ( S `
 B ) )
efgredlem.5  |-  ( ph  ->  -.  ( A ` 
0 )  =  ( B `  0 ) )
efgredlemb.k  |-  K  =  ( ( ( # `  A )  -  1 )  -  1 )
efgredlemb.l  |-  L  =  ( ( ( # `  B )  -  1 )  -  1 )
efgredlemb.p  |-  ( ph  ->  P  e.  ( 0 ... ( # `  ( A `  K )
) ) )
efgredlemb.q  |-  ( ph  ->  Q  e.  ( 0 ... ( # `  ( B `  L )
) ) )
efgredlemb.u  |-  ( ph  ->  U  e.  ( I  X.  2o ) )
efgredlemb.v  |-  ( ph  ->  V  e.  ( I  X.  2o ) )
efgredlemb.6  |-  ( ph  ->  ( S `  A
)  =  ( P ( T `  ( A `  K )
) U ) )
efgredlemb.7  |-  ( ph  ->  ( S `  B
)  =  ( Q ( T `  ( B `  L )
) V ) )
efgredlemb.8  |-  ( ph  ->  -.  ( A `  K )  =  ( B `  L ) )
efgredlemd.9  |-  ( ph  ->  P  e.  ( ZZ>= `  ( Q  +  2
) ) )
efgredlemd.c  |-  ( ph  ->  C  e.  dom  S
)
efgredlemd.sc  |-  ( ph  ->  ( S `  C
)  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) ) )
Assertion
Ref Expression
efgredleme  |-  ( ph  ->  ( ( A `  K )  e.  ran  ( T `  ( S `
 C ) )  /\  ( B `  L )  e.  ran  ( T `  ( S `
 C ) ) ) )
Distinct variable groups:    a, b, A    y, a, z, b    L, a, b    K, a, b    t, n, v, w, y, z, P   
m, a, n, t, v, w, x, M, b    U, n, v, w, y, z    k, a, T, b, m, t, x    n, V, v, w, y, z    Q, n, t, v, w, y, z    W, a, b    k, n, v, w, y, z, W, m, t, x    .~ , a, b, m, t, x, y, z    B, a, b    C, a, b, k, m, n, t, v, w, x, y, z    S, a, b    I,
a, b, m, n, t, v, w, x, y, z    D, a, b, m, t
Allowed substitution hints:    ph( x, y, z, w, v, t, k, m, n, a, b)    A( x, y, z, w, v, t, k, m, n)    B( x, y, z, w, v, t, k, m, n)    D( x, y, z, w, v, k, n)    P( x, k, m, a, b)    Q( x, k, m, a, b)    .~ ( w, v, k, n)    S( x, y, z, w, v, t, k, m, n)    T( y, z, w, v, n)    U( x, t, k, m, a, b)    I( k)    K( x, y, z, w, v, t, k, m, n)    L( x, y, z, w, v, t, k, m, n)    M( y, z, k)    V( x, t, k, m, a, b)

Proof of Theorem efgredleme
Dummy variable  i is distinct from all other variables.
StepHypRef Expression
1 efgredlemd.c . . . . . 6  |-  ( ph  ->  C  e.  dom  S
)
2 efgval.w . . . . . . . . 9  |-  W  =  (  _I  ` Word  ( I  X.  2o ) )
3 efgval.r . . . . . . . . 9  |-  .~  =  ( ~FG  `  I )
4 efgval2.m . . . . . . . . 9  |-  M  =  ( y  e.  I ,  z  e.  2o  |->  <. y ,  ( 1o 
\  z ) >.
)
5 efgval2.t . . . . . . . . 9  |-  T  =  ( v  e.  W  |->  ( n  e.  ( 0 ... ( # `  v ) ) ,  w  e.  ( I  X.  2o )  |->  ( v splice  <. n ,  n ,  <" w ( M `  w ) "> >. )
) )
6 efgred.d . . . . . . . . 9  |-  D  =  ( W  \  U_ x  e.  W  ran  ( T `  x ) )
7 efgred.s . . . . . . . . 9  |-  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 ) ) )
82, 3, 4, 5, 6, 7efgsf 18142 . . . . . . . 8  |-  S : { t  e.  (Word 
W  \  { (/) } )  |  ( ( t `
 0 )  e.  D  /\  A. k  e.  ( 1..^ ( # `  t ) ) ( t `  k )  e.  ran  ( T `
 ( t `  ( k  -  1 ) ) ) ) } --> W
98fdmi 6052 . . . . . . . . 9  |-  dom  S  =  { t  e.  (Word 
W  \  { (/) } )  |  ( ( t `
 0 )  e.  D  /\  A. k  e.  ( 1..^ ( # `  t ) ) ( t `  k )  e.  ran  ( T `
 ( t `  ( k  -  1 ) ) ) ) }
109feq2i 6037 . . . . . . . 8  |-  ( S : dom  S --> W  <->  S : { t  e.  (Word 
W  \  { (/) } )  |  ( ( t `
 0 )  e.  D  /\  A. k  e.  ( 1..^ ( # `  t ) ) ( t `  k )  e.  ran  ( T `
 ( t `  ( k  -  1 ) ) ) ) } --> W )
118, 10mpbir 221 . . . . . . 7  |-  S : dom  S --> W
1211ffvelrni 6358 . . . . . 6  |-  ( C  e.  dom  S  -> 
( S `  C
)  e.  W )
131, 12syl 17 . . . . 5  |-  ( ph  ->  ( S `  C
)  e.  W )
14 efgredlemb.q . . . . . . 7  |-  ( ph  ->  Q  e.  ( 0 ... ( # `  ( B `  L )
) ) )
15 elfzuz 12338 . . . . . . 7  |-  ( Q  e.  ( 0 ... ( # `  ( B `  L )
) )  ->  Q  e.  ( ZZ>= `  0 )
)
1614, 15syl 17 . . . . . 6  |-  ( ph  ->  Q  e.  ( ZZ>= ` 
0 ) )
17 efgredlemd.sc . . . . . . . . . 10  |-  ( ph  ->  ( S `  C
)  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) ) )
1817fveq2d 6195 . . . . . . . . 9  |-  ( ph  ->  ( # `  ( S `  C )
)  =  ( # `  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) ) ) )
19 fviss 6256 . . . . . . . . . . . . 13  |-  (  _I 
` Word  ( I  X.  2o ) )  C_ Word  ( I  X.  2o )
202, 19eqsstri 3635 . . . . . . . . . . . 12  |-  W  C_ Word  ( I  X.  2o )
21 efgredlem.1 . . . . . . . . . . . . . 14  |-  ( ph  ->  A. a  e.  dom  S A. b  e.  dom  S ( ( # `  ( S `  a )
)  <  ( # `  ( S `  A )
)  ->  ( ( S `  a )  =  ( S `  b )  ->  (
a `  0 )  =  ( b ` 
0 ) ) ) )
22 efgredlem.2 . . . . . . . . . . . . . 14  |-  ( ph  ->  A  e.  dom  S
)
23 efgredlem.3 . . . . . . . . . . . . . 14  |-  ( ph  ->  B  e.  dom  S
)
24 efgredlem.4 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( S `  A
)  =  ( S `
 B ) )
25 efgredlem.5 . . . . . . . . . . . . . 14  |-  ( ph  ->  -.  ( A ` 
0 )  =  ( B `  0 ) )
26 efgredlemb.k . . . . . . . . . . . . . 14  |-  K  =  ( ( ( # `  A )  -  1 )  -  1 )
27 efgredlemb.l . . . . . . . . . . . . . 14  |-  L  =  ( ( ( # `  B )  -  1 )  -  1 )
282, 3, 4, 5, 6, 7, 21, 22, 23, 24, 25, 26, 27efgredlemf 18154 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( A `  K )  e.  W  /\  ( B `  L
)  e.  W ) )
2928simprd 479 . . . . . . . . . . . 12  |-  ( ph  ->  ( B `  L
)  e.  W )
3020, 29sseldi 3601 . . . . . . . . . . 11  |-  ( ph  ->  ( B `  L
)  e. Word  ( I  X.  2o ) )
31 swrdcl 13419 . . . . . . . . . . 11  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  ( I  X.  2o ) )
3230, 31syl 17 . . . . . . . . . 10  |-  ( ph  ->  ( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o ) )
3328simpld 475 . . . . . . . . . . . 12  |-  ( ph  ->  ( A `  K
)  e.  W )
3420, 33sseldi 3601 . . . . . . . . . . 11  |-  ( ph  ->  ( A `  K
)  e. Word  ( I  X.  2o ) )
35 swrdcl 13419 . . . . . . . . . . 11  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )  e. Word  ( I  X.  2o ) )
3634, 35syl 17 . . . . . . . . . 10  |-  ( ph  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. )  e. Word  (
I  X.  2o ) )
37 ccatlen 13360 . . . . . . . . . 10  |-  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o )  /\  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. )  e. Word  (
I  X.  2o ) )  ->  ( # `  (
( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  +  (
# `  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) ) )
3832, 36, 37syl2anc 693 . . . . . . . . 9  |-  ( ph  ->  ( # `  (
( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  +  (
# `  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) ) )
39 swrd0len 13422 . . . . . . . . . . . 12  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  Q  e.  ( 0 ... ( # `
 ( B `  L ) ) ) )  ->  ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  =  Q )
4030, 14, 39syl2anc 693 . . . . . . . . . . 11  |-  ( ph  ->  ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  =  Q )
41 2nn0 11309 . . . . . . . . . . . . . 14  |-  2  e.  NN0
42 uzaddcl 11744 . . . . . . . . . . . . . 14  |-  ( ( Q  e.  ( ZZ>= ` 
0 )  /\  2  e.  NN0 )  ->  ( Q  +  2 )  e.  ( ZZ>= `  0
) )
4316, 41, 42sylancl 694 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Q  +  2 )  e.  ( ZZ>= ` 
0 ) )
44 efgredlemb.p . . . . . . . . . . . . . . 15  |-  ( ph  ->  P  e.  ( 0 ... ( # `  ( A `  K )
) ) )
45 elfzuz3 12339 . . . . . . . . . . . . . . 15  |-  ( P  e.  ( 0 ... ( # `  ( A `  K )
) )  ->  ( # `
 ( A `  K ) )  e.  ( ZZ>= `  P )
)
4644, 45syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  P ) )
47 efgredlemd.9 . . . . . . . . . . . . . 14  |-  ( ph  ->  P  e.  ( ZZ>= `  ( Q  +  2
) ) )
48 uztrn 11704 . . . . . . . . . . . . . 14  |-  ( ( ( # `  ( A `  K )
)  e.  ( ZZ>= `  P )  /\  P  e.  ( ZZ>= `  ( Q  +  2 ) ) )  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  ( Q  +  2
) ) )
4946, 47, 48syl2anc 693 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  ( Q  +  2
) ) )
50 elfzuzb 12336 . . . . . . . . . . . . 13  |-  ( ( Q  +  2 )  e.  ( 0 ... ( # `  ( A `  K )
) )  <->  ( ( Q  +  2 )  e.  ( ZZ>= `  0
)  /\  ( # `  ( A `  K )
)  e.  ( ZZ>= `  ( Q  +  2
) ) ) )
5143, 49, 50sylanbrc 698 . . . . . . . . . . . 12  |-  ( ph  ->  ( Q  +  2 )  e.  ( 0 ... ( # `  ( A `  K )
) ) )
52 lencl 13324 . . . . . . . . . . . . . . 15  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( # `  ( A `  K
) )  e.  NN0 )
5334, 52syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  NN0 )
54 nn0uz 11722 . . . . . . . . . . . . . 14  |-  NN0  =  ( ZZ>= `  0 )
5553, 54syl6eleq 2711 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= ` 
0 ) )
56 eluzfz2 12349 . . . . . . . . . . . . 13  |-  ( (
# `  ( A `  K ) )  e.  ( ZZ>= `  0 )  ->  ( # `  ( A `  K )
)  e.  ( 0 ... ( # `  ( A `  K )
) ) )
5755, 56syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( 0 ... ( # `  ( A `  K )
) ) )
58 swrdlen 13423 . . . . . . . . . . . 12  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  ( Q  +  2 )  e.  ( 0 ... ( # `  ( A `  K )
) )  /\  ( # `
 ( A `  K ) )  e.  ( 0 ... ( # `
 ( A `  K ) ) ) )  ->  ( # `  (
( A `  K
) substr  <. ( Q  + 
2 ) ,  (
# `  ( A `  K ) ) >.
) )  =  ( ( # `  ( A `  K )
)  -  ( Q  +  2 ) ) )
5934, 51, 57, 58syl3anc 1326 . . . . . . . . . . 11  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. ( Q  + 
2 ) ,  (
# `  ( A `  K ) ) >.
) )  =  ( ( # `  ( A `  K )
)  -  ( Q  +  2 ) ) )
6040, 59oveq12d 6668 . . . . . . . . . 10  |-  ( ph  ->  ( ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  +  (
# `  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) )  =  ( Q  +  ( (
# `  ( A `  K ) )  -  ( Q  +  2
) ) ) )
61 elfzelz 12342 . . . . . . . . . . . . 13  |-  ( Q  e.  ( 0 ... ( # `  ( B `  L )
) )  ->  Q  e.  ZZ )
6214, 61syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  Q  e.  ZZ )
6362zcnd 11483 . . . . . . . . . . 11  |-  ( ph  ->  Q  e.  CC )
6453nn0cnd 11353 . . . . . . . . . . 11  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  CC )
65 2z 11409 . . . . . . . . . . . . 13  |-  2  e.  ZZ
66 zaddcl 11417 . . . . . . . . . . . . 13  |-  ( ( Q  e.  ZZ  /\  2  e.  ZZ )  ->  ( Q  +  2 )  e.  ZZ )
6762, 65, 66sylancl 694 . . . . . . . . . . . 12  |-  ( ph  ->  ( Q  +  2 )  e.  ZZ )
6867zcnd 11483 . . . . . . . . . . 11  |-  ( ph  ->  ( Q  +  2 )  e.  CC )
6963, 64, 68addsubassd 10412 . . . . . . . . . 10  |-  ( ph  ->  ( ( Q  +  ( # `  ( A `
 K ) ) )  -  ( Q  +  2 ) )  =  ( Q  +  ( ( # `  ( A `  K )
)  -  ( Q  +  2 ) ) ) )
70 2cn 11091 . . . . . . . . . . . 12  |-  2  e.  CC
7170a1i 11 . . . . . . . . . . 11  |-  ( ph  ->  2  e.  CC )
7263, 64, 71pnpcand 10429 . . . . . . . . . 10  |-  ( ph  ->  ( ( Q  +  ( # `  ( A `
 K ) ) )  -  ( Q  +  2 ) )  =  ( ( # `  ( A `  K
) )  -  2 ) )
7360, 69, 723eqtr2d 2662 . . . . . . . . 9  |-  ( ph  ->  ( ( # `  (
( B `  L
) substr  <. 0 ,  Q >. ) )  +  (
# `  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( # `  ( A `  K )
)  -  2 ) )
7418, 38, 733eqtrd 2660 . . . . . . . 8  |-  ( ph  ->  ( # `  ( S `  C )
)  =  ( (
# `  ( A `  K ) )  - 
2 ) )
75 elfzelz 12342 . . . . . . . . . . 11  |-  ( P  e.  ( 0 ... ( # `  ( A `  K )
) )  ->  P  e.  ZZ )
7644, 75syl 17 . . . . . . . . . 10  |-  ( ph  ->  P  e.  ZZ )
77 zsubcl 11419 . . . . . . . . . 10  |-  ( ( P  e.  ZZ  /\  2  e.  ZZ )  ->  ( P  -  2 )  e.  ZZ )
7876, 65, 77sylancl 694 . . . . . . . . 9  |-  ( ph  ->  ( P  -  2 )  e.  ZZ )
7965a1i 11 . . . . . . . . 9  |-  ( ph  ->  2  e.  ZZ )
8076zcnd 11483 . . . . . . . . . . . 12  |-  ( ph  ->  P  e.  CC )
81 npcan 10290 . . . . . . . . . . . 12  |-  ( ( P  e.  CC  /\  2  e.  CC )  ->  ( ( P  - 
2 )  +  2 )  =  P )
8280, 70, 81sylancl 694 . . . . . . . . . . 11  |-  ( ph  ->  ( ( P  - 
2 )  +  2 )  =  P )
8382fveq2d 6195 . . . . . . . . . 10  |-  ( ph  ->  ( ZZ>= `  ( ( P  -  2 )  +  2 ) )  =  ( ZZ>= `  P
) )
8446, 83eleqtrrd 2704 . . . . . . . . 9  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  ( ( P  - 
2 )  +  2 ) ) )
85 eluzsub 11717 . . . . . . . . 9  |-  ( ( ( P  -  2 )  e.  ZZ  /\  2  e.  ZZ  /\  ( # `
 ( A `  K ) )  e.  ( ZZ>= `  ( ( P  -  2 )  +  2 ) ) )  ->  ( ( # `
 ( A `  K ) )  - 
2 )  e.  (
ZZ>= `  ( P  - 
2 ) ) )
8678, 79, 84, 85syl3anc 1326 . . . . . . . 8  |-  ( ph  ->  ( ( # `  ( A `  K )
)  -  2 )  e.  ( ZZ>= `  ( P  -  2 ) ) )
8774, 86eqeltrd 2701 . . . . . . 7  |-  ( ph  ->  ( # `  ( S `  C )
)  e.  ( ZZ>= `  ( P  -  2
) ) )
88 eluzsub 11717 . . . . . . . 8  |-  ( ( Q  e.  ZZ  /\  2  e.  ZZ  /\  P  e.  ( ZZ>= `  ( Q  +  2 ) ) )  ->  ( P  -  2 )  e.  ( ZZ>= `  Q )
)
8962, 79, 47, 88syl3anc 1326 . . . . . . 7  |-  ( ph  ->  ( P  -  2 )  e.  ( ZZ>= `  Q ) )
90 uztrn 11704 . . . . . . 7  |-  ( ( ( # `  ( S `  C )
)  e.  ( ZZ>= `  ( P  -  2
) )  /\  ( P  -  2 )  e.  ( ZZ>= `  Q
) )  ->  ( # `
 ( S `  C ) )  e.  ( ZZ>= `  Q )
)
9187, 89, 90syl2anc 693 . . . . . 6  |-  ( ph  ->  ( # `  ( S `  C )
)  e.  ( ZZ>= `  Q ) )
92 elfzuzb 12336 . . . . . 6  |-  ( Q  e.  ( 0 ... ( # `  ( S `  C )
) )  <->  ( Q  e.  ( ZZ>= `  0 )  /\  ( # `  ( S `  C )
)  e.  ( ZZ>= `  Q ) ) )
9316, 91, 92sylanbrc 698 . . . . 5  |-  ( ph  ->  Q  e.  ( 0 ... ( # `  ( S `  C )
) ) )
94 efgredlemb.v . . . . 5  |-  ( ph  ->  V  e.  ( I  X.  2o ) )
952, 3, 4, 5efgtval 18136 . . . . 5  |-  ( ( ( S `  C
)  e.  W  /\  Q  e.  ( 0 ... ( # `  ( S `  C )
) )  /\  V  e.  ( I  X.  2o ) )  ->  ( Q ( T `  ( S `  C ) ) V )  =  ( ( S `  C ) splice  <. Q ,  Q ,  <" V
( M `  V
) "> >. )
)
9613, 93, 94, 95syl3anc 1326 . . . 4  |-  ( ph  ->  ( Q ( T `
 ( S `  C ) ) V )  =  ( ( S `  C ) splice  <. Q ,  Q ,  <" V ( M `
 V ) "> >. ) )
97 swrdcl 13419 . . . . . 6  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. 0 ,  Q >. )  e. Word  ( I  X.  2o ) )
9834, 97syl 17 . . . . 5  |-  ( ph  ->  ( ( A `  K ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o ) )
99 wrd0 13330 . . . . . 6  |-  (/)  e. Word  (
I  X.  2o )
10099a1i 11 . . . . 5  |-  ( ph  -> 
(/)  e. Word  ( I  X.  2o ) )
1014efgmf 18126 . . . . . . . 8  |-  M :
( I  X.  2o )
--> ( I  X.  2o )
102101ffvelrni 6358 . . . . . . 7  |-  ( V  e.  ( I  X.  2o )  ->  ( M `
 V )  e.  ( I  X.  2o ) )
10394, 102syl 17 . . . . . 6  |-  ( ph  ->  ( M `  V
)  e.  ( I  X.  2o ) )
10494, 103s2cld 13616 . . . . 5  |-  ( ph  ->  <" V ( M `  V ) ">  e. Word  (
I  X.  2o ) )
105 eluzfz1 12348 . . . . . . . . . . . . . 14  |-  ( Q  e.  ( ZZ>= `  0
)  ->  0  e.  ( 0 ... Q
) )
10616, 105syl 17 . . . . . . . . . . . . 13  |-  ( ph  ->  0  e.  ( 0 ... Q ) )
10762zred 11482 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  Q  e.  RR )
108 nn0addge1 11339 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  e.  RR  /\  2  e.  NN0 )  ->  Q  <_  ( Q  + 
2 ) )
109107, 41, 108sylancl 694 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  Q  <_  ( Q  +  2 ) )
110 eluz2 11693 . . . . . . . . . . . . . . . 16  |-  ( ( Q  +  2 )  e.  ( ZZ>= `  Q
)  <->  ( Q  e.  ZZ  /\  ( Q  +  2 )  e.  ZZ  /\  Q  <_ 
( Q  +  2 ) ) )
11162, 67, 109, 110syl3anbrc 1246 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( Q  +  2 )  e.  ( ZZ>= `  Q ) )
112 uztrn 11704 . . . . . . . . . . . . . . 15  |-  ( ( P  e.  ( ZZ>= `  ( Q  +  2
) )  /\  ( Q  +  2 )  e.  ( ZZ>= `  Q
) )  ->  P  e.  ( ZZ>= `  Q )
)
11347, 111, 112syl2anc 693 . . . . . . . . . . . . . 14  |-  ( ph  ->  P  e.  ( ZZ>= `  Q ) )
114 elfzuzb 12336 . . . . . . . . . . . . . 14  |-  ( Q  e.  ( 0 ... P )  <->  ( Q  e.  ( ZZ>= `  0 )  /\  P  e.  ( ZZ>=
`  Q ) ) )
11516, 113, 114sylanbrc 698 . . . . . . . . . . . . 13  |-  ( ph  ->  Q  e.  ( 0 ... P ) )
116 ccatswrd 13456 . . . . . . . . . . . . 13  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... Q )  /\  Q  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( A `  K )
) ) ) )  ->  ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) )  =  ( ( A `  K ) substr  <. 0 ,  P >. ) )
11734, 106, 115, 44, 116syl13anc 1328 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) )  =  ( ( A `  K ) substr  <. 0 ,  P >. ) )
118117oveq1d 6665 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) ) ++  (
<" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( ( A `  K ) substr  <. 0 ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) )
119 swrdcl 13419 . . . . . . . . . . . . 13  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. 0 ,  P >. )  e. Word  ( I  X.  2o ) )
12034, 119syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A `  K ) substr  <. 0 ,  P >. )  e. Word  (
I  X.  2o ) )
121 efgredlemb.u . . . . . . . . . . . . 13  |-  ( ph  ->  U  e.  ( I  X.  2o ) )
122101ffvelrni 6358 . . . . . . . . . . . . . 14  |-  ( U  e.  ( I  X.  2o )  ->  ( M `
 U )  e.  ( I  X.  2o ) )
123121, 122syl 17 . . . . . . . . . . . . 13  |-  ( ph  ->  ( M `  U
)  e.  ( I  X.  2o ) )
124121, 123s2cld 13616 . . . . . . . . . . . 12  |-  ( ph  ->  <" U ( M `  U ) ">  e. Word  (
I  X.  2o ) )
125 swrdcl 13419 . . . . . . . . . . . . 13  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )  e. Word  ( I  X.  2o ) )
12634, 125syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. )  e. Word  ( I  X.  2o ) )
127 ccatass 13371 . . . . . . . . . . . 12  |-  ( ( ( ( A `  K ) substr  <. 0 ,  P >. )  e. Word  (
I  X.  2o )  /\  <" U ( M `  U ) ">  e. Word  (
I  X.  2o )  /\  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. )  e. Word  (
I  X.  2o ) )  ->  ( (
( ( A `  K ) substr  <. 0 ,  P >. ) ++  <" U
( M `  U
) "> ) ++  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. ) )  =  ( ( ( A `  K ) substr  <. 0 ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) )
128120, 124, 126, 127syl3anc 1326 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  P >. ) ++ 
<" U ( M `
 U ) "> ) ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( A `  K
) substr  <. 0 ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) )
129 efgredlemb.6 . . . . . . . . . . . . 13  |-  ( ph  ->  ( S `  A
)  =  ( P ( T `  ( A `  K )
) U ) )
1302, 3, 4, 5efgtval 18136 . . . . . . . . . . . . . 14  |-  ( ( ( A `  K
)  e.  W  /\  P  e.  ( 0 ... ( # `  ( A `  K )
) )  /\  U  e.  ( I  X.  2o ) )  ->  ( P ( T `  ( A `  K ) ) U )  =  ( ( A `  K ) splice  <. P ,  P ,  <" U
( M `  U
) "> >. )
)
13133, 44, 121, 130syl3anc 1326 . . . . . . . . . . . . 13  |-  ( ph  ->  ( P ( T `
 ( A `  K ) ) U )  =  ( ( A `  K ) splice  <. P ,  P ,  <" U ( M `
 U ) "> >. ) )
132 splval 13502 . . . . . . . . . . . . . 14  |-  ( ( ( A `  K
)  e.  W  /\  ( P  e.  (
0 ... ( # `  ( A `  K )
) )  /\  P  e.  ( 0 ... ( # `
 ( A `  K ) ) )  /\  <" U ( M `  U ) ">  e. Word  (
I  X.  2o ) ) )  ->  (
( A `  K
) splice  <. P ,  P ,  <" U ( M `  U ) "> >. )  =  ( ( ( ( A `  K
) substr  <. 0 ,  P >. ) ++  <" U ( M `  U ) "> ) ++  ( ( A `  K
) substr  <. P ,  (
# `  ( A `  K ) ) >.
) ) )
13333, 44, 44, 124, 132syl13anc 1328 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( A `  K ) splice  <. P ,  P ,  <" U
( M `  U
) "> >. )  =  ( ( ( ( A `  K
) substr  <. 0 ,  P >. ) ++  <" U ( M `  U ) "> ) ++  ( ( A `  K
) substr  <. P ,  (
# `  ( A `  K ) ) >.
) ) )
134129, 131, 1333eqtrd 2660 . . . . . . . . . . . 12  |-  ( ph  ->  ( S `  A
)  =  ( ( ( ( A `  K ) substr  <. 0 ,  P >. ) ++  <" U
( M `  U
) "> ) ++  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. ) ) )
135 efgredlemb.7 . . . . . . . . . . . . 13  |-  ( ph  ->  ( S `  B
)  =  ( Q ( T `  ( B `  L )
) V ) )
1362, 3, 4, 5efgtval 18136 . . . . . . . . . . . . . 14  |-  ( ( ( B `  L
)  e.  W  /\  Q  e.  ( 0 ... ( # `  ( B `  L )
) )  /\  V  e.  ( I  X.  2o ) )  ->  ( Q ( T `  ( B `  L ) ) V )  =  ( ( B `  L ) splice  <. Q ,  Q ,  <" V
( M `  V
) "> >. )
)
13729, 14, 94, 136syl3anc 1326 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Q ( T `
 ( B `  L ) ) V )  =  ( ( B `  L ) splice  <. Q ,  Q ,  <" V ( M `
 V ) "> >. ) )
138 splval 13502 . . . . . . . . . . . . . 14  |-  ( ( ( B `  L
)  e.  W  /\  ( Q  e.  (
0 ... ( # `  ( B `  L )
) )  /\  Q  e.  ( 0 ... ( # `
 ( B `  L ) ) )  /\  <" V ( M `  V ) ">  e. Word  (
I  X.  2o ) ) )  ->  (
( B `  L
) splice  <. Q ,  Q ,  <" V ( M `  V ) "> >. )  =  ( ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  <" V ( M `  V ) "> ) ++  ( ( B `  L
) substr  <. Q ,  (
# `  ( B `  L ) ) >.
) ) )
13929, 14, 14, 104, 138syl13anc 1328 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( B `  L ) splice  <. Q ,  Q ,  <" V
( M `  V
) "> >. )  =  ( ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  <" V ( M `  V ) "> ) ++  ( ( B `  L
) substr  <. Q ,  (
# `  ( B `  L ) ) >.
) ) )
140135, 137, 1393eqtrd 2660 . . . . . . . . . . . 12  |-  ( ph  ->  ( S `  B
)  =  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  <" V
( M `  V
) "> ) ++  ( ( B `  L ) substr  <. Q , 
( # `  ( B `
 L ) )
>. ) ) )
14124, 134, 1403eqtr3d 2664 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  P >. ) ++ 
<" U ( M `
 U ) "> ) ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  <" V
( M `  V
) "> ) ++  ( ( B `  L ) substr  <. Q , 
( # `  ( B `
 L ) )
>. ) ) )
142118, 128, 1413eqtr2d 2662 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) ) ++  (
<" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  <" V ( M `  V ) "> ) ++  ( ( B `  L
) substr  <. Q ,  (
# `  ( B `  L ) ) >.
) ) )
143 swrdcl 13419 . . . . . . . . . . . 12  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. Q ,  P >. )  e. Word  ( I  X.  2o ) )
14434, 143syl 17 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A `  K ) substr  <. Q ,  P >. )  e. Word  (
I  X.  2o ) )
145 ccatcl 13359 . . . . . . . . . . . 12  |-  ( (
<" U ( M `
 U ) ">  e. Word  ( I  X.  2o )  /\  (
( A `  K
) substr  <. P ,  (
# `  ( A `  K ) ) >.
)  e. Word  ( I  X.  2o ) )  -> 
( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) )  e. Word 
( I  X.  2o ) )
146124, 126, 145syl2anc 693 . . . . . . . . . . 11  |-  ( ph  ->  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )
147 ccatass 13371 . . . . . . . . . . 11  |-  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o )  /\  ( ( A `
 K ) substr  <. Q ,  P >. )  e. Word  ( I  X.  2o )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )  -> 
( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) ) ++  (
<" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) ) )
14898, 144, 146, 147syl3anc 1326 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q ,  P >. ) ) ++  (
<" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) ) )
149 swrdcl 13419 . . . . . . . . . . . 12  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )  e. Word  ( I  X.  2o ) )
15030, 149syl 17 . . . . . . . . . . 11  |-  ( ph  ->  ( ( B `  L ) substr  <. Q , 
( # `  ( B `
 L ) )
>. )  e. Word  ( I  X.  2o ) )
151 ccatass 13371 . . . . . . . . . . 11  |-  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o )  /\  <" V ( M `  V ) ">  e. Word  (
I  X.  2o )  /\  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. )  e. Word  (
I  X.  2o ) )  ->  ( (
( ( B `  L ) substr  <. 0 ,  Q >. ) ++  <" V
( M `  V
) "> ) ++  ( ( B `  L ) substr  <. Q , 
( # `  ( B `
 L ) )
>. ) )  =  ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( <" V ( M `
 V ) "> ++  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) )
15232, 104, 150, 151syl3anc 1326 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++ 
<" V ( M `
 V ) "> ) ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
) ) )
153142, 148, 1523eqtr3d 2664 . . . . . . . . 9  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) )  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
) ) )
154 ccatcl 13359 . . . . . . . . . . 11  |-  ( ( ( ( A `  K ) substr  <. Q ,  P >. )  e. Word  (
I  X.  2o )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )  -> 
( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  e. Word  ( I  X.  2o ) )
155144, 146, 154syl2anc 693 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  e. Word  ( I  X.  2o ) )
156 ccatcl 13359 . . . . . . . . . . 11  |-  ( (
<" V ( M `
 V ) ">  e. Word  ( I  X.  2o )  /\  (
( B `  L
) substr  <. Q ,  (
# `  ( B `  L ) ) >.
)  e. Word  ( I  X.  2o ) )  -> 
( <" V ( M `  V ) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) )  e. Word 
( I  X.  2o ) )
157104, 150, 156syl2anc 693 . . . . . . . . . 10  |-  ( ph  ->  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)  e. Word  ( I  X.  2o ) )
158 uztrn 11704 . . . . . . . . . . . . . 14  |-  ( ( ( # `  ( A `  K )
)  e.  ( ZZ>= `  P )  /\  P  e.  ( ZZ>= `  Q )
)  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  Q ) )
15946, 113, 158syl2anc 693 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  ( A `  K )
)  e.  ( ZZ>= `  Q ) )
160 elfzuzb 12336 . . . . . . . . . . . . 13  |-  ( Q  e.  ( 0 ... ( # `  ( A `  K )
) )  <->  ( Q  e.  ( ZZ>= `  0 )  /\  ( # `  ( A `  K )
)  e.  ( ZZ>= `  Q ) ) )
16116, 159, 160sylanbrc 698 . . . . . . . . . . . 12  |-  ( ph  ->  Q  e.  ( 0 ... ( # `  ( A `  K )
) ) )
162 swrd0len 13422 . . . . . . . . . . . 12  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  Q  e.  ( 0 ... ( # `
 ( A `  K ) ) ) )  ->  ( # `  (
( A `  K
) substr  <. 0 ,  Q >. ) )  =  Q )
16334, 161, 162syl2anc 693 . . . . . . . . . . 11  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. 0 ,  Q >. ) )  =  Q )
164163, 40eqtr4d 2659 . . . . . . . . . 10  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. 0 ,  Q >. ) )  =  (
# `  ( ( B `  L ) substr  <.
0 ,  Q >. ) ) )
165 ccatopth 13470 . . . . . . . . . 10  |-  ( ( ( ( ( A `
 K ) substr  <. 0 ,  Q >. )  e. Word  ( I  X.  2o )  /\  (
( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  e. Word  ( I  X.  2o ) )  /\  (
( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o )  /\  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)  e. Word  ( I  X.  2o ) )  /\  ( # `  ( ( A `  K ) substr  <. 0 ,  Q >. ) )  =  ( # `  ( ( B `  L ) substr  <. 0 ,  Q >. ) ) )  ->  ( ( ( ( A `  K
) substr  <. 0 ,  Q >. ) ++  ( ( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) )  =  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
) )  <->  ( (
( A `  K
) substr  <. 0 ,  Q >. )  =  ( ( B `  L ) substr  <. 0 ,  Q >. )  /\  ( ( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  (
<" V ( M `
 V ) "> ++  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) ) )
16698, 155, 32, 157, 164, 165syl221anc 1337 . . . . . . . . 9  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) )  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
) )  <->  ( (
( A `  K
) substr  <. 0 ,  Q >. )  =  ( ( B `  L ) substr  <. 0 ,  Q >. )  /\  ( ( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  (
<" V ( M `
 V ) "> ++  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) ) )
167153, 166mpbid 222 . . . . . . . 8  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. )  =  ( ( B `
 L ) substr  <. 0 ,  Q >. )  /\  ( ( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  (
<" V ( M `
 V ) "> ++  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) )
168167simpld 475 . . . . . . 7  |-  ( ph  ->  ( ( A `  K ) substr  <. 0 ,  Q >. )  =  ( ( B `  L
) substr  <. 0 ,  Q >. ) )
169168oveq1d 6665 . . . . . 6  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) )  =  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) ) )
170 ccatrid 13370 . . . . . . . 8  |-  ( ( ( A `  K
) substr  <. 0 ,  Q >. )  e. Word  ( I  X.  2o )  -> 
( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  (/) )  =  (
( A `  K
) substr  <. 0 ,  Q >. ) )
17198, 170syl 17 . . . . . . 7  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  (/) )  =  (
( A `  K
) substr  <. 0 ,  Q >. ) )
172171oveq1d 6665 . . . . . 6  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  (/) ) ++  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( A `  K
) substr  <. 0 ,  Q >. ) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) ) )
173169, 172, 173eqtr4rd 2667 . . . . 5  |-  ( ph  ->  ( S `  C
)  =  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  (/) ) ++  ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  (
# `  ( A `  K ) ) >.
) ) )
174163eqcomd 2628 . . . . 5  |-  ( ph  ->  Q  =  ( # `  ( ( A `  K ) substr  <. 0 ,  Q >. ) ) )
175 hash0 13158 . . . . . . 7  |-  ( # `  (/) )  =  0
176175oveq2i 6661 . . . . . 6  |-  ( Q  +  ( # `  (/) ) )  =  ( Q  + 
0 )
17763addid1d 10236 . . . . . 6  |-  ( ph  ->  ( Q  +  0 )  =  Q )
178176, 177syl5req 2669 . . . . 5  |-  ( ph  ->  Q  =  ( Q  +  ( # `  (/) ) ) )
17998, 100, 36, 104, 173, 174, 178splval2 13508 . . . 4  |-  ( ph  ->  ( ( S `  C ) splice  <. Q ,  Q ,  <" V
( M `  V
) "> >. )  =  ( ( ( ( A `  K
) substr  <. 0 ,  Q >. ) ++  <" V ( M `  V ) "> ) ++  ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  (
# `  ( A `  K ) ) >.
) ) )
180 elfzuzb 12336 . . . . . . . . . . . . . 14  |-  ( Q  e.  ( 0 ... ( Q  +  2 ) )  <->  ( Q  e.  ( ZZ>= `  0 )  /\  ( Q  +  2 )  e.  ( ZZ>= `  Q ) ) )
18116, 111, 180sylanbrc 698 . . . . . . . . . . . . 13  |-  ( ph  ->  Q  e.  ( 0 ... ( Q  + 
2 ) ) )
182 elfzuzb 12336 . . . . . . . . . . . . . 14  |-  ( ( Q  +  2 )  e.  ( 0 ... P )  <->  ( ( Q  +  2 )  e.  ( ZZ>= `  0
)  /\  P  e.  ( ZZ>= `  ( Q  +  2 ) ) ) )
18343, 47, 182sylanbrc 698 . . . . . . . . . . . . 13  |-  ( ph  ->  ( Q  +  2 )  e.  ( 0 ... P ) )
184 ccatswrd 13456 . . . . . . . . . . . . 13  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  ( Q  e.  ( 0 ... ( Q  + 
2 ) )  /\  ( Q  +  2
)  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( A `  K )
) ) ) )  ->  ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )
)  =  ( ( A `  K ) substr  <. Q ,  P >. ) )
18534, 181, 183, 44, 184syl13anc 1328 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. Q ,  ( Q  + 
2 ) >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) )  =  ( ( A `  K ) substr  <. Q ,  P >. ) )
186185oveq1d 6665 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )
) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( ( A `  K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) )
187 swrdcl 13419 . . . . . . . . . . . . 13  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
)  e. Word  ( I  X.  2o ) )
18834, 187syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. )  e. Word  (
I  X.  2o ) )
189 swrdcl 13419 . . . . . . . . . . . . 13  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  e. Word  ( I  X.  2o ) )
19034, 189syl 17 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  e. Word  (
I  X.  2o ) )
191 ccatass 13371 . . . . . . . . . . . 12  |-  ( ( ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. )  e. Word  (
I  X.  2o )  /\  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )  e. Word  ( I  X.  2o )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )  -> 
( ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )
) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) ++  ( ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) ) )
192188, 190, 146, 191syl3anc 1326 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )
) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) ++  ( ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) ) )
193167simprd 479 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. Q ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
) )
194186, 192, 1933eqtr3d 2664 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. Q ,  ( Q  + 
2 ) >. ) ++  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) ) )  =  ( <" V ( M `
 V ) "> ++  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) )
195 ccatcl 13359 . . . . . . . . . . . 12  |-  ( ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  e. Word  (
I  X.  2o )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )  -> 
( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  e. Word  ( I  X.  2o ) )
196190, 146, 195syl2anc 693 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  e. Word  ( I  X.  2o ) )
197 swrdlen 13423 . . . . . . . . . . . . . 14  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  Q  e.  ( 0 ... ( Q  +  2 ) )  /\  ( Q  +  2 )  e.  ( 0 ... ( # `
 ( A `  K ) ) ) )  ->  ( # `  (
( A `  K
) substr  <. Q ,  ( Q  +  2 )
>. ) )  =  ( ( Q  +  2 )  -  Q ) )
19834, 181, 51, 197syl3anc 1326 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. Q ,  ( Q  +  2 )
>. ) )  =  ( ( Q  +  2 )  -  Q ) )
199 pncan2 10288 . . . . . . . . . . . . . 14  |-  ( ( Q  e.  CC  /\  2  e.  CC )  ->  ( ( Q  + 
2 )  -  Q
)  =  2 )
20063, 70, 199sylancl 694 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( Q  + 
2 )  -  Q
)  =  2 )
201198, 200eqtrd 2656 . . . . . . . . . . . 12  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. Q ,  ( Q  +  2 )
>. ) )  =  2 )
202 s2len 13634 . . . . . . . . . . . 12  |-  ( # `  <" V ( M `  V ) "> )  =  2
203201, 202syl6eqr 2674 . . . . . . . . . . 11  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. Q ,  ( Q  +  2 )
>. ) )  =  (
# `  <" V
( M `  V
) "> )
)
204 ccatopth 13470 . . . . . . . . . . 11  |-  ( ( ( ( ( A `
 K ) substr  <. Q ,  ( Q  + 
2 ) >. )  e. Word  ( I  X.  2o )  /\  ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  e. Word  (
I  X.  2o ) )  /\  ( <" V ( M `
 V ) ">  e. Word  ( I  X.  2o )  /\  (
( B `  L
) substr  <. Q ,  (
# `  ( B `  L ) ) >.
)  e. Word  ( I  X.  2o ) )  /\  ( # `  ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) )  =  (
# `  <" V
( M `  V
) "> )
)  ->  ( (
( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) ++  ( ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) )  =  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)  <->  ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
)  =  <" V
( M `  V
) ">  /\  (
( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) )
205188, 196, 104, 150, 203, 204syl221anc 1337 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
) ++  ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) ) )  =  ( <" V
( M `  V
) "> ++  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)  <->  ( ( ( A `  K ) substr  <. Q ,  ( Q  +  2 ) >.
)  =  <" V
( M `  V
) ">  /\  (
( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) ) )
206194, 205mpbid 222 . . . . . . . . 9  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. Q ,  ( Q  + 
2 ) >. )  =  <" V ( M `  V ) ">  /\  (
( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `
 U ) "> ++  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) ) )
207206simpld 475 . . . . . . . 8  |-  ( ph  ->  ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. )  =  <" V ( M `  V ) "> )
208207oveq2d 6666 . . . . . . 7  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) )  =  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++ 
<" V ( M `
 V ) "> ) )
209 ccatswrd 13456 . . . . . . . 8  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... Q )  /\  Q  e.  ( 0 ... ( Q  + 
2 ) )  /\  ( Q  +  2
)  e.  ( 0 ... ( # `  ( A `  K )
) ) ) )  ->  ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) )  =  ( ( A `  K ) substr  <. 0 ,  ( Q  +  2 ) >. ) )
21034, 106, 181, 51, 209syl13anc 1328 . . . . . . 7  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. Q , 
( Q  +  2 ) >. ) )  =  ( ( A `  K ) substr  <. 0 ,  ( Q  +  2 ) >. ) )
211208, 210eqtr3d 2658 . . . . . 6  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  Q >. ) ++ 
<" V ( M `
 V ) "> )  =  ( ( A `  K
) substr  <. 0 ,  ( Q  +  2 )
>. ) )
212211oveq1d 6665 . . . . 5  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++ 
<" V ( M `
 V ) "> ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( A `  K
) substr  <. 0 ,  ( Q  +  2 )
>. ) ++  ( ( A `  K ) substr  <.
( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
) )
213 eluzfz1 12348 . . . . . . 7  |-  ( ( Q  +  2 )  e.  ( ZZ>= `  0
)  ->  0  e.  ( 0 ... ( Q  +  2 ) ) )
21443, 213syl 17 . . . . . 6  |-  ( ph  ->  0  e.  ( 0 ... ( Q  + 
2 ) ) )
215 ccatswrd 13456 . . . . . 6  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... ( Q  + 
2 ) )  /\  ( Q  +  2
)  e.  ( 0 ... ( # `  ( A `  K )
) )  /\  ( # `
 ( A `  K ) )  e.  ( 0 ... ( # `
 ( A `  K ) ) ) ) )  ->  (
( ( A `  K ) substr  <. 0 ,  ( Q  +  2 ) >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( A `  K ) substr  <. 0 ,  ( # `  ( A `  K
) ) >. )
)
21634, 214, 51, 57, 215syl13anc 1328 . . . . 5  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. 0 ,  ( Q  +  2 ) >.
) ++  ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) )  =  ( ( A `  K ) substr  <. 0 ,  ( # `  ( A `  K )
) >. ) )
217 swrdid 13428 . . . . . 6  |-  ( ( A `  K )  e. Word  ( I  X.  2o )  ->  ( ( A `  K ) substr  <. 0 ,  ( # `  ( A `  K
) ) >. )  =  ( A `  K ) )
21834, 217syl 17 . . . . 5  |-  ( ph  ->  ( ( A `  K ) substr  <. 0 ,  ( # `  ( A `  K )
) >. )  =  ( A `  K ) )
219212, 216, 2183eqtrd 2660 . . . 4  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. 0 ,  Q >. ) ++ 
<" V ( M `
 V ) "> ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
)  =  ( A `
 K ) )
22096, 179, 2193eqtrd 2660 . . 3  |-  ( ph  ->  ( Q ( T `
 ( S `  C ) ) V )  =  ( A `
 K ) )
2212, 3, 4, 5efgtf 18135 . . . . . . 7  |-  ( ( S `  C )  e.  W  ->  (
( T `  ( S `  C )
)  =  ( a  e.  ( 0 ... ( # `  ( S `  C )
) ) ,  i  e.  ( I  X.  2o )  |->  ( ( S `  C ) splice  <. a ,  a , 
<" i ( M `
 i ) "> >. ) )  /\  ( T `  ( S `
 C ) ) : ( ( 0 ... ( # `  ( S `  C )
) )  X.  (
I  X.  2o ) ) --> W ) )
22213, 221syl 17 . . . . . 6  |-  ( ph  ->  ( ( T `  ( S `  C ) )  =  ( a  e.  ( 0 ... ( # `  ( S `  C )
) ) ,  i  e.  ( I  X.  2o )  |->  ( ( S `  C ) splice  <. a ,  a , 
<" i ( M `
 i ) "> >. ) )  /\  ( T `  ( S `
 C ) ) : ( ( 0 ... ( # `  ( S `  C )
) )  X.  (
I  X.  2o ) ) --> W ) )
223222simprd 479 . . . . 5  |-  ( ph  ->  ( T `  ( S `  C )
) : ( ( 0 ... ( # `  ( S `  C
) ) )  X.  ( I  X.  2o ) ) --> W )
224 ffn 6045 . . . . 5  |-  ( ( T `  ( S `
 C ) ) : ( ( 0 ... ( # `  ( S `  C )
) )  X.  (
I  X.  2o ) ) --> W  ->  ( T `  ( S `  C ) )  Fn  ( ( 0 ... ( # `  ( S `  C )
) )  X.  (
I  X.  2o ) ) )
225223, 224syl 17 . . . 4  |-  ( ph  ->  ( T `  ( S `  C )
)  Fn  ( ( 0 ... ( # `  ( S `  C
) ) )  X.  ( I  X.  2o ) ) )
226 fnovrn 6809 . . . 4  |-  ( ( ( T `  ( S `  C )
)  Fn  ( ( 0 ... ( # `  ( S `  C
) ) )  X.  ( I  X.  2o ) )  /\  Q  e.  ( 0 ... ( # `
 ( S `  C ) ) )  /\  V  e.  ( I  X.  2o ) )  ->  ( Q
( T `  ( S `  C )
) V )  e. 
ran  ( T `  ( S `  C ) ) )
227225, 93, 94, 226syl3anc 1326 . . 3  |-  ( ph  ->  ( Q ( T `
 ( S `  C ) ) V )  e.  ran  ( T `  ( S `  C ) ) )
228220, 227eqeltrrd 2702 . 2  |-  ( ph  ->  ( A `  K
)  e.  ran  ( T `  ( S `  C ) ) )
229 uztrn 11704 . . . . . . 7  |-  ( ( ( P  -  2 )  e.  ( ZZ>= `  Q )  /\  Q  e.  ( ZZ>= `  0 )
)  ->  ( P  -  2 )  e.  ( ZZ>= `  0 )
)
23089, 16, 229syl2anc 693 . . . . . 6  |-  ( ph  ->  ( P  -  2 )  e.  ( ZZ>= ` 
0 ) )
231 elfzuzb 12336 . . . . . 6  |-  ( ( P  -  2 )  e.  ( 0 ... ( # `  ( S `  C )
) )  <->  ( ( P  -  2 )  e.  ( ZZ>= `  0
)  /\  ( # `  ( S `  C )
)  e.  ( ZZ>= `  ( P  -  2
) ) ) )
232230, 87, 231sylanbrc 698 . . . . 5  |-  ( ph  ->  ( P  -  2 )  e.  ( 0 ... ( # `  ( S `  C )
) ) )
2332, 3, 4, 5efgtval 18136 . . . . 5  |-  ( ( ( S `  C
)  e.  W  /\  ( P  -  2
)  e.  ( 0 ... ( # `  ( S `  C )
) )  /\  U  e.  ( I  X.  2o ) )  ->  (
( P  -  2 ) ( T `  ( S `  C ) ) U )  =  ( ( S `  C ) splice  <. ( P  -  2 ) ,  ( P  -  2 ) ,  <" U
( M `  U
) "> >. )
)
23413, 232, 121, 233syl3anc 1326 . . . 4  |-  ( ph  ->  ( ( P  - 
2 ) ( T `
 ( S `  C ) ) U )  =  ( ( S `  C ) splice  <. ( P  -  2 ) ,  ( P  -  2 ) , 
<" U ( M `
 U ) "> >. ) )
235 swrdcl 13419 . . . . . 6  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
)  e. Word  ( I  X.  2o ) )
23630, 235syl 17 . . . . 5  |-  ( ph  ->  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. )  e. Word  (
I  X.  2o ) )
237 swrdcl 13419 . . . . . 6  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )  e. Word  ( I  X.  2o ) )
23830, 237syl 17 . . . . 5  |-  ( ph  ->  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. )  e. Word  ( I  X.  2o ) )
239 ccatswrd 13456 . . . . . . . . . . 11  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  (
( Q  +  2 )  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( A `  K )
) )  /\  ( # `
 ( A `  K ) )  e.  ( 0 ... ( # `
 ( A `  K ) ) ) ) )  ->  (
( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K
) ) >. )
)
24034, 183, 44, 57, 239syl13anc 1328 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. ) )  =  ( ( A `  K
) substr  <. ( Q  + 
2 ) ,  (
# `  ( A `  K ) ) >.
) )
241206simprd 479 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( B `
 L ) substr  <. Q ,  ( # `  ( B `  L )
) >. ) )
242 elfzuzb 12336 . . . . . . . . . . . . . . . 16  |-  ( Q  e.  ( 0 ... ( P  -  2 ) )  <->  ( Q  e.  ( ZZ>= `  0 )  /\  ( P  -  2 )  e.  ( ZZ>= `  Q ) ) )
24316, 89, 242sylanbrc 698 . . . . . . . . . . . . . . 15  |-  ( ph  ->  Q  e.  ( 0 ... ( P  - 
2 ) ) )
2442, 3, 4, 5, 6, 7, 21, 22, 23, 24, 25, 26, 27, 44, 14, 121, 94, 129, 135efgredlemg 18155 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( # `  ( A `  K )
)  =  ( # `  ( B `  L
) ) )
245244, 46eqeltrrd 2702 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( # `  ( B `  L )
)  e.  ( ZZ>= `  P ) )
246 0le2 11111 . . . . . . . . . . . . . . . . . . . 20  |-  0  <_  2
247246a1i 11 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  0  <_  2 )
24876zred 11482 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  P  e.  RR )
249 2re 11090 . . . . . . . . . . . . . . . . . . . 20  |-  2  e.  RR
250 subge02 10544 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( P  e.  RR  /\  2  e.  RR )  ->  ( 0  <_  2  <->  ( P  -  2 )  <_  P ) )
251248, 249, 250sylancl 694 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( 0  <_  2  <->  ( P  -  2 )  <_  P ) )
252247, 251mpbid 222 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( P  -  2 )  <_  P )
253 eluz2 11693 . . . . . . . . . . . . . . . . . 18  |-  ( P  e.  ( ZZ>= `  ( P  -  2 ) )  <->  ( ( P  -  2 )  e.  ZZ  /\  P  e.  ZZ  /\  ( P  -  2 )  <_  P ) )
25478, 76, 252, 253syl3anbrc 1246 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  P  e.  ( ZZ>= `  ( P  -  2
) ) )
255 uztrn 11704 . . . . . . . . . . . . . . . . 17  |-  ( ( ( # `  ( B `  L )
)  e.  ( ZZ>= `  P )  /\  P  e.  ( ZZ>= `  ( P  -  2 ) ) )  ->  ( # `  ( B `  L )
)  e.  ( ZZ>= `  ( P  -  2
) ) )
256245, 254, 255syl2anc 693 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( # `  ( B `  L )
)  e.  ( ZZ>= `  ( P  -  2
) ) )
257 elfzuzb 12336 . . . . . . . . . . . . . . . 16  |-  ( ( P  -  2 )  e.  ( 0 ... ( # `  ( B `  L )
) )  <->  ( ( P  -  2 )  e.  ( ZZ>= `  0
)  /\  ( # `  ( B `  L )
)  e.  ( ZZ>= `  ( P  -  2
) ) ) )
258230, 256, 257sylanbrc 698 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( P  -  2 )  e.  ( 0 ... ( # `  ( B `  L )
) ) )
259 lencl 13324 . . . . . . . . . . . . . . . . . 18  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( # `  ( B `  L
) )  e.  NN0 )
26030, 259syl 17 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( # `  ( B `  L )
)  e.  NN0 )
261260, 54syl6eleq 2711 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( # `  ( B `  L )
)  e.  ( ZZ>= ` 
0 ) )
262 eluzfz2 12349 . . . . . . . . . . . . . . . 16  |-  ( (
# `  ( B `  L ) )  e.  ( ZZ>= `  0 )  ->  ( # `  ( B `  L )
)  e.  ( 0 ... ( # `  ( B `  L )
) ) )
263261, 262syl 17 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( # `  ( B `  L )
)  e.  ( 0 ... ( # `  ( B `  L )
) ) )
264 ccatswrd 13456 . . . . . . . . . . . . . . 15  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  ( Q  e.  ( 0 ... ( P  - 
2 ) )  /\  ( P  -  2
)  e.  ( 0 ... ( # `  ( B `  L )
) )  /\  ( # `
 ( B `  L ) )  e.  ( 0 ... ( # `
 ( B `  L ) ) ) ) )  ->  (
( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( B `  L ) substr  <. Q ,  ( # `  ( B `  L
) ) >. )
)
26530, 243, 258, 263, 264syl13anc 1328 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. ) ++  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L )
) >. ) )  =  ( ( B `  L ) substr  <. Q , 
( # `  ( B `
 L ) )
>. ) )
266241, 265eqtr4d 2659 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U ( M `  U ) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K )
) >. ) ) )  =  ( ( ( B `  L ) substr  <. Q ,  ( P  -  2 ) >.
) ++  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L )
) >. ) ) )
267 swrdcl 13419 . . . . . . . . . . . . . . 15  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. Q ,  ( P  -  2 ) >.
)  e. Word  ( I  X.  2o ) )
26830, 267syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. )  e. Word  (
I  X.  2o ) )
269 swrdcl 13419 . . . . . . . . . . . . . . 15  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )  e. Word  ( I  X.  2o ) )
27030, 269syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L )
) >. )  e. Word  (
I  X.  2o ) )
271 swrdlen 13423 . . . . . . . . . . . . . . . 16  |-  ( ( ( A `  K
)  e. Word  ( I  X.  2o )  /\  ( Q  +  2 )  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `
 ( A `  K ) ) ) )  ->  ( # `  (
( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) )  =  ( P  -  ( Q  +  2 ) ) )
27234, 183, 44, 271syl3anc 1326 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) )  =  ( P  -  ( Q  +  2 ) ) )
273 swrdlen 13423 . . . . . . . . . . . . . . . . 17  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  Q  e.  ( 0 ... ( P  -  2 ) )  /\  ( P  -  2 )  e.  ( 0 ... ( # `
 ( B `  L ) ) ) )  ->  ( # `  (
( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) )  =  ( ( P  -  2 )  -  Q ) )
27430, 243, 258, 273syl3anc 1326 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( # `  (
( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) )  =  ( ( P  -  2 )  -  Q ) )
27580, 63, 71sub32d 10424 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( P  -  Q )  -  2 )  =  ( ( P  -  2 )  -  Q ) )
27680, 63, 71subsub4d 10423 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( ( P  -  Q )  -  2 )  =  ( P  -  ( Q  + 
2 ) ) )
277274, 275, 2763eqtr2d 2662 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( # `  (
( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) )  =  ( P  -  ( Q  +  2 ) ) )
278272, 277eqtr4d 2659 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( # `  (
( A `  K
) substr  <. ( Q  + 
2 ) ,  P >. ) )  =  (
# `  ( ( B `  L ) substr  <. Q ,  ( P  -  2 ) >.
) ) )
279 ccatopth 13470 . . . . . . . . . . . . . 14  |-  ( ( ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )  e. Word  ( I  X.  2o )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  e. Word  ( I  X.  2o ) )  /\  ( ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. )  e. Word  ( I  X.  2o )  /\  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L )
) >. )  e. Word  (
I  X.  2o ) )  /\  ( # `  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) )  =  ( # `  (
( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) ) )  -> 
( ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
)  <->  ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  =  ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
) ) )
280190, 146, 268, 270, 278, 279syl221anc 1337 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
) )  =  ( ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
)  <->  ( ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  =  ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
) ) )
281266, 280mpbid 222 . . . . . . . . . . . 12  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. )  =  ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. )  /\  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
) )
282281simpld 475 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  P >. )  =  ( ( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) )
283281simprd 479 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
)
284 elfzuzb 12336 . . . . . . . . . . . . . . . 16  |-  ( ( P  -  2 )  e.  ( 0 ... P )  <->  ( ( P  -  2 )  e.  ( ZZ>= `  0
)  /\  P  e.  ( ZZ>= `  ( P  -  2 ) ) ) )
285230, 254, 284sylanbrc 698 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( P  -  2 )  e.  ( 0 ... P ) )
286 elfzuz 12338 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  ( 0 ... ( # `  ( A `  K )
) )  ->  P  e.  ( ZZ>= `  0 )
)
28744, 286syl 17 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  P  e.  ( ZZ>= ` 
0 ) )
288 elfzuzb 12336 . . . . . . . . . . . . . . . 16  |-  ( P  e.  ( 0 ... ( # `  ( B `  L )
) )  <->  ( P  e.  ( ZZ>= `  0 )  /\  ( # `  ( B `  L )
)  e.  ( ZZ>= `  P ) ) )
289287, 245, 288sylanbrc 698 . . . . . . . . . . . . . . 15  |-  ( ph  ->  P  e.  ( 0 ... ( # `  ( B `  L )
) ) )
290 ccatswrd 13456 . . . . . . . . . . . . . . 15  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  (
( P  -  2 )  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( B `  L )
) )  /\  ( # `
 ( B `  L ) )  e.  ( 0 ... ( # `
 ( B `  L ) ) ) ) )  ->  (
( ( B `  L ) substr  <. ( P  -  2 ) ,  P >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  ( # `  ( B `  L
) ) >. )
)
29130, 285, 289, 263, 290syl13anc 1328 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. ) ++  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. ) )  =  ( ( B `  L
) substr  <. ( P  - 
2 ) ,  (
# `  ( B `  L ) ) >.
) )
292283, 291eqtr4d 2659 . . . . . . . . . . . . 13  |-  ( ph  ->  ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) ++  ( ( B `
 L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) ) )
293 swrdcl 13419 . . . . . . . . . . . . . . 15  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. ( P  -  2 ) ,  P >. )  e. Word  ( I  X.  2o ) )
29430, 293syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( B `  L ) substr  <. ( P  -  2 ) ,  P >. )  e. Word  (
I  X.  2o ) )
295 s2len 13634 . . . . . . . . . . . . . . 15  |-  ( # `  <" U ( M `  U ) "> )  =  2
296 swrdlen 13423 . . . . . . . . . . . . . . . . 17  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  ( P  -  2 )  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `
 ( B `  L ) ) ) )  ->  ( # `  (
( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) )  =  ( P  -  ( P  -  2 ) ) )
29730, 285, 289, 296syl3anc 1326 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( # `  (
( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) )  =  ( P  -  ( P  -  2 ) ) )
298 nncan 10310 . . . . . . . . . . . . . . . . 17  |-  ( ( P  e.  CC  /\  2  e.  CC )  ->  ( P  -  ( P  -  2 ) )  =  2 )
29980, 70, 298sylancl 694 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( P  -  ( P  -  2 ) )  =  2 )
300297, 299eqtr2d 2657 . . . . . . . . . . . . . . 15  |-  ( ph  ->  2  =  ( # `  ( ( B `  L ) substr  <. ( P  -  2 ) ,  P >. ) ) )
301295, 300syl5eq 2668 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( # `  <" U ( M `  U ) "> )  =  ( # `  (
( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) ) )
302 ccatopth 13470 . . . . . . . . . . . . . 14  |-  ( ( ( <" U
( M `  U
) ">  e. Word  ( I  X.  2o )  /\  ( ( A `
 K ) substr  <. P ,  ( # `  ( A `  K )
) >. )  e. Word  (
I  X.  2o ) )  /\  ( ( ( B `  L
) substr  <. ( P  - 
2 ) ,  P >. )  e. Word  ( I  X.  2o )  /\  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. )  e. Word  ( I  X.  2o ) )  /\  ( # `  <" U ( M `  U ) "> )  =  ( # `  (
( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) ) )  -> 
( ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) ++  ( ( B `
 L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) )  <->  ( <" U ( M `  U ) ">  =  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. )  /\  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. )  =  (
( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) ) ) )
303124, 126, 294, 238, 301, 302syl221anc 1337 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( <" U
( M `  U
) "> ++  ( ( A `  K ) substr  <. P ,  ( # `  ( A `  K
) ) >. )
)  =  ( ( ( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) ++  ( ( B `
 L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) )  <->  ( <" U ( M `  U ) ">  =  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. )  /\  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. )  =  (
( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) ) ) )
304292, 303mpbid 222 . . . . . . . . . . . 12  |-  ( ph  ->  ( <" U
( M `  U
) ">  =  ( ( B `  L ) substr  <. ( P  -  2 ) ,  P >. )  /\  (
( A `  K
) substr  <. P ,  (
# `  ( A `  K ) ) >.
)  =  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
) )
305304simprd 479 . . . . . . . . . . 11  |-  ( ph  ->  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. )  =  (
( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) )
306282, 305oveq12d 6668 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( A `
 K ) substr  <. ( Q  +  2 ) ,  P >. ) ++  ( ( A `  K ) substr  <. P , 
( # `  ( A `
 K ) )
>. ) )  =  ( ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
) )
307240, 306eqtr3d 2658 . . . . . . . . 9  |-  ( ph  ->  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. )  =  ( ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
) )
308307oveq2d 6666 . . . . . . . 8  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) )  =  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. ) ++  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. ) ) ) )
309 ccatass 13371 . . . . . . . . 9  |-  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. )  e. Word  (
I  X.  2o )  /\  ( ( B `
 L ) substr  <. Q ,  ( P  - 
2 ) >. )  e. Word  ( I  X.  2o )  /\  ( ( B `
 L ) substr  <. P ,  ( # `  ( B `  L )
) >. )  e. Word  (
I  X.  2o ) )  ->  ( (
( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q ,  ( P  -  2 ) >.
) ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( ( B `  L
) substr  <. 0 ,  Q >. ) ++  ( ( ( B `  L ) substr  <. Q ,  ( P  -  2 ) >.
) ++  ( ( B `
 L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) ) ) )
31032, 268, 238, 309syl3anc 1326 . . . . . . . 8  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) )  =  ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( ( B `  L
) substr  <. Q ,  ( P  -  2 )
>. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) ) ) )
311308, 310eqtr4d 2659 . . . . . . 7  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( A `  K ) substr  <. ( Q  +  2 ) ,  ( # `  ( A `  K )
) >. ) )  =  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) ) )
312 ccatswrd 13456 . . . . . . . . 9  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... Q )  /\  Q  e.  ( 0 ... ( P  - 
2 ) )  /\  ( P  -  2
)  e.  ( 0 ... ( # `  ( B `  L )
) ) ) )  ->  ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) )  =  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. ) )
31330, 106, 243, 258, 312syl13anc 1328 . . . . . . . 8  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) )  =  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. ) )
314313oveq1d 6665 . . . . . . 7  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  Q >. ) ++  ( ( B `  L ) substr  <. Q , 
( P  -  2 ) >. ) ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) )  =  ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
) )
31517, 311, 3143eqtrd 2660 . . . . . 6  |-  ( ph  ->  ( S `  C
)  =  ( ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) ) )
316 ccatrid 13370 . . . . . . . 8  |-  ( ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. )  e. Word  ( I  X.  2o )  -> 
( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  (/) )  =  ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) )
317236, 316syl 17 . . . . . . 7  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  (/) )  =  ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) )
318317oveq1d 6665 . . . . . 6  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  (/) ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L )
) >. ) ) )
319315, 318eqtr4d 2659 . . . . 5  |-  ( ph  ->  ( S `  C
)  =  ( ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. ) ++  (/) ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) ) )
320 swrd0len 13422 . . . . . . 7  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  ( P  -  2 )  e.  ( 0 ... ( # `  ( B `  L )
) ) )  -> 
( # `  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
) )  =  ( P  -  2 ) )
32130, 258, 320syl2anc 693 . . . . . 6  |-  ( ph  ->  ( # `  (
( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) )  =  ( P  -  2 ) )
322321eqcomd 2628 . . . . 5  |-  ( ph  ->  ( P  -  2 )  =  ( # `  ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >. ) ) )
323175oveq2i 6661 . . . . . 6  |-  ( ( P  -  2 )  +  ( # `  (/) ) )  =  ( ( P  -  2 )  +  0 )
32478zcnd 11483 . . . . . . 7  |-  ( ph  ->  ( P  -  2 )  e.  CC )
325324addid1d 10236 . . . . . 6  |-  ( ph  ->  ( ( P  - 
2 )  +  0 )  =  ( P  -  2 ) )
326323, 325syl5req 2669 . . . . 5  |-  ( ph  ->  ( P  -  2 )  =  ( ( P  -  2 )  +  ( # `  (/) ) ) )
327236, 100, 238, 124, 319, 322, 326splval2 13508 . . . 4  |-  ( ph  ->  ( ( S `  C ) splice  <. ( P  -  2 ) ,  ( P  -  2 ) ,  <" U
( M `  U
) "> >. )  =  ( ( ( ( B `  L
) substr  <. 0 ,  ( P  -  2 )
>. ) ++  <" U
( M `  U
) "> ) ++  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. ) ) )
328304simpld 475 . . . . . . . 8  |-  ( ph  ->  <" U ( M `  U ) ">  =  ( ( B `  L
) substr  <. ( P  - 
2 ) ,  P >. ) )
329328oveq2d 6666 . . . . . . 7  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  <" U ( M `  U ) "> )  =  ( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. )
) )
330 eluzfz1 12348 . . . . . . . . 9  |-  ( ( P  -  2 )  e.  ( ZZ>= `  0
)  ->  0  e.  ( 0 ... ( P  -  2 ) ) )
331230, 330syl 17 . . . . . . . 8  |-  ( ph  ->  0  e.  ( 0 ... ( P  - 
2 ) ) )
332 ccatswrd 13456 . . . . . . . 8  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... ( P  - 
2 ) )  /\  ( P  -  2
)  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( B `  L )
) ) ) )  ->  ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. )
)  =  ( ( B `  L ) substr  <. 0 ,  P >. ) )
33330, 331, 285, 289, 332syl13anc 1328 . . . . . . 7  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  ( ( B `
 L ) substr  <. ( P  -  2 ) ,  P >. )
)  =  ( ( B `  L ) substr  <. 0 ,  P >. ) )
334329, 333eqtrd 2656 . . . . . 6  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  <" U ( M `  U ) "> )  =  ( ( B `  L ) substr  <. 0 ,  P >. ) )
335334oveq1d 6665 . . . . 5  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  <" U ( M `  U ) "> ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) )  =  ( ( ( B `  L ) substr  <. 0 ,  P >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
) )
336 eluzfz1 12348 . . . . . . 7  |-  ( P  e.  ( ZZ>= `  0
)  ->  0  e.  ( 0 ... P
) )
337287, 336syl 17 . . . . . 6  |-  ( ph  ->  0  e.  ( 0 ... P ) )
338 ccatswrd 13456 . . . . . 6  |-  ( ( ( B `  L
)  e. Word  ( I  X.  2o )  /\  (
0  e.  ( 0 ... P )  /\  P  e.  ( 0 ... ( # `  ( B `  L )
) )  /\  ( # `
 ( B `  L ) )  e.  ( 0 ... ( # `
 ( B `  L ) ) ) ) )  ->  (
( ( B `  L ) substr  <. 0 ,  P >. ) ++  ( ( B `  L ) substr  <. P ,  ( # `  ( B `  L
) ) >. )
)  =  ( ( B `  L ) substr  <. 0 ,  ( # `  ( B `  L
) ) >. )
)
33930, 337, 289, 263, 338syl13anc 1328 . . . . 5  |-  ( ph  ->  ( ( ( B `
 L ) substr  <. 0 ,  P >. ) ++  ( ( B `  L ) substr  <. P , 
( # `  ( B `
 L ) )
>. ) )  =  ( ( B `  L
) substr  <. 0 ,  (
# `  ( B `  L ) ) >.
) )
340 swrdid 13428 . . . . . 6  |-  ( ( B `  L )  e. Word  ( I  X.  2o )  ->  ( ( B `  L ) substr  <. 0 ,  ( # `  ( B `  L
) ) >. )  =  ( B `  L ) )
34130, 340syl 17 . . . . 5  |-  ( ph  ->  ( ( B `  L ) substr  <. 0 ,  ( # `  ( B `  L )
) >. )  =  ( B `  L ) )
342335, 339, 3413eqtrd 2660 . . . 4  |-  ( ph  ->  ( ( ( ( B `  L ) substr  <. 0 ,  ( P  -  2 ) >.
) ++  <" U ( M `  U ) "> ) ++  ( ( B `  L
) substr  <. P ,  (
# `  ( B `  L ) ) >.
) )  =  ( B `  L ) )
343234, 327, 3423eqtrd 2660 . . 3  |-  ( ph  ->  ( ( P  - 
2 ) ( T `
 ( S `  C ) ) U )  =  ( B `
 L ) )
344 fnovrn 6809 . . . 4  |-  ( ( ( T `  ( S `  C )
)  Fn  ( ( 0 ... ( # `  ( S `  C
) ) )  X.  ( I  X.  2o ) )  /\  ( P  -  2 )  e.  ( 0 ... ( # `  ( S `  C )
) )  /\  U  e.  ( I  X.  2o ) )  ->  (
( P  -  2 ) ( T `  ( S `  C ) ) U )  e. 
ran  ( T `  ( S `  C ) ) )
345225, 232, 121, 344syl3anc 1326 . . 3  |-  ( ph  ->  ( ( P  - 
2 ) ( T `
 ( S `  C ) ) U )  e.  ran  ( T `  ( S `  C ) ) )
346343, 345eqeltrrd 2702 . 2  |-  ( ph  ->  ( B `  L
)  e.  ran  ( T `  ( S `  C ) ) )
347228, 346jca 554 1  |-  ( ph  ->  ( ( A `  K )  e.  ran  ( T `  ( S `
 C ) )  /\  ( B `  L )  e.  ran  ( T `  ( S `
 C ) ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    /\ wa 384    = wceq 1483    e. wcel 1990   A.wral 2912   {crab 2916    \ cdif 3571   (/)c0 3915   {csn 4177   <.cop 4183   <.cotp 4185   U_ciun 4520   class class class wbr 4653    |-> cmpt 4729    _I cid 5023    X. cxp 5112   dom cdm 5114   ran crn 5115    Fn wfn 5883   -->wf 5884   ` cfv 5888  (class class class)co 6650    |-> cmpt2 6652   1oc1o 7553   2oc2o 7554   CCcc 9934   RRcr 9935   0cc0 9936   1c1 9937    + caddc 9939    < clt 10074    <_ cle 10075    - cmin 10266   2c2 11070   NN0cn0 11292   ZZcz 11377   ZZ>=cuz 11687   ...cfz 12326  ..^cfzo 12465   #chash 13117  Word cword 13291   ++ cconcat 13293   substr csubstr 13295   splice csplice 13296   <"cs2 13586   ~FG cefg 18119
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-ot 4186  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-pm 7860  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-card 8765  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-nn 11021  df-2 11079  df-n0 11293  df-z 11378  df-uz 11688  df-fz 12327  df-fzo 12466  df-hash 13118  df-word 13299  df-concat 13301  df-s1 13302  df-substr 13303  df-splice 13304  df-s2 13593
This theorem is referenced by:  efgredlemd  18157
  Copyright terms: Public domain W3C validator