Metamath Proof Explorer


Theorem clwwlknonwwlknonb

Description: A word over vertices represents a closed walk of a fixed length N on vertex X iff the word concatenated with X represents a walk of length N on X and X . This theorem would not hold for N = 0 and W = (/) , see clwwlknwwlksnb . (Contributed by AV, 4-Mar-2022) (Revised by AV, 27-Mar-2022)

Ref Expression
Hypothesis clwwlknonwwlknonb.v V=VtxG
Assertion clwwlknonwwlknonb WWordVNWXClWWalksNOnGNW++⟨“X”⟩XNWWalksNOnGX

Proof

Step Hyp Ref Expression
1 clwwlknonwwlknonb.v V=VtxG
2 isclwwlknon WXClWWalksNOnGNWNClWWalksNGW0=X
3 3anan32 W++⟨“X”⟩NWWalksNGW++⟨“X”⟩0=XW++⟨“X”⟩N=XW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=X
4 s1eq W0=X⟨“W0”⟩=⟨“X”⟩
5 4 oveq2d W0=XW++⟨“W0”⟩=W++⟨“X”⟩
6 5 eleq1d W0=XW++⟨“W0”⟩NWWalksNGW++⟨“X”⟩NWWalksNG
7 6 biimpac W++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩NWWalksNG
8 7 adantl WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩NWWalksNG
9 fvex W0V
10 eleq1 W0=XW0VXV
11 9 10 mpbii W0=XXV
12 eqid EdgG=EdgG
13 1 12 wwlknp W++⟨“X”⟩NWWalksNGW++⟨“X”⟩WordVW++⟨“X”⟩=N+1i0..^NW++⟨“X”⟩iW++⟨“X”⟩i+1EdgG
14 simprrl W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNWWordV
15 simpl WWordVNWWordV
16 15 anim2i XVWWordVNXVWWordV
17 16 ancomd XVWWordVNWWordVXV
18 ccats1alpha WWordVXVW++⟨“X”⟩WordVWWordVXV
19 17 18 syl XVWWordVNW++⟨“X”⟩WordVWWordVXV
20 simpr WWordVXVXV
21 19 20 syl6bi XVWWordVNW++⟨“X”⟩WordVXV
22 21 com12 W++⟨“X”⟩WordVXVWWordVNXV
23 22 adantr W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNXV
24 23 imp W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNXV
25 nnnn0 NN0
26 ccatws1lenp1b WWordVN0W++⟨“X”⟩=N+1W=N
27 25 26 sylan2 WWordVNW++⟨“X”⟩=N+1W=N
28 27 biimpd WWordVNW++⟨“X”⟩=N+1W=N
29 28 adantl XVWWordVNW++⟨“X”⟩=N+1W=N
30 29 com12 W++⟨“X”⟩=N+1XVWWordVNW=N
31 30 adantl W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNW=N
32 31 imp W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNW=N
33 32 eqcomd W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNN=W
34 14 24 33 3jca W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNWWordVXVN=W
35 34 ex W++⟨“X”⟩WordVW++⟨“X”⟩=N+1XVWWordVNWWordVXVN=W
36 35 3adant3 W++⟨“X”⟩WordVW++⟨“X”⟩=N+1i0..^NW++⟨“X”⟩iW++⟨“X”⟩i+1EdgGXVWWordVNWWordVXVN=W
37 13 36 syl W++⟨“X”⟩NWWalksNGXVWWordVNWWordVXVN=W
38 37 expd W++⟨“X”⟩NWWalksNGXVWWordVNWWordVXVN=W
39 11 38 syl5com W0=XW++⟨“X”⟩NWWalksNGWWordVNWWordVXVN=W
40 6 39 sylbid W0=XW++⟨“W0”⟩NWWalksNGWWordVNWWordVXVN=W
41 40 com13 WWordVNW++⟨“W0”⟩NWWalksNGW0=XWWordVXVN=W
42 41 imp32 WWordVNW++⟨“W0”⟩NWWalksNGW0=XWWordVXVN=W
43 ccats1val2 WWordVXVN=WW++⟨“X”⟩N=X
44 42 43 syl WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩N=X
45 ccat1st1st WWordVW++⟨“W0”⟩0=W0
46 45 adantr WWordVNW++⟨“W0”⟩0=W0
47 5 fveq1d W0=XW++⟨“W0”⟩0=W++⟨“X”⟩0
48 47 eqeq1d W0=XW++⟨“W0”⟩0=W0W++⟨“X”⟩0=W0
49 48 adantl W++⟨“W0”⟩NWWalksNGW0=XW++⟨“W0”⟩0=W0W++⟨“X”⟩0=W0
50 46 49 syl5ibcom WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩0=W0
51 50 imp WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩0=W0
52 simprr WWordVNW++⟨“W0”⟩NWWalksNGW0=XW0=X
53 51 52 eqtrd WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩0=X
54 8 44 53 jca31 WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=X
55 54 ex WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=X
56 simprl W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNWWordV
57 27 biimpcd W++⟨“X”⟩=N+1WWordVNW=N
58 57 adantl W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNW=N
59 58 imp W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNW=N
60 59 eqcomd W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNN=W
61 56 60 jca W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNWWordVN=W
62 61 ex W++⟨“X”⟩WordVW++⟨“X”⟩=N+1WWordVNWWordVN=W
63 62 3adant3 W++⟨“X”⟩WordVW++⟨“X”⟩=N+1i0..^NW++⟨“X”⟩iW++⟨“X”⟩i+1EdgGWWordVNWWordVN=W
64 13 63 syl W++⟨“X”⟩NWWalksNGWWordVNWWordVN=W
65 64 imp W++⟨“X”⟩NWWalksNGWWordVNWWordVN=W
66 eleq1 N=WNW
67 lbfzo0 00..^WW
68 67 biimpri W00..^W
69 66 68 syl6bi N=WN00..^W
70 69 com12 NN=W00..^W
71 70 ad2antll W++⟨“X”⟩NWWalksNGWWordVNN=W00..^W
72 71 anim2d W++⟨“X”⟩NWWalksNGWWordVNWWordVN=WWWordV00..^W
73 65 72 mpd W++⟨“X”⟩NWWalksNGWWordVNWWordV00..^W
74 ccats1val1 WWordV00..^WW++⟨“X”⟩0=W0
75 73 74 syl W++⟨“X”⟩NWWalksNGWWordVNW++⟨“X”⟩0=W0
76 75 eqeq1d W++⟨“X”⟩NWWalksNGWWordVNW++⟨“X”⟩0=XW0=X
77 76 biimpd W++⟨“X”⟩NWWalksNGWWordVNW++⟨“X”⟩0=XW0=X
78 77 ex W++⟨“X”⟩NWWalksNGWWordVNW++⟨“X”⟩0=XW0=X
79 78 adantr W++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XWWordVNW++⟨“X”⟩0=XW0=X
80 79 com3r W++⟨“X”⟩0=XW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XWWordVNW0=X
81 80 impcom W++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=XWWordVNW0=X
82 6 biimparc W++⟨“X”⟩NWWalksNGW0=XW++⟨“W0”⟩NWWalksNG
83 simpr W++⟨“X”⟩NWWalksNGW0=XW0=X
84 82 83 jca W++⟨“X”⟩NWWalksNGW0=XW++⟨“W0”⟩NWWalksNGW0=X
85 84 ex W++⟨“X”⟩NWWalksNGW0=XW++⟨“W0”⟩NWWalksNGW0=X
86 85 ad2antrr W++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=XW0=XW++⟨“W0”⟩NWWalksNGW0=X
87 81 86 syldc WWordVNW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=XW++⟨“W0”⟩NWWalksNGW0=X
88 55 87 impbid WWordVNW++⟨“W0”⟩NWWalksNGW0=XW++⟨“X”⟩NWWalksNGW++⟨“X”⟩N=XW++⟨“X”⟩0=X
89 3 88 bitr4id WWordVNW++⟨“X”⟩NWWalksNGW++⟨“X”⟩0=XW++⟨“X”⟩N=XW++⟨“W0”⟩NWWalksNGW0=X
90 1 clwwlknwwlksnb WWordVNWNClWWalksNGW++⟨“W0”⟩NWWalksNG
91 90 anbi1d WWordVNWNClWWalksNGW0=XW++⟨“W0”⟩NWWalksNGW0=X
92 89 91 bitr4d WWordVNW++⟨“X”⟩NWWalksNGW++⟨“X”⟩0=XW++⟨“X”⟩N=XWNClWWalksNGW0=X
93 2 92 bitr4id WWordVNWXClWWalksNOnGNW++⟨“X”⟩NWWalksNGW++⟨“X”⟩0=XW++⟨“X”⟩N=X
94 wwlknon W++⟨“X”⟩XNWWalksNOnGXW++⟨“X”⟩NWWalksNGW++⟨“X”⟩0=XW++⟨“X”⟩N=X
95 93 94 bitr4di WWordVNWXClWWalksNOnGNW++⟨“X”⟩XNWWalksNOnGX