Metamath Proof Explorer


Theorem pfxsuff1eqwrdeq

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

Ref Expression
Assertion pfxsuff1eqwrdeq WWordVUWordV0<WW=UW=UWprefixW1=UprefixW1lastSW=lastSU

Proof

Step Hyp Ref Expression
1 hashgt0n0 WWordV0<WW
2 lennncl WWordVWW
3 1 2 syldan WWordV0<WW
4 3 3adant2 WWordVUWordV0<WW
5 fzo0end WW10..^W
6 4 5 syl WWordVUWordV0<WW10..^W
7 pfxsuffeqwrdeq WWordVUWordVW10..^WW=UW=UWprefixW1=UprefixW1WsubstrW1W=UsubstrW1W
8 6 7 syld3an3 WWordVUWordV0<WW=UW=UWprefixW1=UprefixW1WsubstrW1W=UsubstrW1W
9 hashneq0 WWordV0<WW
10 9 biimpd WWordV0<WW
11 10 imdistani WWordV0<WWWordVW
12 11 3adant2 WWordVUWordV0<WWWordVW
13 12 adantr WWordVUWordV0<WW=UWWordVW
14 swrdlsw WWordVWWsubstrW1W=⟨“lastSW”⟩
15 13 14 syl WWordVUWordV0<WW=UWsubstrW1W=⟨“lastSW”⟩
16 breq2 W=U0<W0<U
17 16 3anbi3d W=UWWordVUWordV0<WWWordVUWordV0<U
18 hashneq0 UWordV0<UU
19 18 biimpd UWordV0<UU
20 19 imdistani UWordV0<UUWordVU
21 20 3adant1 WWordVUWordV0<UUWordVU
22 swrdlsw UWordVUUsubstrU1U=⟨“lastSU”⟩
23 21 22 syl WWordVUWordV0<UUsubstrU1U=⟨“lastSU”⟩
24 17 23 syl6bi W=UWWordVUWordV0<WUsubstrU1U=⟨“lastSU”⟩
25 24 impcom WWordVUWordV0<WW=UUsubstrU1U=⟨“lastSU”⟩
26 oveq1 W=UW1=U1
27 id W=UW=U
28 26 27 opeq12d W=UW1W=U1U
29 28 oveq2d W=UUsubstrW1W=UsubstrU1U
30 29 eqeq1d W=UUsubstrW1W=⟨“lastSU”⟩UsubstrU1U=⟨“lastSU”⟩
31 30 adantl WWordVUWordV0<WW=UUsubstrW1W=⟨“lastSU”⟩UsubstrU1U=⟨“lastSU”⟩
32 25 31 mpbird WWordVUWordV0<WW=UUsubstrW1W=⟨“lastSU”⟩
33 15 32 eqeq12d WWordVUWordV0<WW=UWsubstrW1W=UsubstrW1W⟨“lastSW”⟩=⟨“lastSU”⟩
34 fvexd WWordVUWordV0<WW=UlastSWV
35 fvex lastSUV
36 s111 lastSWVlastSUV⟨“lastSW”⟩=⟨“lastSU”⟩lastSW=lastSU
37 34 35 36 sylancl WWordVUWordV0<WW=U⟨“lastSW”⟩=⟨“lastSU”⟩lastSW=lastSU
38 33 37 bitrd WWordVUWordV0<WW=UWsubstrW1W=UsubstrW1WlastSW=lastSU
39 38 anbi2d WWordVUWordV0<WW=UWprefixW1=UprefixW1WsubstrW1W=UsubstrW1WWprefixW1=UprefixW1lastSW=lastSU
40 39 pm5.32da WWordVUWordV0<WW=UWprefixW1=UprefixW1WsubstrW1W=UsubstrW1WW=UWprefixW1=UprefixW1lastSW=lastSU
41 8 40 bitrd WWordVUWordV0<WW=UW=UWprefixW1=UprefixW1lastSW=lastSU