Metamath Proof Explorer


Theorem spllen

Description: The length of a splice. (Contributed by Stefan O'Rear, 23-Aug-2015) (Proof shortened by AV, 15-Oct-2022)

Ref Expression
Hypotheses spllen.s φSWordA
spllen.f φF0T
spllen.t φT0S
spllen.r φRWordA
Assertion spllen φSspliceFTR=S+R-TF

Proof

Step Hyp Ref Expression
1 spllen.s φSWordA
2 spllen.f φF0T
3 spllen.t φT0S
4 spllen.r φRWordA
5 splval SWordAF0TT0SRWordASspliceFTR=SprefixF++R++SsubstrTS
6 1 2 3 4 5 syl13anc φSspliceFTR=SprefixF++R++SsubstrTS
7 6 fveq2d φSspliceFTR=SprefixF++R++SsubstrTS
8 pfxcl SWordASprefixFWordA
9 1 8 syl φSprefixFWordA
10 ccatcl SprefixFWordARWordASprefixF++RWordA
11 9 4 10 syl2anc φSprefixF++RWordA
12 swrdcl SWordASsubstrTSWordA
13 1 12 syl φSsubstrTSWordA
14 ccatlen SprefixF++RWordASsubstrTSWordASprefixF++R++SsubstrTS=SprefixF++R+SsubstrTS
15 11 13 14 syl2anc φSprefixF++R++SsubstrTS=SprefixF++R+SsubstrTS
16 lencl RWordAR0
17 16 nn0cnd RWordAR
18 4 17 syl φR
19 elfzelz F0TF
20 19 zcnd F0TF
21 2 20 syl φF
22 18 21 addcld φR+F
23 elfzel2 T0SS
24 23 zcnd T0SS
25 3 24 syl φS
26 elfzelz T0ST
27 26 zcnd T0ST
28 3 27 syl φT
29 22 25 28 addsub12d φR+F+ST=S+R+F-T
30 ccatlen SprefixFWordARWordASprefixF++R=SprefixF+R
31 9 4 30 syl2anc φSprefixF++R=SprefixF+R
32 elfzuz F0TF0
33 2 32 syl φF0
34 elfzuz3 T0SST
35 3 34 syl φST
36 elfzuz3 F0TTF
37 2 36 syl φTF
38 uztrn STTFSF
39 35 37 38 syl2anc φSF
40 elfzuzb F0SF0SF
41 33 39 40 sylanbrc φF0S
42 pfxlen SWordAF0SSprefixF=F
43 1 41 42 syl2anc φSprefixF=F
44 43 oveq1d φSprefixF+R=F+R
45 21 18 addcomd φF+R=R+F
46 31 44 45 3eqtrd φSprefixF++R=R+F
47 elfzuz2 T0SS0
48 eluzfz2 S0S0S
49 3 47 48 3syl φS0S
50 swrdlen SWordAT0SS0SSsubstrTS=ST
51 1 3 49 50 syl3anc φSsubstrTS=ST
52 46 51 oveq12d φSprefixF++R+SsubstrTS=R+F+ST
53 18 28 21 subsub3d φRTF=R+F-T
54 53 oveq2d φS+R-TF=S+R+F-T
55 29 52 54 3eqtr4d φSprefixF++R+SsubstrTS=S+R-TF
56 7 15 55 3eqtrd φSspliceFTR=S+R-TF