Metamath Proof Explorer


Theorem pfxsuffeqwrdeq

Description: Two words are equal if and only if they have the same prefix and the same suffix. (Contributed by Alexander van der Vekens, 23-Sep-2018) (Revised by AV, 5-May-2020)

Ref Expression
Assertion pfxsuffeqwrdeq WWordVSWordVI0..^WW=SW=SWprefixI=SprefixIWsubstrIW=SsubstrIW

Proof

Step Hyp Ref Expression
1 eqwrd WWordVSWordVW=SW=Si0..^WWi=Si
2 1 3adant3 WWordVSWordVI0..^WW=SW=Si0..^WWi=Si
3 elfzofz I0..^WI0W
4 fzosplit I0W0..^W=0..^II..^W
5 3 4 syl I0..^W0..^W=0..^II..^W
6 5 3ad2ant3 WWordVSWordVI0..^W0..^W=0..^II..^W
7 6 adantr WWordVSWordVI0..^WW=S0..^W=0..^II..^W
8 7 raleqdv WWordVSWordVI0..^WW=Si0..^WWi=Sii0..^II..^WWi=Si
9 ralunb i0..^II..^WWi=Sii0..^IWi=SiiI..^WWi=Si
10 8 9 bitrdi WWordVSWordVI0..^WW=Si0..^WWi=Sii0..^IWi=SiiI..^WWi=Si
11 eqidd WWordVSWordVI0..^WW=SI=I
12 3simpa WWordVSWordVI0..^WWWordVSWordV
13 12 adantr WWordVSWordVI0..^WW=SWWordVSWordV
14 elfzonn0 I0..^WI0
15 14 14 jca I0..^WI0I0
16 15 3ad2ant3 WWordVSWordVI0..^WI0I0
17 16 adantr WWordVSWordVI0..^WW=SI0I0
18 elfzo0le I0..^WIW
19 18 3ad2ant3 WWordVSWordVI0..^WIW
20 19 adantr WWordVSWordVI0..^WW=SIW
21 breq2 W=SIWIS
22 21 adantl WWordVSWordVI0..^WW=SIWIS
23 20 22 mpbid WWordVSWordVI0..^WW=SIS
24 pfxeq WWordVSWordVI0I0IWISWprefixI=SprefixII=Ii0..^IWi=Si
25 13 17 20 23 24 syl112anc WWordVSWordVI0..^WW=SWprefixI=SprefixII=Ii0..^IWi=Si
26 11 25 mpbirand WWordVSWordVI0..^WW=SWprefixI=SprefixIi0..^IWi=Si
27 lencl WWordVW0
28 27 14 anim12ci WWordVI0..^WI0W0
29 28 3adant2 WWordVSWordVI0..^WI0W0
30 29 adantr WWordVSWordVI0..^WW=SI0W0
31 27 nn0red WWordVW
32 31 leidd WWordVWW
33 32 adantr WWordVW=SWW
34 eqle WW=SWS
35 31 34 sylan WWordVW=SWS
36 33 35 jca WWordVW=SWWWS
37 36 3ad2antl1 WWordVSWordVI0..^WW=SWWWS
38 swrdspsleq WWordVSWordVI0W0WWWSWsubstrIW=SsubstrIWiI..^WWi=Si
39 13 30 37 38 syl3anc WWordVSWordVI0..^WW=SWsubstrIW=SsubstrIWiI..^WWi=Si
40 26 39 anbi12d WWordVSWordVI0..^WW=SWprefixI=SprefixIWsubstrIW=SsubstrIWi0..^IWi=SiiI..^WWi=Si
41 10 40 bitr4d WWordVSWordVI0..^WW=Si0..^WWi=SiWprefixI=SprefixIWsubstrIW=SsubstrIW
42 41 pm5.32da WWordVSWordVI0..^WW=Si0..^WWi=SiW=SWprefixI=SprefixIWsubstrIW=SsubstrIW
43 2 42 bitrd WWordVSWordVI0..^WW=SW=SWprefixI=SprefixIWsubstrIW=SsubstrIW