Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  ofcccat Structured version   Unicode version

Theorem ofcccat 29004
Description: Letterwise operations on word concatenations. (Contributed by Thierry Arnoux, 5-Oct-2018.)
Hypotheses
Ref Expression
ofcccat.1  |-  ( ph  ->  F  e. Word  S )
ofcccat.2  |-  ( ph  ->  G  e. Word  S )
ofcccat.3  |-  ( ph  ->  K  e.  T )
Assertion
Ref Expression
ofcccat  |-  ( ph  ->  ( ( F ++  G
)𝑓/𝑐 R K )  =  ( ( F𝑓/𝑐 R K ) ++  ( G𝑓/𝑐 R K ) ) )

Proof of Theorem ofcccat
StepHypRef Expression
1 ofcccat.1 . . 3  |-  ( ph  ->  F  e. Word  S )
2 ofcccat.2 . . 3  |-  ( ph  ->  G  e. Word  S )
3 ofcccat.3 . . . 4  |-  ( ph  ->  K  e.  T )
4 fconst6g 5757 . . . 4  |-  ( K  e.  T  ->  (
( 0..^ ( # `  F ) )  X. 
{ K } ) : ( 0..^ (
# `  F )
) --> T )
5 iswrdi 12602 . . . 4  |-  ( ( ( 0..^ ( # `  F ) )  X. 
{ K } ) : ( 0..^ (
# `  F )
) --> T  ->  (
( 0..^ ( # `  F ) )  X. 
{ K } )  e. Word  T )
63, 4, 53syl 18 . . 3  |-  ( ph  ->  ( ( 0..^ (
# `  F )
)  X.  { K } )  e. Word  T
)
7 fconst6g 5757 . . . 4  |-  ( K  e.  T  ->  (
( 0..^ ( # `  G ) )  X. 
{ K } ) : ( 0..^ (
# `  G )
) --> T )
8 iswrdi 12602 . . . 4  |-  ( ( ( 0..^ ( # `  G ) )  X. 
{ K } ) : ( 0..^ (
# `  G )
) --> T  ->  (
( 0..^ ( # `  G ) )  X. 
{ K } )  e. Word  T )
93, 7, 83syl 18 . . 3  |-  ( ph  ->  ( ( 0..^ (
# `  G )
)  X.  { K } )  e. Word  T
)
10 fzofi 12125 . . . . 5  |-  ( 0..^ ( # `  F
) )  e.  Fin
11 snfi 7634 . . . . 5  |-  { K }  e.  Fin
12 hashxp 12541 . . . . 5  |-  ( ( ( 0..^ ( # `  F ) )  e. 
Fin  /\  { K }  e.  Fin )  ->  ( # `  (
( 0..^ ( # `  F ) )  X. 
{ K } ) )  =  ( (
# `  ( 0..^ ( # `  F ) ) )  x.  ( # `
 { K }
) ) )
1310, 11, 12mp2an 670 . . . 4  |-  ( # `  ( ( 0..^ (
# `  F )
)  X.  { K } ) )  =  ( ( # `  (
0..^ ( # `  F
) ) )  x.  ( # `  { K } ) )
14 wrdfin 12613 . . . . . . . 8  |-  ( F  e. Word  S  ->  F  e.  Fin )
15 hashcl 12475 . . . . . . . 8  |-  ( F  e.  Fin  ->  ( # `
 F )  e. 
NN0 )
161, 14, 153syl 18 . . . . . . 7  |-  ( ph  ->  ( # `  F
)  e.  NN0 )
17 hashfzo0 12537 . . . . . . 7  |-  ( (
# `  F )  e.  NN0  ->  ( # `  (
0..^ ( # `  F
) ) )  =  ( # `  F
) )
1816, 17syl 17 . . . . . 6  |-  ( ph  ->  ( # `  (
0..^ ( # `  F
) ) )  =  ( # `  F
) )
19 hashsng 12486 . . . . . . 7  |-  ( K  e.  T  ->  ( # `
 { K }
)  =  1 )
203, 19syl 17 . . . . . 6  |-  ( ph  ->  ( # `  { K } )  =  1 )
2118, 20oveq12d 6296 . . . . 5  |-  ( ph  ->  ( ( # `  (
0..^ ( # `  F
) ) )  x.  ( # `  { K } ) )  =  ( ( # `  F
)  x.  1 ) )
2216nn0cnd 10895 . . . . . 6  |-  ( ph  ->  ( # `  F
)  e.  CC )
2322mulid1d 9643 . . . . 5  |-  ( ph  ->  ( ( # `  F
)  x.  1 )  =  ( # `  F
) )
2421, 23eqtrd 2443 . . . 4  |-  ( ph  ->  ( ( # `  (
0..^ ( # `  F
) ) )  x.  ( # `  { K } ) )  =  ( # `  F
) )
2513, 24syl5req 2456 . . 3  |-  ( ph  ->  ( # `  F
)  =  ( # `  ( ( 0..^ (
# `  F )
)  X.  { K } ) ) )
26 fzofi 12125 . . . . 5  |-  ( 0..^ ( # `  G
) )  e.  Fin
27 hashxp 12541 . . . . 5  |-  ( ( ( 0..^ ( # `  G ) )  e. 
Fin  /\  { K }  e.  Fin )  ->  ( # `  (
( 0..^ ( # `  G ) )  X. 
{ K } ) )  =  ( (
# `  ( 0..^ ( # `  G ) ) )  x.  ( # `
 { K }
) ) )
2826, 11, 27mp2an 670 . . . 4  |-  ( # `  ( ( 0..^ (
# `  G )
)  X.  { K } ) )  =  ( ( # `  (
0..^ ( # `  G
) ) )  x.  ( # `  { K } ) )
29 wrdfin 12613 . . . . . . . 8  |-  ( G  e. Word  S  ->  G  e.  Fin )
30 hashcl 12475 . . . . . . . 8  |-  ( G  e.  Fin  ->  ( # `
 G )  e. 
NN0 )
312, 29, 303syl 18 . . . . . . 7  |-  ( ph  ->  ( # `  G
)  e.  NN0 )
32 hashfzo0 12537 . . . . . . 7  |-  ( (
# `  G )  e.  NN0  ->  ( # `  (
0..^ ( # `  G
) ) )  =  ( # `  G
) )
3331, 32syl 17 . . . . . 6  |-  ( ph  ->  ( # `  (
0..^ ( # `  G
) ) )  =  ( # `  G
) )
3433, 20oveq12d 6296 . . . . 5  |-  ( ph  ->  ( ( # `  (
0..^ ( # `  G
) ) )  x.  ( # `  { K } ) )  =  ( ( # `  G
)  x.  1 ) )
3531nn0cnd 10895 . . . . . 6  |-  ( ph  ->  ( # `  G
)  e.  CC )
3635mulid1d 9643 . . . . 5  |-  ( ph  ->  ( ( # `  G
)  x.  1 )  =  ( # `  G
) )
3734, 36eqtrd 2443 . . . 4  |-  ( ph  ->  ( ( # `  (
0..^ ( # `  G
) ) )  x.  ( # `  { K } ) )  =  ( # `  G
) )
3828, 37syl5req 2456 . . 3  |-  ( ph  ->  ( # `  G
)  =  ( # `  ( ( 0..^ (
# `  G )
)  X.  { K } ) ) )
391, 2, 6, 9, 25, 38ofccat 29003 . 2  |-  ( ph  ->  ( ( F ++  G
)  oF R ( ( ( 0..^ ( # `  F
) )  X.  { K } ) ++  ( ( 0..^ ( # `  G
) )  X.  { K } ) ) )  =  ( ( F  oF R ( ( 0..^ ( # `  F ) )  X. 
{ K } ) ) ++  ( G  oF R ( ( 0..^ ( # `  G
) )  X.  { K } ) ) ) )
40 ccatcl 12647 . . . . . 6  |-  ( ( F  e. Word  S  /\  G  e. Word  S )  ->  ( F ++  G )  e. Word  S )
411, 2, 40syl2anc 659 . . . . 5  |-  ( ph  ->  ( F ++  G )  e. Word  S )
42 wrdf 12603 . . . . 5  |-  ( ( F ++  G )  e. Word  S  ->  ( F ++  G
) : ( 0..^ ( # `  ( F ++  G ) ) ) --> S )
4341, 42syl 17 . . . 4  |-  ( ph  ->  ( F ++  G ) : ( 0..^ (
# `  ( F ++  G ) ) ) --> S )
44 ovex 6306 . . . . 5  |-  ( 0..^ ( # `  ( F ++  G ) ) )  e.  _V
4544a1i 11 . . . 4  |-  ( ph  ->  ( 0..^ ( # `  ( F ++  G ) ) )  e.  _V )
4643, 45, 3ofcof 28554 . . 3  |-  ( ph  ->  ( ( F ++  G
)𝑓/𝑐 R K )  =  ( ( F ++  G )  oF R ( ( 0..^ ( # `  ( F ++  G ) ) )  X.  { K } ) ) )
47 ccatlen 12648 . . . . . . . 8  |-  ( ( F  e. Word  S  /\  G  e. Word  S )  ->  ( # `  ( F ++  G ) )  =  ( ( # `  F
)  +  ( # `  G ) ) )
481, 2, 47syl2anc 659 . . . . . . 7  |-  ( ph  ->  ( # `  ( F ++  G ) )  =  ( ( # `  F
)  +  ( # `  G ) ) )
4948oveq2d 6294 . . . . . 6  |-  ( ph  ->  ( 0..^ ( # `  ( F ++  G ) ) )  =  ( 0..^ ( ( # `  F )  +  (
# `  G )
) ) )
5049xpeq1d 4846 . . . . 5  |-  ( ph  ->  ( ( 0..^ (
# `  ( F ++  G ) ) )  X.  { K }
)  =  ( ( 0..^ ( ( # `  F )  +  (
# `  G )
) )  X.  { K } ) )
51 eqid 2402 . . . . . 6  |-  ( ( 0..^ ( # `  F
) )  X.  { K } )  =  ( ( 0..^ ( # `  F ) )  X. 
{ K } )
52 eqid 2402 . . . . . 6  |-  ( ( 0..^ ( # `  G
) )  X.  { K } )  =  ( ( 0..^ ( # `  G ) )  X. 
{ K } )
53 eqid 2402 . . . . . 6  |-  ( ( 0..^ ( ( # `  F )  +  (
# `  G )
) )  X.  { K } )  =  ( ( 0..^ ( (
# `  F )  +  ( # `  G
) ) )  X. 
{ K } )
5451, 52, 53, 3, 16, 31ccatmulgnn0dir 29002 . . . . 5  |-  ( ph  ->  ( ( ( 0..^ ( # `  F
) )  X.  { K } ) ++  ( ( 0..^ ( # `  G
) )  X.  { K } ) )  =  ( ( 0..^ ( ( # `  F
)  +  ( # `  G ) ) )  X.  { K }
) )
5550, 54eqtr4d 2446 . . . 4  |-  ( ph  ->  ( ( 0..^ (
# `  ( F ++  G ) ) )  X.  { K }
)  =  ( ( ( 0..^ ( # `  F ) )  X. 
{ K } ) ++  ( ( 0..^ (
# `  G )
)  X.  { K } ) ) )
5655oveq2d 6294 . . 3  |-  ( ph  ->  ( ( F ++  G
)  oF R ( ( 0..^ (
# `  ( F ++  G ) ) )  X.  { K }
) )  =  ( ( F ++  G )  oF R ( ( ( 0..^ (
# `  F )
)  X.  { K } ) ++  ( (
0..^ ( # `  G
) )  X.  { K } ) ) ) )
5746, 56eqtrd 2443 . 2  |-  ( ph  ->  ( ( F ++  G
)𝑓/𝑐 R K )  =  ( ( F ++  G )  oF R ( ( ( 0..^ (
# `  F )
)  X.  { K } ) ++  ( (
0..^ ( # `  G
) )  X.  { K } ) ) ) )
58 wrdf 12603 . . . . 5  |-  ( F  e. Word  S  ->  F : ( 0..^ (
# `  F )
) --> S )
591, 58syl 17 . . . 4  |-  ( ph  ->  F : ( 0..^ ( # `  F
) ) --> S )
6010a1i 11 . . . 4  |-  ( ph  ->  ( 0..^ ( # `  F ) )  e. 
Fin )
6159, 60, 3ofcof 28554 . . 3  |-  ( ph  ->  ( F𝑓/𝑐 R K )  =  ( F  oF R ( ( 0..^ (
# `  F )
)  X.  { K } ) ) )
62 wrdf 12603 . . . . 5  |-  ( G  e. Word  S  ->  G : ( 0..^ (
# `  G )
) --> S )
632, 62syl 17 . . . 4  |-  ( ph  ->  G : ( 0..^ ( # `  G
) ) --> S )
6426a1i 11 . . . 4  |-  ( ph  ->  ( 0..^ ( # `  G ) )  e. 
Fin )
6563, 64, 3ofcof 28554 . . 3  |-  ( ph  ->  ( G𝑓/𝑐 R K )  =  ( G  oF R ( ( 0..^ (
# `  G )
)  X.  { K } ) ) )
6661, 65oveq12d 6296 . 2  |-  ( ph  ->  ( ( F𝑓/𝑐 R K ) ++  ( G𝑓/𝑐 R K ) )  =  ( ( F  oF R ( ( 0..^ ( # `  F
) )  X.  { K } ) ) ++  ( G  oF R ( ( 0..^ (
# `  G )
)  X.  { K } ) ) ) )
6739, 57, 663eqtr4d 2453 1  |-  ( ph  ->  ( ( F ++  G
)𝑓/𝑐 R K )  =  ( ( F𝑓/𝑐 R K ) ++  ( G𝑓/𝑐 R K ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    = wceq 1405    e. wcel 1842   _Vcvv 3059   {csn 3972    X. cxp 4821   -->wf 5565   ` cfv 5569  (class class class)co 6278    oFcof 6519   Fincfn 7554   0cc0 9522   1c1 9523    + caddc 9525    x. cmul 9527   NN0cn0 10836  ..^cfzo 11854   #chash 12452  Word cword 12583   ++ cconcat 12585  ∘𝑓/𝑐cofc 28542
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1639  ax-4 1652  ax-5 1725  ax-6 1771  ax-7 1814  ax-8 1844  ax-9 1846  ax-10 1861  ax-11 1866  ax-12 1878  ax-13 2026  ax-ext 2380  ax-rep 4507  ax-sep 4517  ax-nul 4525  ax-pow 4572  ax-pr 4630  ax-un 6574  ax-cnex 9578  ax-resscn 9579  ax-1cn 9580  ax-icn 9581  ax-addcl 9582  ax-addrcl 9583  ax-mulcl 9584  ax-mulrcl 9585  ax-mulcom 9586  ax-addass 9587  ax-mulass 9588  ax-distr 9589  ax-i2m1 9590  ax-1ne0 9591  ax-1rid 9592  ax-rnegex 9593  ax-rrecex 9594  ax-cnre 9595  ax-pre-lttri 9596  ax-pre-lttrn 9597  ax-pre-ltadd 9598  ax-pre-mulgt0 9599
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 975  df-3an 976  df-tru 1408  df-ex 1634  df-nf 1638  df-sb 1764  df-eu 2242  df-mo 2243  df-clab 2388  df-cleq 2394  df-clel 2397  df-nfc 2552  df-ne 2600  df-nel 2601  df-ral 2759  df-rex 2760  df-reu 2761  df-rmo 2762  df-rab 2763  df-v 3061  df-sbc 3278  df-csb 3374  df-dif 3417  df-un 3419  df-in 3421  df-ss 3428  df-pss 3430  df-nul 3739  df-if 3886  df-pw 3957  df-sn 3973  df-pr 3975  df-tp 3977  df-op 3979  df-uni 4192  df-int 4228  df-iun 4273  df-br 4396  df-opab 4454  df-mpt 4455  df-tr 4490  df-eprel 4734  df-id 4738  df-po 4744  df-so 4745  df-fr 4782  df-we 4784  df-xp 4829  df-rel 4830  df-cnv 4831  df-co 4832  df-dm 4833  df-rn 4834  df-res 4835  df-ima 4836  df-pred 5367  df-ord 5413  df-on 5414  df-lim 5415  df-suc 5416  df-iota 5533  df-fun 5571  df-fn 5572  df-f 5573  df-f1 5574  df-fo 5575  df-f1o 5576  df-fv 5577  df-riota 6240  df-ov 6281  df-oprab 6282  df-mpt2 6283  df-of 6521  df-om 6684  df-1st 6784  df-2nd 6785  df-wrecs 7013  df-recs 7075  df-rdg 7113  df-1o 7167  df-oadd 7171  df-er 7348  df-en 7555  df-dom 7556  df-sdom 7557  df-fin 7558  df-card 8352  df-cda 8580  df-pnf 9660  df-mnf 9661  df-xr 9662  df-ltxr 9663  df-le 9664  df-sub 9843  df-neg 9844  df-nn 10577  df-2 10635  df-n0 10837  df-z 10906  df-uz 11128  df-fz 11727  df-fzo 11855  df-hash 12453  df-word 12591  df-concat 12593  df-ofc 28543
This theorem is referenced by:  ofcs2  29008
  Copyright terms: Public domain W3C validator