Metamath Proof Explorer


Theorem swrdccat3b

Description: A suffix of a concatenation is either a suffix of the second concatenated word or a concatenation of a suffix of the first word with the second word. (Contributed by Alexander van der Vekens, 31-Mar-2018) (Revised by Alexander van der Vekens, 30-May-2018) (Proof shortened by AV, 14-Oct-2022)

Ref Expression
Hypothesis swrdccatin2.l L=A
Assertion swrdccat3b AWordVBWordVM0L+BA++BsubstrML+B=ifLMBsubstrMLBAsubstrML++B

Proof

Step Hyp Ref Expression
1 swrdccatin2.l L=A
2 simpl AWordVBWordVM0L+BAWordVBWordV
3 simpr AWordVBWordVM0L+BM0L+B
4 elfzubelfz M0L+BL+B0L+B
5 4 adantl AWordVBWordVM0L+BL+B0L+B
6 1 pfxccat3 AWordVBWordVM0L+BL+B0L+BA++BsubstrML+B=ifL+BLAsubstrML+BifLMBsubstrMLL+B-LAsubstrML++BprefixL+B-L
7 6 imp AWordVBWordVM0L+BL+B0L+BA++BsubstrML+B=ifL+BLAsubstrML+BifLMBsubstrMLL+B-LAsubstrML++BprefixL+B-L
8 2 3 5 7 syl12anc AWordVBWordVM0L+BA++BsubstrML+B=ifL+BLAsubstrML+BifLMBsubstrMLL+B-LAsubstrML++BprefixL+B-L
9 1 swrdccat3blem AWordVBWordVM0L+BL+BLifLMBsubstrMLBAsubstrML++B=AsubstrML+B
10 iftrue LMifLMBsubstrMLBAsubstrML++B=BsubstrMLB
11 10 3ad2ant3 AWordVBWordVM0L+B¬L+BLLMifLMBsubstrMLBAsubstrML++B=BsubstrMLB
12 lencl AWordVA0
13 12 nn0cnd AWordVA
14 lencl BWordVB0
15 14 nn0cnd BWordVB
16 1 eqcomi A=L
17 16 eleq1i AL
18 pncan2 LBL+B-L=B
19 17 18 sylanb ABL+B-L=B
20 13 15 19 syl2an AWordVBWordVL+B-L=B
21 20 eqcomd AWordVBWordVB=L+B-L
22 21 adantr AWordVBWordVM0L+BB=L+B-L
23 22 3ad2ant1 AWordVBWordVM0L+B¬L+BLLMB=L+B-L
24 23 opeq2d AWordVBWordVM0L+B¬L+BLLMMLB=MLL+B-L
25 24 oveq2d AWordVBWordVM0L+B¬L+BLLMBsubstrMLB=BsubstrMLL+B-L
26 11 25 eqtrd AWordVBWordVM0L+B¬L+BLLMifLMBsubstrMLBAsubstrML++B=BsubstrMLL+B-L
27 iffalse ¬LMifLMBsubstrMLBAsubstrML++B=AsubstrML++B
28 27 3ad2ant3 AWordVBWordVM0L+B¬L+BL¬LMifLMBsubstrMLBAsubstrML++B=AsubstrML++B
29 20 adantr AWordVBWordVM0L+BL+B-L=B
30 29 3ad2ant1 AWordVBWordVM0L+B¬L+BL¬LML+B-L=B
31 30 oveq2d AWordVBWordVM0L+B¬L+BL¬LMBprefixL+B-L=BprefixB
32 pfxid BWordVBprefixB=B
33 32 adantl AWordVBWordVBprefixB=B
34 33 adantr AWordVBWordVM0L+BBprefixB=B
35 34 3ad2ant1 AWordVBWordVM0L+B¬L+BL¬LMBprefixB=B
36 31 35 eqtr2d AWordVBWordVM0L+B¬L+BL¬LMB=BprefixL+B-L
37 36 oveq2d AWordVBWordVM0L+B¬L+BL¬LMAsubstrML++B=AsubstrML++BprefixL+B-L
38 28 37 eqtrd AWordVBWordVM0L+B¬L+BL¬LMifLMBsubstrMLBAsubstrML++B=AsubstrML++BprefixL+B-L
39 9 26 38 2if2 AWordVBWordVM0L+BifLMBsubstrMLBAsubstrML++B=ifL+BLAsubstrML+BifLMBsubstrMLL+B-LAsubstrML++BprefixL+B-L
40 8 39 eqtr4d AWordVBWordVM0L+BA++BsubstrML+B=ifLMBsubstrMLBAsubstrML++B
41 40 ex AWordVBWordVM0L+BA++BsubstrML+B=ifLMBsubstrMLBAsubstrML++B