Metamath Proof Explorer


Theorem clwwlkwwlksb

Description: A nonempty word over vertices represents a closed walk iff the word concatenated with its first symbol represents a walk. (Contributed by AV, 4-Mar-2022)

Ref Expression
Hypothesis clwwlkwwlksb.v V=VtxG
Assertion clwwlkwwlksb WWordVWWClWWalksGW++⟨“W0”⟩WWalksG

Proof

Step Hyp Ref Expression
1 clwwlkwwlksb.v V=VtxG
2 fstwrdne WWordVWW0V
3 2 s1cld WWordVW⟨“W0”⟩WordV
4 ccatlen WWordV⟨“W0”⟩WordVW++⟨“W0”⟩=W+⟨“W0”⟩
5 3 4 syldan WWordVWW++⟨“W0”⟩=W+⟨“W0”⟩
6 s1len ⟨“W0”⟩=1
7 6 oveq2i W+⟨“W0”⟩=W+1
8 5 7 eqtrdi WWordVWW++⟨“W0”⟩=W+1
9 8 oveq1d WWordVWW++⟨“W0”⟩1=W+1-1
10 lencl WWordVW0
11 10 nn0cnd WWordVW
12 11 adantr WWordVWW
13 1cnd WWordVW1
14 12 13 13 addsubd WWordVWW+1-1=W-1+1
15 9 14 eqtrd WWordVWW++⟨“W0”⟩1=W-1+1
16 15 oveq2d WWordVW0..^W++⟨“W0”⟩1=0..^W-1+1
17 16 raleqdv WWordVWi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W-1+1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
18 lennncl WWordVWW
19 nnm1nn0 WW10
20 18 19 syl WWordVWW10
21 elnn0uz W10W10
22 20 21 sylib WWordVWW10
23 fzosplitsn W100..^W-1+1=0..^W1W1
24 22 23 syl WWordVW0..^W-1+1=0..^W1W1
25 24 raleqdv WWordVWi0..^W-1+1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
26 ralunb i0..^W1W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGiW1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
27 25 26 bitrdi WWordVWi0..^W-1+1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGiW1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
28 simpl WWordVWWWordV
29 10 nn0zd WWordVW
30 29 adantr WWordVWW
31 elfzom1elfzo Wi0..^W1i0..^W
32 30 31 sylan WWordVWi0..^W1i0..^W
33 ccats1val1 WWordVi0..^WW++⟨“W0”⟩i=Wi
34 28 32 33 syl2an2r WWordVWi0..^W1W++⟨“W0”⟩i=Wi
35 elfzom1elp1fzo Wi0..^W1i+10..^W
36 30 35 sylan WWordVWi0..^W1i+10..^W
37 ccats1val1 WWordVi+10..^WW++⟨“W0”⟩i+1=Wi+1
38 28 36 37 syl2an2r WWordVWi0..^W1W++⟨“W0”⟩i+1=Wi+1
39 34 38 preq12d WWordVWi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1=WiWi+1
40 39 eleq1d WWordVWi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGWiWi+1EdgG
41 40 ralbidva WWordVWi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1WiWi+1EdgG
42 ovex W1V
43 fveq2 i=W1W++⟨“W0”⟩i=W++⟨“W0”⟩W1
44 fvoveq1 i=W1W++⟨“W0”⟩i+1=W++⟨“W0”⟩W-1+1
45 43 44 preq12d i=W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1=W++⟨“W0”⟩W1W++⟨“W0”⟩W-1+1
46 45 eleq1d i=W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGW++⟨“W0”⟩W1W++⟨“W0”⟩W-1+1EdgG
47 42 46 ralsn iW1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGW++⟨“W0”⟩W1W++⟨“W0”⟩W-1+1EdgG
48 fzo0end WW10..^W
49 18 48 syl WWordVWW10..^W
50 ccats1val1 WWordVW10..^WW++⟨“W0”⟩W1=WW1
51 49 50 syldan WWordVWW++⟨“W0”⟩W1=WW1
52 lsw WWordVlastSW=WW1
53 52 adantr WWordVWlastSW=WW1
54 51 53 eqtr4d WWordVWW++⟨“W0”⟩W1=lastSW
55 npcan1 WW-1+1=W
56 11 55 syl WWordVW-1+1=W
57 56 adantr WWordVWW-1+1=W
58 57 fveq2d WWordVWW++⟨“W0”⟩W-1+1=W++⟨“W0”⟩W
59 eqidd WWordVWW=W
60 ccats1val2 WWordVW0VW=WW++⟨“W0”⟩W=W0
61 28 2 59 60 syl3anc WWordVWW++⟨“W0”⟩W=W0
62 58 61 eqtrd WWordVWW++⟨“W0”⟩W-1+1=W0
63 54 62 preq12d WWordVWW++⟨“W0”⟩W1W++⟨“W0”⟩W-1+1=lastSWW0
64 63 eleq1d WWordVWW++⟨“W0”⟩W1W++⟨“W0”⟩W-1+1EdgGlastSWW0EdgG
65 47 64 bitrid WWordVWiW1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGlastSWW0EdgG
66 41 65 anbi12d WWordVWi0..^W1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGiW1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1WiWi+1EdgGlastSWW0EdgG
67 17 27 66 3bitrd WWordVWi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGi0..^W1WiWi+1EdgGlastSWW0EdgG
68 28 3 jca WWordVWWWordV⟨“W0”⟩WordV
69 ccat0 WWordV⟨“W0”⟩WordVW++⟨“W0”⟩=W=⟨“W0”⟩=
70 simpl W=⟨“W0”⟩=W=
71 69 70 syl6bi WWordV⟨“W0”⟩WordVW++⟨“W0”⟩=W=
72 71 necon3d WWordV⟨“W0”⟩WordVWW++⟨“W0”⟩
73 72 adantld WWordV⟨“W0”⟩WordVWWordVWW++⟨“W0”⟩
74 68 73 mpcom WWordVWW++⟨“W0”⟩
75 wrdv WWordVWWordV
76 s1cli ⟨“W0”⟩WordV
77 ccatalpha WWordV⟨“W0”⟩WordVW++⟨“W0”⟩WordVWWordV⟨“W0”⟩WordV
78 75 76 77 sylancl WWordVW++⟨“W0”⟩WordVWWordV⟨“W0”⟩WordV
79 78 adantr WWordVWW++⟨“W0”⟩WordVWWordV⟨“W0”⟩WordV
80 28 3 79 mpbir2and WWordVWW++⟨“W0”⟩WordV
81 74 80 jca WWordVWW++⟨“W0”⟩W++⟨“W0”⟩WordV
82 eqid EdgG=EdgG
83 1 82 iswwlks W++⟨“W0”⟩WWalksGW++⟨“W0”⟩W++⟨“W0”⟩WordVi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
84 df-3an W++⟨“W0”⟩W++⟨“W0”⟩WordVi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgGW++⟨“W0”⟩W++⟨“W0”⟩WordVi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
85 83 84 bitri W++⟨“W0”⟩WWalksGW++⟨“W0”⟩W++⟨“W0”⟩WordVi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
86 85 a1i WWordVWW++⟨“W0”⟩WWalksGW++⟨“W0”⟩W++⟨“W0”⟩WordVi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
87 81 86 mpbirand WWordVWW++⟨“W0”⟩WWalksGi0..^W++⟨“W0”⟩1W++⟨“W0”⟩iW++⟨“W0”⟩i+1EdgG
88 1 82 isclwwlk WClWWalksGWWordVWi0..^W1WiWi+1EdgGlastSWW0EdgG
89 3anass WWordVWi0..^W1WiWi+1EdgGlastSWW0EdgGWWordVWi0..^W1WiWi+1EdgGlastSWW0EdgG
90 88 89 bitri WClWWalksGWWordVWi0..^W1WiWi+1EdgGlastSWW0EdgG
91 90 baib WWordVWWClWWalksGi0..^W1WiWi+1EdgGlastSWW0EdgG
92 67 87 91 3bitr4rd WWordVWWClWWalksGW++⟨“W0”⟩WWalksG