Description: Closure of the substring replacement operator. (Contributed by Stefan O'Rear, 26-Aug-2015) (Proof shortened by AV, 15-Oct-2022)
Ref | Expression | ||
---|---|---|---|
Assertion | splcl | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | elex | |
|
2 | otex | |
|
3 | id | |
|
4 | 2fveq3 | |
|
5 | 3 4 | oveqan12d | |
6 | simpr | |
|
7 | 6 | fveq2d | |
8 | 5 7 | oveq12d | |
9 | simpl | |
|
10 | 6 | fveq2d | |
11 | 10 | fveq2d | |
12 | 9 | fveq2d | |
13 | 11 12 | opeq12d | |
14 | 9 13 | oveq12d | |
15 | 8 14 | oveq12d | |
16 | df-splice | |
|
17 | ovex | |
|
18 | 15 16 17 | ovmpoa | |
19 | 1 2 18 | sylancl | |
20 | 19 | adantr | |
21 | pfxcl | |
|
22 | 21 | adantr | |
23 | ot3rdg | |
|
24 | 23 | adantl | |
25 | simpr | |
|
26 | 24 25 | eqeltrd | |
27 | ccatcl | |
|
28 | 22 26 27 | syl2anc | |
29 | swrdcl | |
|
30 | 29 | adantr | |
31 | ccatcl | |
|
32 | 28 30 31 | syl2anc | |
33 | 20 32 | eqeltrd | |