Metamath Proof Explorer


Theorem wwlksnextwrd

Description: Lemma for wwlksnextbij . (Contributed by Alexander van der Vekens, 5-Aug-2018) (Revised by AV, 18-Apr-2021) (Revised by AV, 27-Oct-2022)

Ref Expression
Hypotheses wwlksnextbij0.v V=VtxG
wwlksnextbij0.e E=EdgG
wwlksnextbij0.d D=wWordV|w=N+2wprefixN+1=WlastSWlastSwE
Assertion wwlksnextwrd WNWWalksNGD=wN+1WWalksNG|wprefixN+1=WlastSWlastSwE

Proof

Step Hyp Ref Expression
1 wwlksnextbij0.v V=VtxG
2 wwlksnextbij0.e E=EdgG
3 wwlksnextbij0.d D=wWordV|w=N+2wprefixN+1=WlastSWlastSwE
4 3anass w=N+2wprefixN+1=WlastSWlastSwEw=N+2wprefixN+1=WlastSWlastSwE
5 4 bianass wWordVw=N+2wprefixN+1=WlastSWlastSwEwWordVw=N+2wprefixN+1=WlastSWlastSwE
6 1 wwlknbp WNWWalksNGGVN0WWordV
7 simpl N0wWordVw=N+2wprefixN+1=WlastSWlastSwEN0
8 simpl wWordVw=N+2wWordV
9 nn0re N0N
10 2re 2
11 10 a1i N02
12 nn0ge0 N00N
13 2pos 0<2
14 13 a1i N00<2
15 9 11 12 14 addgegt0d N00<N+2
16 15 adantr N0wWordVw=N+20<N+2
17 breq2 w=N+20<w0<N+2
18 17 ad2antll N0wWordVw=N+20<w0<N+2
19 16 18 mpbird N0wWordVw=N+20<w
20 hashgt0n0 wWordV0<ww
21 8 19 20 syl2an2 N0wWordVw=N+2w
22 lswcl wWordVwlastSwV
23 8 21 22 syl2an2 N0wWordVw=N+2lastSwV
24 23 adantrr N0wWordVw=N+2wprefixN+1=WlastSWlastSwElastSwV
25 pfxcl wWordVwprefixN+1WordV
26 eleq1 W=wprefixN+1WWordVwprefixN+1WordV
27 25 26 imbitrrid W=wprefixN+1wWordVWWordV
28 27 eqcoms wprefixN+1=WwWordVWWordV
29 28 adantr wprefixN+1=WlastSWlastSwEwWordVWWordV
30 29 com12 wWordVwprefixN+1=WlastSWlastSwEWWordV
31 30 adantr wWordVw=N+2wprefixN+1=WlastSWlastSwEWWordV
32 31 imp wWordVw=N+2wprefixN+1=WlastSWlastSwEWWordV
33 32 adantl N0wWordVw=N+2wprefixN+1=WlastSWlastSwEWWordV
34 oveq1 W=wprefixN+1W++⟨“lastSw”⟩=wprefixN+1++⟨“lastSw”⟩
35 34 eqcoms wprefixN+1=WW++⟨“lastSw”⟩=wprefixN+1++⟨“lastSw”⟩
36 35 adantr wprefixN+1=WlastSWlastSwEW++⟨“lastSw”⟩=wprefixN+1++⟨“lastSw”⟩
37 36 ad2antll N0wWordVw=N+2wprefixN+1=WlastSWlastSwEW++⟨“lastSw”⟩=wprefixN+1++⟨“lastSw”⟩
38 oveq1 w=N+2w1=N+2-1
39 38 adantl wWordVw=N+2w1=N+2-1
40 nn0cn N0N
41 2cnd N02
42 1cnd N01
43 40 41 42 addsubassd N0N+2-1=N+2-1
44 2m1e1 21=1
45 44 a1i N021=1
46 45 oveq2d N0N+2-1=N+1
47 43 46 eqtrd N0N+2-1=N+1
48 39 47 sylan9eqr N0wWordVw=N+2w1=N+1
49 48 oveq2d N0wWordVw=N+2wprefixw1=wprefixN+1
50 49 oveq1d N0wWordVw=N+2wprefixw1++⟨“lastSw”⟩=wprefixN+1++⟨“lastSw”⟩
51 pfxlswccat wWordVwwprefixw1++⟨“lastSw”⟩=w
52 8 21 51 syl2an2 N0wWordVw=N+2wprefixw1++⟨“lastSw”⟩=w
53 50 52 eqtr3d N0wWordVw=N+2wprefixN+1++⟨“lastSw”⟩=w
54 53 adantrr N0wWordVw=N+2wprefixN+1=WlastSWlastSwEwprefixN+1++⟨“lastSw”⟩=w
55 37 54 eqtr2d N0wWordVw=N+2wprefixN+1=WlastSWlastSwEw=W++⟨“lastSw”⟩
56 simprrr N0wWordVw=N+2wprefixN+1=WlastSWlastSwElastSWlastSwE
57 1 2 wwlksnextbi N0lastSwVWWordVw=W++⟨“lastSw”⟩lastSWlastSwEwN+1WWalksNGWNWWalksNG
58 7 24 33 55 56 57 syl23anc N0wWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNGWNWWalksNG
59 58 exbiri N0wWordVw=N+2wprefixN+1=WlastSWlastSwEWNWWalksNGwN+1WWalksNG
60 59 com23 N0WNWWalksNGwWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNG
61 60 3ad2ant2 GVN0WWordVWNWWalksNGwWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNG
62 6 61 mpcom WNWWalksNGwWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNG
63 62 expcomd WNWWalksNGwprefixN+1=WlastSWlastSwEwWordVw=N+2wN+1WWalksNG
64 63 imp WNWWalksNGwprefixN+1=WlastSWlastSwEwWordVw=N+2wN+1WWalksNG
65 1 2 wwlknp wN+1WWalksNGwWordVw=N+1+1i0..^N+1wiwi+1E
66 40 42 42 addassd N0N+1+1=N+1+1
67 1p1e2 1+1=2
68 67 a1i N01+1=2
69 68 oveq2d N0N+1+1=N+2
70 66 69 eqtrd N0N+1+1=N+2
71 70 eqeq2d N0w=N+1+1w=N+2
72 71 biimpd N0w=N+1+1w=N+2
73 72 adantr N0WWordVw=N+1+1w=N+2
74 73 com12 w=N+1+1N0WWordVw=N+2
75 74 adantl wWordVw=N+1+1N0WWordVw=N+2
76 simpl wWordVw=N+1+1wWordV
77 75 76 jctild wWordVw=N+1+1N0WWordVwWordVw=N+2
78 77 3adant3 wWordVw=N+1+1i0..^N+1wiwi+1EN0WWordVwWordVw=N+2
79 65 78 syl wN+1WWalksNGN0WWordVwWordVw=N+2
80 79 com12 N0WWordVwN+1WWalksNGwWordVw=N+2
81 80 3adant1 GVN0WWordVwN+1WWalksNGwWordVw=N+2
82 6 81 syl WNWWalksNGwN+1WWalksNGwWordVw=N+2
83 82 adantr WNWWalksNGwprefixN+1=WlastSWlastSwEwN+1WWalksNGwWordVw=N+2
84 64 83 impbid WNWWalksNGwprefixN+1=WlastSWlastSwEwWordVw=N+2wN+1WWalksNG
85 84 ex WNWWalksNGwprefixN+1=WlastSWlastSwEwWordVw=N+2wN+1WWalksNG
86 85 pm5.32rd WNWWalksNGwWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNGwprefixN+1=WlastSWlastSwE
87 5 86 bitrid WNWWalksNGwWordVw=N+2wprefixN+1=WlastSWlastSwEwN+1WWalksNGwprefixN+1=WlastSWlastSwE
88 87 rabbidva2 WNWWalksNGwWordV|w=N+2wprefixN+1=WlastSWlastSwE=wN+1WWalksNG|wprefixN+1=WlastSWlastSwE
89 3 88 eqtrid WNWWalksNGD=wN+1WWalksNG|wprefixN+1=WlastSWlastSwE