Metamath Proof Explorer


Theorem ccatco

Description: Mapping of words commutes with concatenation. (Contributed by Stefan O'Rear, 27-Aug-2015)

Ref Expression
Assertion ccatco SWordATWordAF:ABFS++T=FS++FT

Proof

Step Hyp Ref Expression
1 lenco SWordAF:ABFS=S
2 1 3adant2 SWordATWordAF:ABFS=S
3 lenco TWordAF:ABFT=T
4 3 3adant1 SWordATWordAF:ABFT=T
5 2 4 oveq12d SWordATWordAF:ABFS+FT=S+T
6 5 oveq2d SWordATWordAF:AB0..^FS+FT=0..^S+T
7 6 mpteq1d SWordATWordAF:ABx0..^FS+FTifx0..^FSFSxFTxFS=x0..^S+Tifx0..^FSFSxFTxFS
8 2 oveq2d SWordATWordAF:AB0..^FS=0..^S
9 8 adantr SWordATWordAF:ABx0..^S+T0..^FS=0..^S
10 9 eleq2d SWordATWordAF:ABx0..^S+Tx0..^FSx0..^S
11 10 ifbid SWordATWordAF:ABx0..^S+Tifx0..^FSFSxFTxFS=ifx0..^SFSxFTxFS
12 wrdf SWordAS:0..^SA
13 12 3ad2ant1 SWordATWordAF:ABS:0..^SA
14 13 adantr SWordATWordAF:ABx0..^S+TS:0..^SA
15 14 ffnd SWordATWordAF:ABx0..^S+TSFn0..^S
16 fvco2 SFn0..^Sx0..^SFSx=FSx
17 15 16 sylan SWordATWordAF:ABx0..^S+Tx0..^SFSx=FSx
18 iftrue x0..^Sifx0..^SFSxFTxS=FSx
19 18 adantl SWordATWordAF:ABx0..^S+Tx0..^Sifx0..^SFSxFTxS=FSx
20 17 19 eqtr4d SWordATWordAF:ABx0..^S+Tx0..^SFSx=ifx0..^SFSxFTxS
21 wrdf TWordAT:0..^TA
22 21 3ad2ant2 SWordATWordAF:ABT:0..^TA
23 22 ad2antrr SWordATWordAF:ABx0..^S+T¬x0..^ST:0..^TA
24 23 ffnd SWordATWordAF:ABx0..^S+T¬x0..^STFn0..^T
25 lencl SWordAS0
26 25 nn0zd SWordAS
27 26 3ad2ant1 SWordATWordAF:ABS
28 fzospliti x0..^S+TSx0..^SxS..^S+T
29 28 ancoms Sx0..^S+Tx0..^SxS..^S+T
30 27 29 sylan SWordATWordAF:ABx0..^S+Tx0..^SxS..^S+T
31 30 orcanai SWordATWordAF:ABx0..^S+T¬x0..^SxS..^S+T
32 lencl TWordAT0
33 32 nn0zd TWordAT
34 33 3ad2ant2 SWordATWordAF:ABT
35 34 ad2antrr SWordATWordAF:ABx0..^S+T¬x0..^ST
36 fzosubel3 xS..^S+TTxS0..^T
37 31 35 36 syl2anc SWordATWordAF:ABx0..^S+T¬x0..^SxS0..^T
38 fvco2 TFn0..^TxS0..^TFTxS=FTxS
39 24 37 38 syl2anc SWordATWordAF:ABx0..^S+T¬x0..^SFTxS=FTxS
40 2 oveq2d SWordATWordAF:ABxFS=xS
41 40 fveq2d SWordATWordAF:ABFTxFS=FTxS
42 41 ad2antrr SWordATWordAF:ABx0..^S+T¬x0..^SFTxFS=FTxS
43 iffalse ¬x0..^Sifx0..^SFSxFTxS=FTxS
44 43 adantl SWordATWordAF:ABx0..^S+T¬x0..^Sifx0..^SFSxFTxS=FTxS
45 39 42 44 3eqtr4d SWordATWordAF:ABx0..^S+T¬x0..^SFTxFS=ifx0..^SFSxFTxS
46 20 45 ifeqda SWordATWordAF:ABx0..^S+Tifx0..^SFSxFTxFS=ifx0..^SFSxFTxS
47 11 46 eqtrd SWordATWordAF:ABx0..^S+Tifx0..^FSFSxFTxFS=ifx0..^SFSxFTxS
48 47 mpteq2dva SWordATWordAF:ABx0..^S+Tifx0..^FSFSxFTxFS=x0..^S+Tifx0..^SFSxFTxS
49 7 48 eqtr2d SWordATWordAF:ABx0..^S+Tifx0..^SFSxFTxS=x0..^FS+FTifx0..^FSFSxFTxFS
50 14 ffvelcdmda SWordATWordAF:ABx0..^S+Tx0..^SSxA
51 23 37 ffvelcdmd SWordATWordAF:ABx0..^S+T¬x0..^STxSA
52 50 51 ifclda SWordATWordAF:ABx0..^S+Tifx0..^SSxTxSA
53 ccatfval SWordATWordAS++T=x0..^S+Tifx0..^SSxTxS
54 53 3adant3 SWordATWordAF:ABS++T=x0..^S+Tifx0..^SSxTxS
55 simp3 SWordATWordAF:ABF:AB
56 55 feqmptd SWordATWordAF:ABF=yAFy
57 fveq2 y=ifx0..^SSxTxSFy=Fifx0..^SSxTxS
58 fvif Fifx0..^SSxTxS=ifx0..^SFSxFTxS
59 57 58 eqtrdi y=ifx0..^SSxTxSFy=ifx0..^SFSxFTxS
60 52 54 56 59 fmptco SWordATWordAF:ABFS++T=x0..^S+Tifx0..^SFSxFTxS
61 ffun F:ABFunF
62 61 3ad2ant3 SWordATWordAF:ABFunF
63 simp1 SWordATWordAF:ABSWordA
64 cofunexg FunFSWordAFSV
65 62 63 64 syl2anc SWordATWordAF:ABFSV
66 simp2 SWordATWordAF:ABTWordA
67 cofunexg FunFTWordAFTV
68 62 66 67 syl2anc SWordATWordAF:ABFTV
69 ccatfval FSVFTVFS++FT=x0..^FS+FTifx0..^FSFSxFTxFS
70 65 68 69 syl2anc SWordATWordAF:ABFS++FT=x0..^FS+FTifx0..^FSFSxFTxFS
71 49 60 70 3eqtr4d SWordATWordAF:ABFS++T=FS++FT