Metamath Proof Explorer


Theorem swrdccatin1

Description: The subword of a concatenation of two words within the first of the concatenated words. (Contributed by Alexander van der Vekens, 28-Mar-2018)

Ref Expression
Assertion swrdccatin1 AWordVBWordVM0NN0AA++BsubstrMN=AsubstrMN

Proof

Step Hyp Ref Expression
1 oveq2 A=00A=00
2 1 eleq2d A=0N0AN00
3 elfz1eq N00N=0
4 elfz1eq M00M=0
5 swrd00 A++Bsubstr00=
6 swrd00 Asubstr00=
7 5 6 eqtr4i A++Bsubstr00=Asubstr00
8 opeq1 M=0M0=00
9 8 oveq2d M=0A++BsubstrM0=A++Bsubstr00
10 8 oveq2d M=0AsubstrM0=Asubstr00
11 7 9 10 3eqtr4a M=0A++BsubstrM0=AsubstrM0
12 4 11 syl M00A++BsubstrM0=AsubstrM0
13 oveq2 N=00N=00
14 13 eleq2d N=0M0NM00
15 opeq2 N=0MN=M0
16 15 oveq2d N=0A++BsubstrMN=A++BsubstrM0
17 15 oveq2d N=0AsubstrMN=AsubstrM0
18 16 17 eqeq12d N=0A++BsubstrMN=AsubstrMNA++BsubstrM0=AsubstrM0
19 14 18 imbi12d N=0M0NA++BsubstrMN=AsubstrMNM00A++BsubstrM0=AsubstrM0
20 12 19 mpbiri N=0M0NA++BsubstrMN=AsubstrMN
21 3 20 syl N00M0NA++BsubstrMN=AsubstrMN
22 2 21 syl6bi A=0N0AM0NA++BsubstrMN=AsubstrMN
23 22 impcomd A=0M0NN0AA++BsubstrMN=AsubstrMN
24 23 adantl AWordVBWordVA=0M0NN0AA++BsubstrMN=AsubstrMN
25 ccatcl AWordVBWordVA++BWordV
26 25 ad2antrr AWordVBWordVA0M0NN0AA++BWordV
27 simprl AWordVBWordVA0M0NN0AM0N
28 elfzelfzccat AWordVBWordVN0AN0A++B
29 28 imp AWordVBWordVN0AN0A++B
30 29 ad2ant2rl AWordVBWordVA0M0NN0AN0A++B
31 swrdvalfn A++BWordVM0NN0A++BA++BsubstrMNFn0..^NM
32 26 27 30 31 syl3anc AWordVBWordVA0M0NN0AA++BsubstrMNFn0..^NM
33 3anass AWordVM0NN0AAWordVM0NN0A
34 33 simplbi2 AWordVM0NN0AAWordVM0NN0A
35 34 ad2antrr AWordVBWordVA0M0NN0AAWordVM0NN0A
36 35 imp AWordVBWordVA0M0NN0AAWordVM0NN0A
37 swrdvalfn AWordVM0NN0AAsubstrMNFn0..^NM
38 36 37 syl AWordVBWordVA0M0NN0AAsubstrMNFn0..^NM
39 simp-4l AWordVBWordVA0M0NN0Ak0..^NMAWordV
40 simp-4r AWordVBWordVA0M0NN0Ak0..^NMBWordV
41 elfznn0 M0NM0
42 nn0addcl k0M0k+M0
43 42 expcom M0k0k+M0
44 41 43 syl M0Nk0k+M0
45 44 ad2antrl AWordVBWordVA0M0NN0Ak0k+M0
46 elfzonn0 k0..^NMk0
47 45 46 impel AWordVBWordVA0M0NN0Ak0..^NMk+M0
48 lencl AWordVA0
49 elnnne0 AA0A0
50 49 simplbi2 A0A0A
51 48 50 syl AWordVA0A
52 51 adantr AWordVBWordVA0A
53 52 imp AWordVBWordVA0A
54 53 ad2antrr AWordVBWordVA0M0NN0Ak0..^NMA
55 elfzo0 k0..^NMk0NMk<NM
56 elfz2nn0 N0AN0A0NA
57 nn0re k0k
58 57 ad2antrl N0A0k0M0k
59 nn0re M0M
60 59 ad2antll N0A0k0M0M
61 nn0re N0N
62 61 ad2antrr N0A0k0M0N
63 58 60 62 ltaddsubd N0A0k0M0k+M<Nk<NM
64 nn0readdcl k0M0k+M
65 64 adantl N0A0k0M0k+M
66 nn0re A0A
67 66 ad2antlr N0A0k0M0A
68 ltletr k+MNAk+M<NNAk+M<A
69 65 62 67 68 syl3anc N0A0k0M0k+M<NNAk+M<A
70 69 expd N0A0k0M0k+M<NNAk+M<A
71 63 70 sylbird N0A0k0M0k<NMNAk+M<A
72 71 ex N0A0k0M0k<NMNAk+M<A
73 72 com24 N0A0NAk<NMk0M0k+M<A
74 73 3impia N0A0NAk<NMk0M0k+M<A
75 74 com13 k0M0k<NMN0A0NAk+M<A
76 75 impancom k0k<NMM0N0A0NAk+M<A
77 76 3adant2 k0NMk<NMM0N0A0NAk+M<A
78 77 com13 N0A0NAM0k0NMk<NMk+M<A
79 56 78 sylbi N0AM0k0NMk<NMk+M<A
80 41 79 mpan9 M0NN0Ak0NMk<NMk+M<A
81 80 adantl AWordVBWordVA0M0NN0Ak0NMk<NMk+M<A
82 55 81 biimtrid AWordVBWordVA0M0NN0Ak0..^NMk+M<A
83 82 imp AWordVBWordVA0M0NN0Ak0..^NMk+M<A
84 elfzo0 k+M0..^Ak+M0Ak+M<A
85 47 54 83 84 syl3anbrc AWordVBWordVA0M0NN0Ak0..^NMk+M0..^A
86 ccatval1 AWordVBWordVk+M0..^AA++Bk+M=Ak+M
87 39 40 85 86 syl3anc AWordVBWordVA0M0NN0Ak0..^NMA++Bk+M=Ak+M
88 25 ad5ant12 AWordVBWordVA0M0NN0Ak0..^NMA++BWordV
89 simplrl AWordVBWordVA0M0NN0Ak0..^NMM0N
90 30 adantr AWordVBWordVA0M0NN0Ak0..^NMN0A++B
91 simpr AWordVBWordVA0M0NN0Ak0..^NMk0..^NM
92 swrdfv A++BWordVM0NN0A++Bk0..^NMA++BsubstrMNk=A++Bk+M
93 88 89 90 91 92 syl31anc AWordVBWordVA0M0NN0Ak0..^NMA++BsubstrMNk=A++Bk+M
94 swrdfv AWordVM0NN0Ak0..^NMAsubstrMNk=Ak+M
95 36 94 sylan AWordVBWordVA0M0NN0Ak0..^NMAsubstrMNk=Ak+M
96 87 93 95 3eqtr4d AWordVBWordVA0M0NN0Ak0..^NMA++BsubstrMNk=AsubstrMNk
97 32 38 96 eqfnfvd AWordVBWordVA0M0NN0AA++BsubstrMN=AsubstrMN
98 97 ex AWordVBWordVA0M0NN0AA++BsubstrMN=AsubstrMN
99 24 98 pm2.61dane AWordVBWordVM0NN0AA++BsubstrMN=AsubstrMN