Metamath Proof Explorer


Theorem reuccatpfxs1

Description: There is a unique word having the length of a given word increased by 1 with the given word as prefix if there is a unique symbol which extends the given word. (Contributed by Alexander van der Vekens, 6-Oct-2018) (Revised by AV, 21-Jan-2022) (Revised by AV, 13-Oct-2022)

Ref Expression
Hypothesis reuccatpfxs1.1 _vX
Assertion reuccatpfxs1 WWordVxXxWordVx=W+1∃!vVW++⟨“v”⟩X∃!xXW=xprefixW

Proof

Step Hyp Ref Expression
1 reuccatpfxs1.1 _vX
2 eleq1w x=yxWordVyWordV
3 fveqeq2 x=yx=W+1y=W+1
4 2 3 anbi12d x=yxWordVx=W+1yWordVy=W+1
5 4 cbvralvw xXxWordVx=W+1yXyWordVy=W+1
6 1 nfel2 vW++⟨“u”⟩X
7 1 nfel2 vW++⟨“x”⟩X
8 s1eq v=x⟨“v”⟩=⟨“x”⟩
9 8 oveq2d v=xW++⟨“v”⟩=W++⟨“x”⟩
10 9 eleq1d v=xW++⟨“v”⟩XW++⟨“x”⟩X
11 s1eq x=u⟨“x”⟩=⟨“u”⟩
12 11 oveq2d x=uW++⟨“x”⟩=W++⟨“u”⟩
13 12 eleq1d x=uW++⟨“x”⟩XW++⟨“u”⟩X
14 6 7 10 13 reu8nf ∃!vVW++⟨“v”⟩XvVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=u
15 nfv vWWordV
16 nfv vyWordVy=W+1
17 1 16 nfralw vyXyWordVy=W+1
18 15 17 nfan vWWordVyXyWordVy=W+1
19 nfv vW=xprefixW
20 1 19 nfreuw v∃!xXW=xprefixW
21 simprl WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uW++⟨“v”⟩X
22 simpl WWordVyXyWordVy=W+1WWordV
23 22 ad2antrr WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uWWordV
24 23 anim1i WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXWWordVxX
25 simplrr WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXuVW++⟨“u”⟩Xv=u
26 simp-4r WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXyXyWordVy=W+1
27 reuccatpfxs1lem WWordVxXuVW++⟨“u”⟩Xv=uyXyWordVy=W+1W=xprefixWx=W++⟨“v”⟩
28 24 25 26 27 syl3anc WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXW=xprefixWx=W++⟨“v”⟩
29 oveq1 x=W++⟨“v”⟩xprefixW=W++⟨“v”⟩prefixW
30 s1cl vV⟨“v”⟩WordV
31 22 30 anim12i WWordVyXyWordVy=W+1vVWWordV⟨“v”⟩WordV
32 31 ad2antrr WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXWWordV⟨“v”⟩WordV
33 pfxccat1 WWordV⟨“v”⟩WordVW++⟨“v”⟩prefixW=W
34 32 33 syl WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXW++⟨“v”⟩prefixW=W
35 29 34 sylan9eqr WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXx=W++⟨“v”⟩xprefixW=W
36 35 eqcomd WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXx=W++⟨“v”⟩W=xprefixW
37 36 ex WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXx=W++⟨“v”⟩W=xprefixW
38 28 37 impbid WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXW=xprefixWx=W++⟨“v”⟩
39 38 ralrimiva WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=uxXW=xprefixWx=W++⟨“v”⟩
40 reu6i W++⟨“v”⟩XxXW=xprefixWx=W++⟨“v”⟩∃!xXW=xprefixW
41 21 39 40 syl2anc WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=u∃!xXW=xprefixW
42 41 exp31 WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=u∃!xXW=xprefixW
43 18 20 42 rexlimd WWordVyXyWordVy=W+1vVW++⟨“v”⟩XuVW++⟨“u”⟩Xv=u∃!xXW=xprefixW
44 14 43 biimtrid WWordVyXyWordVy=W+1∃!vVW++⟨“v”⟩X∃!xXW=xprefixW
45 5 44 sylan2b WWordVxXxWordVx=W+1∃!vVW++⟨“v”⟩X∃!xXW=xprefixW