Metamath Proof Explorer


Theorem pfxeq

Description: The prefixes of two words are equal iff they have the same length and the same symbols at each position. (Contributed by Alexander van der Vekens, 7-Aug-2018) (Revised by AV, 4-May-2020)

Ref Expression
Assertion pfxeq WWordVUWordVM0N0MWNUWprefixM=UprefixNM=Ni0..^MWi=Ui

Proof

Step Hyp Ref Expression
1 pfxcl WWordVWprefixMWordV
2 pfxcl UWordVUprefixNWordV
3 eqwrd WprefixMWordVUprefixNWordVWprefixM=UprefixNWprefixM=UprefixNi0..^WprefixMWprefixMi=UprefixNi
4 1 2 3 syl2an WWordVUWordVWprefixM=UprefixNWprefixM=UprefixNi0..^WprefixMWprefixMi=UprefixNi
5 4 3ad2ant2 M0N0WWordVUWordVMWNUWprefixM=UprefixNWprefixM=UprefixNi0..^WprefixMWprefixMi=UprefixNi
6 simp2l M0N0WWordVUWordVMWNUWWordV
7 simpl M0N0M0
8 lencl WWordVW0
9 8 adantr WWordVUWordVW0
10 simpl MWNUMW
11 7 9 10 3anim123i M0N0WWordVUWordVMWNUM0W0MW
12 elfz2nn0 M0WM0W0MW
13 11 12 sylibr M0N0WWordVUWordVMWNUM0W
14 pfxlen WWordVM0WWprefixM=M
15 6 13 14 syl2anc M0N0WWordVUWordVMWNUWprefixM=M
16 simp2r M0N0WWordVUWordVMWNUUWordV
17 simpr M0N0N0
18 lencl UWordVU0
19 18 adantl WWordVUWordVU0
20 simpr MWNUNU
21 17 19 20 3anim123i M0N0WWordVUWordVMWNUN0U0NU
22 elfz2nn0 N0UN0U0NU
23 21 22 sylibr M0N0WWordVUWordVMWNUN0U
24 pfxlen UWordVN0UUprefixN=N
25 16 23 24 syl2anc M0N0WWordVUWordVMWNUUprefixN=N
26 15 25 eqeq12d M0N0WWordVUWordVMWNUWprefixM=UprefixNM=N
27 26 anbi1d M0N0WWordVUWordVMWNUWprefixM=UprefixNi0..^WprefixMWprefixMi=UprefixNiM=Ni0..^WprefixMWprefixMi=UprefixNi
28 15 adantr M0N0WWordVUWordVMWNUM=NWprefixM=M
29 28 oveq2d M0N0WWordVUWordVMWNUM=N0..^WprefixM=0..^M
30 29 raleqdv M0N0WWordVUWordVMWNUM=Ni0..^WprefixMWprefixMi=UprefixNii0..^MWprefixMi=UprefixNi
31 6 ad2antrr M0N0WWordVUWordVMWNUM=Ni0..^MWWordV
32 13 ad2antrr M0N0WWordVUWordVMWNUM=Ni0..^MM0W
33 simpr M0N0WWordVUWordVMWNUM=Ni0..^Mi0..^M
34 pfxfv WWordVM0Wi0..^MWprefixMi=Wi
35 31 32 33 34 syl3anc M0N0WWordVUWordVMWNUM=Ni0..^MWprefixMi=Wi
36 16 ad2antrr M0N0WWordVUWordVMWNUM=Ni0..^MUWordV
37 23 ad2antrr M0N0WWordVUWordVMWNUM=Ni0..^MN0U
38 oveq2 M=N0..^M=0..^N
39 38 eleq2d M=Ni0..^Mi0..^N
40 39 adantl M0N0WWordVUWordVMWNUM=Ni0..^Mi0..^N
41 40 biimpa M0N0WWordVUWordVMWNUM=Ni0..^Mi0..^N
42 pfxfv UWordVN0Ui0..^NUprefixNi=Ui
43 36 37 41 42 syl3anc M0N0WWordVUWordVMWNUM=Ni0..^MUprefixNi=Ui
44 35 43 eqeq12d M0N0WWordVUWordVMWNUM=Ni0..^MWprefixMi=UprefixNiWi=Ui
45 44 ralbidva M0N0WWordVUWordVMWNUM=Ni0..^MWprefixMi=UprefixNii0..^MWi=Ui
46 30 45 bitrd M0N0WWordVUWordVMWNUM=Ni0..^WprefixMWprefixMi=UprefixNii0..^MWi=Ui
47 46 pm5.32da M0N0WWordVUWordVMWNUM=Ni0..^WprefixMWprefixMi=UprefixNiM=Ni0..^MWi=Ui
48 5 27 47 3bitrd M0N0WWordVUWordVMWNUWprefixM=UprefixNM=Ni0..^MWi=Ui
49 48 3com12 WWordVUWordVM0N0MWNUWprefixM=UprefixNM=Ni0..^MWi=Ui