Metamath Proof Explorer


Theorem splcl

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 SWordARWordASspliceFTRWordA

Proof

Step Hyp Ref Expression
1 elex SWordASV
2 otex FTRV
3 id s=Ss=S
4 2fveq3 b=FTR1st1stb=1st1stFTR
5 3 4 oveqan12d s=Sb=FTRsprefix1st1stb=Sprefix1st1stFTR
6 simpr s=Sb=FTRb=FTR
7 6 fveq2d s=Sb=FTR2ndb=2ndFTR
8 5 7 oveq12d s=Sb=FTRsprefix1st1stb++2ndb=Sprefix1st1stFTR++2ndFTR
9 simpl s=Sb=FTRs=S
10 6 fveq2d s=Sb=FTR1stb=1stFTR
11 10 fveq2d s=Sb=FTR2nd1stb=2nd1stFTR
12 9 fveq2d s=Sb=FTRs=S
13 11 12 opeq12d s=Sb=FTR2nd1stbs=2nd1stFTRS
14 9 13 oveq12d s=Sb=FTRssubstr2nd1stbs=Ssubstr2nd1stFTRS
15 8 14 oveq12d s=Sb=FTRsprefix1st1stb++2ndb++ssubstr2nd1stbs=Sprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRS
16 df-splice splice=sV,bVsprefix1st1stb++2ndb++ssubstr2nd1stbs
17 ovex Sprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRSV
18 15 16 17 ovmpoa SVFTRVSspliceFTR=Sprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRS
19 1 2 18 sylancl SWordASspliceFTR=Sprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRS
20 19 adantr SWordARWordASspliceFTR=Sprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRS
21 pfxcl SWordASprefix1st1stFTRWordA
22 21 adantr SWordARWordASprefix1st1stFTRWordA
23 ot3rdg RWordA2ndFTR=R
24 23 adantl SWordARWordA2ndFTR=R
25 simpr SWordARWordARWordA
26 24 25 eqeltrd SWordARWordA2ndFTRWordA
27 ccatcl Sprefix1st1stFTRWordA2ndFTRWordASprefix1st1stFTR++2ndFTRWordA
28 22 26 27 syl2anc SWordARWordASprefix1st1stFTR++2ndFTRWordA
29 swrdcl SWordASsubstr2nd1stFTRSWordA
30 29 adantr SWordARWordASsubstr2nd1stFTRSWordA
31 ccatcl Sprefix1st1stFTR++2ndFTRWordASsubstr2nd1stFTRSWordASprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRSWordA
32 28 30 31 syl2anc SWordARWordASprefix1st1stFTR++2ndFTR++Ssubstr2nd1stFTRSWordA
33 20 32 eqeltrd SWordARWordASspliceFTRWordA