Metamath Proof Explorer


Theorem ofccat

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

Ref Expression
Hypotheses ofccat.1 φ E Word S
ofccat.2 φ F Word S
ofccat.3 φ G Word T
ofccat.4 φ H Word T
ofccat.5 φ E = G
ofccat.6 φ F = H
Assertion ofccat φ E ++ F R f G ++ H = E R f G ++ F R f H

Proof

Step Hyp Ref Expression
1 ofccat.1 φ E Word S
2 ofccat.2 φ F Word S
3 ofccat.3 φ G Word T
4 ofccat.4 φ H Word T
5 ofccat.5 φ E = G
6 ofccat.6 φ F = H
7 wrdf E Word S E : 0 ..^ E S
8 ffn E : 0 ..^ E S E Fn 0 ..^ E
9 1 7 8 3syl φ E Fn 0 ..^ E
10 wrdf G Word T G : 0 ..^ G T
11 ffn G : 0 ..^ G T G Fn 0 ..^ G
12 3 10 11 3syl φ G Fn 0 ..^ G
13 5 oveq2d φ 0 ..^ E = 0 ..^ G
14 13 fneq2d φ G Fn 0 ..^ E G Fn 0 ..^ G
15 12 14 mpbird φ G Fn 0 ..^ E
16 ovexd φ 0 ..^ E V
17 inidm 0 ..^ E 0 ..^ E = 0 ..^ E
18 9 15 16 16 17 offn φ E R f G Fn 0 ..^ E
19 hashfn E R f G Fn 0 ..^ E E R f G = 0 ..^ E
20 18 19 syl φ E R f G = 0 ..^ E
21 wrdfin E Word S E Fin
22 hashcl E Fin E 0
23 1 21 22 3syl φ E 0
24 hashfzo0 E 0 0 ..^ E = E
25 23 24 syl φ 0 ..^ E = E
26 20 25 eqtrd φ E R f G = E
27 26 adantr φ i 0 ..^ E + F E R f G = E
28 27 oveq2d φ i 0 ..^ E + F 0 ..^ E R f G = 0 ..^ E
29 28 eleq2d φ i 0 ..^ E + F i 0 ..^ E R f G i 0 ..^ E
30 9 ad2antrr φ i 0 ..^ E + F i 0 ..^ E R f G E Fn 0 ..^ E
31 15 ad2antrr φ i 0 ..^ E + F i 0 ..^ E R f G G Fn 0 ..^ E
32 ovexd φ i 0 ..^ E + F i 0 ..^ E R f G 0 ..^ E V
33 29 biimpa φ i 0 ..^ E + F i 0 ..^ E R f G i 0 ..^ E
34 fnfvof E Fn 0 ..^ E G Fn 0 ..^ E 0 ..^ E V i 0 ..^ E E R f G i = E i R G i
35 30 31 32 33 34 syl22anc φ i 0 ..^ E + F i 0 ..^ E R f G E R f G i = E i R G i
36 26 ad2antrr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G E R f G = E
37 36 oveq2d φ i 0 ..^ E + F ¬ i 0 ..^ E R f G i E R f G = i E
38 37 fveq2d φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F R f H i E R f G = F R f H i E
39 wrdf F Word S F : 0 ..^ F S
40 ffn F : 0 ..^ F S F Fn 0 ..^ F
41 2 39 40 3syl φ F Fn 0 ..^ F
42 41 ad2antrr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F Fn 0 ..^ F
43 wrdf H Word T H : 0 ..^ H T
44 ffn H : 0 ..^ H T H Fn 0 ..^ H
45 4 43 44 3syl φ H Fn 0 ..^ H
46 6 oveq2d φ 0 ..^ F = 0 ..^ H
47 46 fneq2d φ H Fn 0 ..^ F H Fn 0 ..^ H
48 45 47 mpbird φ H Fn 0 ..^ F
49 48 ad2antrr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G H Fn 0 ..^ F
50 ovexd φ i 0 ..^ E + F ¬ i 0 ..^ E R f G 0 ..^ F V
51 simplr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G i 0 ..^ E + F
52 simpr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G ¬ i 0 ..^ E R f G
53 28 adantr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G 0 ..^ E R f G = 0 ..^ E
54 52 53 neleqtrd φ i 0 ..^ E + F ¬ i 0 ..^ E R f G ¬ i 0 ..^ E
55 23 ad2antrr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G E 0
56 55 nn0zd φ i 0 ..^ E + F ¬ i 0 ..^ E R f G E
57 wrdfin F Word S F Fin
58 hashcl F Fin F 0
59 2 57 58 3syl φ F 0
60 59 ad2antrr φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F 0
61 60 nn0zd φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F
62 fzocatel i 0 ..^ E + F ¬ i 0 ..^ E E F i E 0 ..^ F
63 51 54 56 61 62 syl22anc φ i 0 ..^ E + F ¬ i 0 ..^ E R f G i E 0 ..^ F
64 fnfvof F Fn 0 ..^ F H Fn 0 ..^ F 0 ..^ F V i E 0 ..^ F F R f H i E = F i E R H i E
65 42 49 50 63 64 syl22anc φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F R f H i E = F i E R H i E
66 38 65 eqtrd φ i 0 ..^ E + F ¬ i 0 ..^ E R f G F R f H i E R f G = F i E R H i E
67 29 35 66 ifbieq12d2 φ i 0 ..^ E + F if i 0 ..^ E R f G E R f G i F R f H i E R f G = if i 0 ..^ E E i R G i F i E R H i E
68 67 mpteq2dva φ i 0 ..^ E + F if i 0 ..^ E R f G E R f G i F R f H i E R f G = i 0 ..^ E + F if i 0 ..^ E E i R G i F i E R H i E
69 ovex E R f G V
70 ovex F R f H V
71 ccatfval E R f G V F R f H V E R f G ++ F R f H = i 0 ..^ E R f G + F R f H if i 0 ..^ E R f G E R f G i F R f H i E R f G
72 69 70 71 mp2an E R f G ++ F R f H = i 0 ..^ E R f G + F R f H if i 0 ..^ E R f G E R f G i F R f H i E R f G
73 ovexd φ 0 ..^ F V
74 inidm 0 ..^ F 0 ..^ F = 0 ..^ F
75 41 48 73 73 74 offn φ F R f H Fn 0 ..^ F
76 hashfn F R f H Fn 0 ..^ F F R f H = 0 ..^ F
77 75 76 syl φ F R f H = 0 ..^ F
78 hashfzo0 F 0 0 ..^ F = F
79 59 78 syl φ 0 ..^ F = F
80 77 79 eqtrd φ F R f H = F
81 26 80 oveq12d φ E R f G + F R f H = E + F
82 81 oveq2d φ 0 ..^ E R f G + F R f H = 0 ..^ E + F
83 82 mpteq1d φ i 0 ..^ E R f G + F R f H if i 0 ..^ E R f G E R f G i F R f H i E R f G = i 0 ..^ E + F if i 0 ..^ E R f G E R f G i F R f H i E R f G
84 72 83 eqtrid φ E R f G ++ F R f H = i 0 ..^ E + F if i 0 ..^ E R f G E R f G i F R f H i E R f G
85 ovexd φ 0 ..^ E + F V
86 fvex E i V
87 fvex F i E V
88 86 87 ifex if i 0 ..^ E E i F i E V
89 88 a1i φ i 0 ..^ E + F if i 0 ..^ E E i F i E V
90 fvex G i V
91 fvex H i G V
92 90 91 ifex if i 0 ..^ G G i H i G V
93 92 a1i φ i 0 ..^ E + F if i 0 ..^ G G i H i G V
94 ccatfval E Word S F Word S E ++ F = i 0 ..^ E + F if i 0 ..^ E E i F i E
95 1 2 94 syl2anc φ E ++ F = i 0 ..^ E + F if i 0 ..^ E E i F i E
96 ccatfval G Word T H Word T G ++ H = i 0 ..^ G + H if i 0 ..^ G G i H i G
97 3 4 96 syl2anc φ G ++ H = i 0 ..^ G + H if i 0 ..^ G G i H i G
98 5 6 oveq12d φ E + F = G + H
99 98 oveq2d φ 0 ..^ E + F = 0 ..^ G + H
100 99 mpteq1d φ i 0 ..^ E + F if i 0 ..^ G G i H i G = i 0 ..^ G + H if i 0 ..^ G G i H i G
101 97 100 eqtr4d φ G ++ H = i 0 ..^ E + F if i 0 ..^ G G i H i G
102 85 89 93 95 101 offval2 φ E ++ F R f G ++ H = i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ G G i H i G
103 5 adantr φ i 0 ..^ E + F E = G
104 103 oveq2d φ i 0 ..^ E + F 0 ..^ E = 0 ..^ G
105 104 eleq2d φ i 0 ..^ E + F i 0 ..^ E i 0 ..^ G
106 103 oveq2d φ i 0 ..^ E + F i E = i G
107 106 fveq2d φ i 0 ..^ E + F H i E = H i G
108 105 107 ifbieq2d φ i 0 ..^ E + F if i 0 ..^ E G i H i E = if i 0 ..^ G G i H i G
109 108 oveq2d φ i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ E G i H i E = if i 0 ..^ E E i F i E R if i 0 ..^ G G i H i G
110 109 mpteq2dva φ i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ E G i H i E = i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ G G i H i G
111 102 110 eqtr4d φ E ++ F R f G ++ H = i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ E G i H i E
112 ovif12 if i 0 ..^ E E i F i E R if i 0 ..^ E G i H i E = if i 0 ..^ E E i R G i F i E R H i E
113 112 mpteq2i i 0 ..^ E + F if i 0 ..^ E E i F i E R if i 0 ..^ E G i H i E = i 0 ..^ E + F if i 0 ..^ E E i R G i F i E R H i E
114 111 113 eqtrdi φ E ++ F R f G ++ H = i 0 ..^ E + F if i 0 ..^ E E i R G i F i E R H i E
115 68 84 114 3eqtr4rd φ E ++ F R f G ++ H = E R f G ++ F R f H