Metamath Proof Explorer


Theorem ofccat

Description: Letterwise operations on word concatenations. (Contributed by Thierry Arnoux, 28-Sep-2018)

Ref Expression
Hypotheses ofccat.1 φEWordS
ofccat.2 φFWordS
ofccat.3 φGWordT
ofccat.4 φHWordT
ofccat.5 φE=G
ofccat.6 φF=H
Assertion ofccat φE++FRfG++H=ERfG++FRfH

Proof

Step Hyp Ref Expression
1 ofccat.1 φEWordS
2 ofccat.2 φFWordS
3 ofccat.3 φGWordT
4 ofccat.4 φHWordT
5 ofccat.5 φE=G
6 ofccat.6 φF=H
7 wrdf EWordSE:0..^ES
8 ffn E:0..^ESEFn0..^E
9 1 7 8 3syl φEFn0..^E
10 wrdf GWordTG:0..^GT
11 ffn G:0..^GTGFn0..^G
12 3 10 11 3syl φGFn0..^G
13 5 oveq2d φ0..^E=0..^G
14 13 fneq2d φGFn0..^EGFn0..^G
15 12 14 mpbird φGFn0..^E
16 ovexd φ0..^EV
17 inidm 0..^E0..^E=0..^E
18 9 15 16 16 17 offn φERfGFn0..^E
19 hashfn ERfGFn0..^EERfG=0..^E
20 18 19 syl φERfG=0..^E
21 wrdfin EWordSEFin
22 hashcl EFinE0
23 1 21 22 3syl φE0
24 hashfzo0 E00..^E=E
25 23 24 syl φ0..^E=E
26 20 25 eqtrd φERfG=E
27 26 adantr φi0..^E+FERfG=E
28 27 oveq2d φi0..^E+F0..^ERfG=0..^E
29 28 eleq2d φi0..^E+Fi0..^ERfGi0..^E
30 9 ad2antrr φi0..^E+Fi0..^ERfGEFn0..^E
31 15 ad2antrr φi0..^E+Fi0..^ERfGGFn0..^E
32 ovexd φi0..^E+Fi0..^ERfG0..^EV
33 29 biimpa φi0..^E+Fi0..^ERfGi0..^E
34 fnfvof EFn0..^EGFn0..^E0..^EVi0..^EERfGi=EiRGi
35 30 31 32 33 34 syl22anc φi0..^E+Fi0..^ERfGERfGi=EiRGi
36 26 ad2antrr φi0..^E+F¬i0..^ERfGERfG=E
37 36 oveq2d φi0..^E+F¬i0..^ERfGiERfG=iE
38 37 fveq2d φi0..^E+F¬i0..^ERfGFRfHiERfG=FRfHiE
39 wrdf FWordSF:0..^FS
40 ffn F:0..^FSFFn0..^F
41 2 39 40 3syl φFFn0..^F
42 41 ad2antrr φi0..^E+F¬i0..^ERfGFFn0..^F
43 wrdf HWordTH:0..^HT
44 ffn H:0..^HTHFn0..^H
45 4 43 44 3syl φHFn0..^H
46 6 oveq2d φ0..^F=0..^H
47 46 fneq2d φHFn0..^FHFn0..^H
48 45 47 mpbird φHFn0..^F
49 48 ad2antrr φi0..^E+F¬i0..^ERfGHFn0..^F
50 ovexd φi0..^E+F¬i0..^ERfG0..^FV
51 simplr φi0..^E+F¬i0..^ERfGi0..^E+F
52 simpr φi0..^E+F¬i0..^ERfG¬i0..^ERfG
53 28 adantr φi0..^E+F¬i0..^ERfG0..^ERfG=0..^E
54 52 53 neleqtrd φi0..^E+F¬i0..^ERfG¬i0..^E
55 23 ad2antrr φi0..^E+F¬i0..^ERfGE0
56 55 nn0zd φi0..^E+F¬i0..^ERfGE
57 wrdfin FWordSFFin
58 hashcl FFinF0
59 2 57 58 3syl φF0
60 59 ad2antrr φi0..^E+F¬i0..^ERfGF0
61 60 nn0zd φi0..^E+F¬i0..^ERfGF
62 fzocatel i0..^E+F¬i0..^EEFiE0..^F
63 51 54 56 61 62 syl22anc φi0..^E+F¬i0..^ERfGiE0..^F
64 fnfvof FFn0..^FHFn0..^F0..^FViE0..^FFRfHiE=FiERHiE
65 42 49 50 63 64 syl22anc φi0..^E+F¬i0..^ERfGFRfHiE=FiERHiE
66 38 65 eqtrd φi0..^E+F¬i0..^ERfGFRfHiERfG=FiERHiE
67 29 35 66 ifbieq12d2 φi0..^E+Fifi0..^ERfGERfGiFRfHiERfG=ifi0..^EEiRGiFiERHiE
68 67 mpteq2dva φi0..^E+Fifi0..^ERfGERfGiFRfHiERfG=i0..^E+Fifi0..^EEiRGiFiERHiE
69 ovex ERfGV
70 ovex FRfHV
71 ccatfval ERfGVFRfHVERfG++FRfH=i0..^ERfG+FRfHifi0..^ERfGERfGiFRfHiERfG
72 69 70 71 mp2an ERfG++FRfH=i0..^ERfG+FRfHifi0..^ERfGERfGiFRfHiERfG
73 ovexd φ0..^FV
74 inidm 0..^F0..^F=0..^F
75 41 48 73 73 74 offn φFRfHFn0..^F
76 hashfn FRfHFn0..^FFRfH=0..^F
77 75 76 syl φFRfH=0..^F
78 hashfzo0 F00..^F=F
79 59 78 syl φ0..^F=F
80 77 79 eqtrd φFRfH=F
81 26 80 oveq12d φERfG+FRfH=E+F
82 81 oveq2d φ0..^ERfG+FRfH=0..^E+F
83 82 mpteq1d φi0..^ERfG+FRfHifi0..^ERfGERfGiFRfHiERfG=i0..^E+Fifi0..^ERfGERfGiFRfHiERfG
84 72 83 eqtrid φERfG++FRfH=i0..^E+Fifi0..^ERfGERfGiFRfHiERfG
85 ovexd φ0..^E+FV
86 fvex EiV
87 fvex FiEV
88 86 87 ifex ifi0..^EEiFiEV
89 88 a1i φi0..^E+Fifi0..^EEiFiEV
90 fvex GiV
91 fvex HiGV
92 90 91 ifex ifi0..^GGiHiGV
93 92 a1i φi0..^E+Fifi0..^GGiHiGV
94 ccatfval EWordSFWordSE++F=i0..^E+Fifi0..^EEiFiE
95 1 2 94 syl2anc φE++F=i0..^E+Fifi0..^EEiFiE
96 ccatfval GWordTHWordTG++H=i0..^G+Hifi0..^GGiHiG
97 3 4 96 syl2anc φG++H=i0..^G+Hifi0..^GGiHiG
98 5 6 oveq12d φE+F=G+H
99 98 oveq2d φ0..^E+F=0..^G+H
100 99 mpteq1d φi0..^E+Fifi0..^GGiHiG=i0..^G+Hifi0..^GGiHiG
101 97 100 eqtr4d φG++H=i0..^E+Fifi0..^GGiHiG
102 85 89 93 95 101 offval2 φE++FRfG++H=i0..^E+Fifi0..^EEiFiERifi0..^GGiHiG
103 5 adantr φi0..^E+FE=G
104 103 oveq2d φi0..^E+F0..^E=0..^G
105 104 eleq2d φi0..^E+Fi0..^Ei0..^G
106 103 oveq2d φi0..^E+FiE=iG
107 106 fveq2d φi0..^E+FHiE=HiG
108 105 107 ifbieq2d φi0..^E+Fifi0..^EGiHiE=ifi0..^GGiHiG
109 108 oveq2d φi0..^E+Fifi0..^EEiFiERifi0..^EGiHiE=ifi0..^EEiFiERifi0..^GGiHiG
110 109 mpteq2dva φi0..^E+Fifi0..^EEiFiERifi0..^EGiHiE=i0..^E+Fifi0..^EEiFiERifi0..^GGiHiG
111 102 110 eqtr4d φE++FRfG++H=i0..^E+Fifi0..^EEiFiERifi0..^EGiHiE
112 ovif12 ifi0..^EEiFiERifi0..^EGiHiE=ifi0..^EEiRGiFiERHiE
113 112 mpteq2i i0..^E+Fifi0..^EEiFiERifi0..^EGiHiE=i0..^E+Fifi0..^EEiRGiFiERHiE
114 111 113 eqtrdi φE++FRfG++H=i0..^E+Fifi0..^EEiRGiFiERHiE
115 68 84 114 3eqtr4rd φE++FRfG++H=ERfG++FRfH