Metamath Proof Explorer


Theorem swrdpfx

Description: A subword of a prefix is a subword. (Contributed by Alexander van der Vekens, 6-Apr-2018) (Revised by AV, 8-May-2020)

Ref Expression
Assertion swrdpfx WWordVN0WK0NLKNWprefixNsubstrKL=WsubstrKL

Proof

Step Hyp Ref Expression
1 elfznn0 N0WN0
2 1 anim2i WWordVN0WWWordVN0
3 2 adantr WWordVN0WK0NLKNWWordVN0
4 pfxval WWordVN0WprefixN=Wsubstr0N
5 3 4 syl WWordVN0WK0NLKNWprefixN=Wsubstr0N
6 5 oveq1d WWordVN0WK0NLKNWprefixNsubstrKL=Wsubstr0NsubstrKL
7 simpl WWordVN0WWWordV
8 simpr WWordVN0WN0W
9 0elfz N000N
10 1 9 syl N0W00N
11 10 adantl WWordVN0W00N
12 7 8 11 3jca WWordVN0WWWordVN0W00N
13 12 adantr WWordVN0WK0NLKNWWordVN0W00N
14 elfzelz N0WN
15 zcn NN
16 15 subid1d NN0=N
17 16 eqcomd NN=N0
18 14 17 syl N0WN=N0
19 18 adantl WWordVN0WN=N0
20 19 oveq2d WWordVN0W0N=0N0
21 20 eleq2d WWordVN0WK0NK0N0
22 19 oveq2d WWordVN0WKN=KN0
23 22 eleq2d WWordVN0WLKNLKN0
24 21 23 anbi12d WWordVN0WK0NLKNK0N0LKN0
25 24 biimpa WWordVN0WK0NLKNK0N0LKN0
26 swrdswrd WWordVN0W00NK0N0LKN0Wsubstr0NsubstrKL=Wsubstr0+K0+L
27 13 25 26 sylc WWordVN0WK0NLKNWsubstr0NsubstrKL=Wsubstr0+K0+L
28 elfzelz K0NK
29 28 zcnd K0NK
30 29 adantr K0NLKNK
31 30 adantl WWordVN0WK0NLKNK
32 31 addlidd WWordVN0WK0NLKN0+K=K
33 elfzelz LKNL
34 33 zcnd LKNL
35 34 adantl K0NLKNL
36 35 adantl WWordVN0WK0NLKNL
37 36 addlidd WWordVN0WK0NLKN0+L=L
38 32 37 opeq12d WWordVN0WK0NLKN0+K0+L=KL
39 38 oveq2d WWordVN0WK0NLKNWsubstr0+K0+L=WsubstrKL
40 6 27 39 3eqtrd WWordVN0WK0NLKNWprefixNsubstrKL=WsubstrKL
41 40 ex WWordVN0WK0NLKNWprefixNsubstrKL=WsubstrKL