Metamath Proof Explorer


Theorem swrdccat3blem

Description: Lemma for swrdccat3b . (Contributed by AV, 30-May-2018)

Ref Expression
Hypothesis swrdccatin2.l L=A
Assertion swrdccat3blem AWordVBWordVM0L+BL+BLifLMBsubstrMLBAsubstrML++B=AsubstrML+B

Proof

Step Hyp Ref Expression
1 swrdccatin2.l L=A
2 lencl BWordVB0
3 nn0le0eq0 B0B0B=0
4 3 biimpd B0B0B=0
5 2 4 syl BWordVB0B=0
6 5 adantl AWordVBWordVB0B=0
7 hasheq0 BWordVB=0B=
8 7 biimpd BWordVB=0B=
9 8 adantl AWordVBWordVB=0B=
10 9 imp AWordVBWordVB=0B=
11 lencl AWordVA0
12 1 eqcomi A=L
13 12 eleq1i A0L0
14 nn0re L0L
15 elfz2nn0 M0L+0M0L+00ML+0
16 recn LL
17 16 addridd LL+0=L
18 17 breq2d LML+0ML
19 nn0re M0M
20 19 anim1i M0LML
21 20 ancoms LM0ML
22 letri3 MLM=LMLLM
23 21 22 syl LM0M=LMLLM
24 23 biimprd LM0MLLMM=L
25 24 exp4b LM0MLLMM=L
26 25 com23 LMLM0LMM=L
27 18 26 sylbid LML+0M0LMM=L
28 27 com3l ML+0M0LLMM=L
29 28 impcom M0ML+0LLMM=L
30 29 3adant2 M0L+00ML+0LLMM=L
31 30 com12 LM0L+00ML+0LMM=L
32 15 31 biimtrid LM0L+0LMM=L
33 14 32 syl L0M0L+0LMM=L
34 13 33 sylbi A0M0L+0LMM=L
35 11 34 syl AWordVM0L+0LMM=L
36 35 imp AWordVM0L+0LMM=L
37 elfznn0 M0L+0M0
38 swrd00 substr00=
39 swrd00 AsubstrLL=
40 38 39 eqtr4i substr00=AsubstrLL
41 nn0cn L0L
42 41 subidd L0LL=0
43 42 opeq1d L0LL0=00
44 43 oveq2d L0substrLL0=substr00
45 41 addridd L0L+0=L
46 45 opeq2d L0LL+0=LL
47 46 oveq2d L0AsubstrLL+0=AsubstrLL
48 40 44 47 3eqtr4a L0substrLL0=AsubstrLL+0
49 48 a1i M=LL0substrLL0=AsubstrLL+0
50 eleq1 M=LM0L0
51 oveq1 M=LML=LL
52 51 opeq1d M=LML0=LL0
53 52 oveq2d M=LsubstrML0=substrLL0
54 opeq1 M=LML+0=LL+0
55 54 oveq2d M=LAsubstrML+0=AsubstrLL+0
56 53 55 eqeq12d M=LsubstrML0=AsubstrML+0substrLL0=AsubstrLL+0
57 49 50 56 3imtr4d M=LM0substrML0=AsubstrML+0
58 57 com12 M0M=LsubstrML0=AsubstrML+0
59 58 a1d M0AWordVM=LsubstrML0=AsubstrML+0
60 37 59 syl M0L+0AWordVM=LsubstrML0=AsubstrML+0
61 60 impcom AWordVM0L+0M=LsubstrML0=AsubstrML+0
62 36 61 syld AWordVM0L+0LMsubstrML0=AsubstrML+0
63 62 imp AWordVM0L+0LMsubstrML0=AsubstrML+0
64 swrdcl AWordVAsubstrMLWordV
65 ccatrid AsubstrMLWordVAsubstrML++=AsubstrML
66 64 65 syl AWordVAsubstrML++=AsubstrML
67 13 41 sylbi A0L
68 11 67 syl AWordVL
69 addrid LL+0=L
70 69 eqcomd LL=L+0
71 68 70 syl AWordVL=L+0
72 71 opeq2d AWordVML=ML+0
73 72 oveq2d AWordVAsubstrML=AsubstrML+0
74 66 73 eqtrd AWordVAsubstrML++=AsubstrML+0
75 74 adantr AWordVM0L+0AsubstrML++=AsubstrML+0
76 75 adantr AWordVM0L+0¬LMAsubstrML++=AsubstrML+0
77 63 76 ifeqda AWordVM0L+0ifLMsubstrML0AsubstrML++=AsubstrML+0
78 77 ex AWordVM0L+0ifLMsubstrML0AsubstrML++=AsubstrML+0
79 78 ad3antrrr AWordVBWordVB=0B=M0L+0ifLMsubstrML0AsubstrML++=AsubstrML+0
80 oveq2 B=0L+B=L+0
81 80 oveq2d B=00L+B=0L+0
82 81 eleq2d B=0M0L+BM0L+0
83 82 adantr B=0B=M0L+BM0L+0
84 simpr B=0B=B=
85 opeq2 B=0MLB=ML0
86 85 adantr B=0B=MLB=ML0
87 84 86 oveq12d B=0B=BsubstrMLB=substrML0
88 oveq2 B=AsubstrML++B=AsubstrML++
89 88 adantl B=0B=AsubstrML++B=AsubstrML++
90 87 89 ifeq12d B=0B=ifLMBsubstrMLBAsubstrML++B=ifLMsubstrML0AsubstrML++
91 80 opeq2d B=0ML+B=ML+0
92 91 oveq2d B=0AsubstrML+B=AsubstrML+0
93 92 adantr B=0B=AsubstrML+B=AsubstrML+0
94 90 93 eqeq12d B=0B=ifLMBsubstrMLBAsubstrML++B=AsubstrML+BifLMsubstrML0AsubstrML++=AsubstrML+0
95 83 94 imbi12d B=0B=M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+BM0L+0ifLMsubstrML0AsubstrML++=AsubstrML+0
96 95 adantll AWordVBWordVB=0B=M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+BM0L+0ifLMsubstrML0AsubstrML++=AsubstrML+0
97 79 96 mpbird AWordVBWordVB=0B=M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+B
98 10 97 mpdan AWordVBWordVB=0M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+B
99 98 ex AWordVBWordVB=0M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+B
100 6 99 syld AWordVBWordVB0M0L+BifLMBsubstrMLBAsubstrML++B=AsubstrML+B
101 100 com23 AWordVBWordVM0L+BB0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
102 101 imp AWordVBWordVM0L+BB0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
103 102 adantr AWordVBWordVM0L+BL+BLB0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
104 1 eleq1i L0A0
105 104 14 sylbir A0L
106 11 105 syl AWordVL
107 2 nn0red BWordVB
108 leaddle0 LBL+BLB0
109 106 107 108 syl2an AWordVBWordVL+BLB0
110 pm2.24 B0¬B0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
111 109 110 syl6bi AWordVBWordVL+BL¬B0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
112 111 adantr AWordVBWordVM0L+BL+BL¬B0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
113 112 imp AWordVBWordVM0L+BL+BL¬B0ifLMBsubstrMLBAsubstrML++B=AsubstrML+B
114 103 113 pm2.61d AWordVBWordVM0L+BL+BLifLMBsubstrMLBAsubstrML++B=AsubstrML+B