Metamath Proof Explorer


Theorem clwwlkinwwlk

Description: If the initial vertex of a walk occurs another time in the walk, the walk starts with a closed walk. Since the walk is expressed as a word over vertices, the closed walk can be expressed as a subword of this word. (Contributed by Alexander van der Vekens, 15-Sep-2018) (Revised by AV, 23-Jan-2022) (Revised by AV, 30-Oct-2022)

Ref Expression
Assertion clwwlkinwwlk NMNWMWWalksNGWN=W0WprefixNNClWWalksNG

Proof

Step Hyp Ref Expression
1 eqid VtxG=VtxG
2 eqid EdgG=EdgG
3 1 2 wwlknp WMWWalksNGWWordVtxGW=M+1i0..^MWiWi+1EdgG
4 pfxcl WWordVtxGWprefixNWordVtxG
5 4 adantr WWordVtxGW=M+1WprefixNWordVtxG
6 5 adantr WWordVtxGW=M+1NMNWprefixNWordVtxG
7 simpll WWordVtxGW=M+1NMNWWordVtxG
8 simprl WWordVtxGW=M+1NMNN
9 eluz2 MNNMNM
10 zre NN
11 zre MM
12 id NMNM
13 10 11 12 3anim123i NMNMNMNM
14 9 13 sylbi MNNMNM
15 letrp1 NMNMNM+1
16 14 15 syl MNNM+1
17 16 adantl NMNNM+1
18 17 adantl WWordVtxGW=M+1NMNNM+1
19 breq2 W=M+1NWNM+1
20 19 ad2antlr WWordVtxGW=M+1NMNNWNM+1
21 18 20 mpbird WWordVtxGW=M+1NMNNW
22 pfxn0 WWordVtxGNNWWprefixN
23 7 8 21 22 syl3anc WWordVtxGW=M+1NMNWprefixN
24 6 23 jca WWordVtxGW=M+1NMNWprefixNWordVtxGWprefixN
25 24 3adantl3 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWprefixNWordVtxGWprefixN
26 25 adantr WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WprefixNWordVtxGWprefixN
27 nnz NN
28 1nn0 10
29 eluzmn N10NN1
30 27 28 29 sylancl NNN1
31 uzss NN1NN1
32 30 31 syl NNN1
33 32 sselda NMNMN1
34 fzoss2 MN10..^N10..^M
35 33 34 syl NMN0..^N10..^M
36 35 3ad2ant3 WWordVtxGW=M+1NMN0..^N10..^M
37 ssralv 0..^N10..^Mi0..^MWiWi+1EdgGi0..^N1WiWi+1EdgG
38 36 37 syl WWordVtxGW=M+1NMNi0..^MWiWi+1EdgGi0..^N1WiWi+1EdgG
39 38 3exp WWordVtxGW=M+1NMNi0..^MWiWi+1EdgGi0..^N1WiWi+1EdgG
40 39 com34 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNi0..^N1WiWi+1EdgG
41 40 3imp1 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNi0..^N1WiWi+1EdgG
42 41 adantr WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0i0..^N1WiWi+1EdgG
43 nnnn0 NN0
44 elnn0uz N0N0
45 43 44 sylib NN0
46 eluzfz N0MNN0M
47 45 46 sylan NMNN0M
48 fzelp1 N0MN0M+1
49 47 48 syl NMNN0M+1
50 49 adantl WWordVtxGW=M+1NMNN0M+1
51 oveq2 W=M+10W=0M+1
52 51 eleq2d W=M+1N0WN0M+1
53 52 ad2antlr WWordVtxGW=M+1NMNN0WN0M+1
54 50 53 mpbird WWordVtxGW=M+1NMNN0W
55 pfxlen WWordVtxGN0WWprefixN=N
56 7 54 55 syl2anc WWordVtxGW=M+1NMNWprefixN=N
57 56 oveq1d WWordVtxGW=M+1NMNWprefixN1=N1
58 57 oveq2d WWordVtxGW=M+1NMN0..^WprefixN1=0..^N1
59 58 raleqdv WWordVtxGW=M+1NMNi0..^WprefixN1WprefixNiWprefixNi+1EdgGi0..^N1WprefixNiWprefixNi+1EdgG
60 7 adantr WWordVtxGW=M+1NMNi0..^N1WWordVtxG
61 54 adantr WWordVtxGW=M+1NMNi0..^N1N0W
62 30 ad2antrl WWordVtxGW=M+1NMNNN1
63 fzoss2 NN10..^N10..^N
64 62 63 syl WWordVtxGW=M+1NMN0..^N10..^N
65 64 sselda WWordVtxGW=M+1NMNi0..^N1i0..^N
66 pfxfv WWordVtxGN0Wi0..^NWprefixNi=Wi
67 60 61 65 66 syl3anc WWordVtxGW=M+1NMNi0..^N1WprefixNi=Wi
68 27 ad2antrl WWordVtxGW=M+1NMNN
69 elfzom1elp1fzo Ni0..^N1i+10..^N
70 68 69 sylan WWordVtxGW=M+1NMNi0..^N1i+10..^N
71 pfxfv WWordVtxGN0Wi+10..^NWprefixNi+1=Wi+1
72 60 61 70 71 syl3anc WWordVtxGW=M+1NMNi0..^N1WprefixNi+1=Wi+1
73 67 72 preq12d WWordVtxGW=M+1NMNi0..^N1WprefixNiWprefixNi+1=WiWi+1
74 73 eleq1d WWordVtxGW=M+1NMNi0..^N1WprefixNiWprefixNi+1EdgGWiWi+1EdgG
75 74 ralbidva WWordVtxGW=M+1NMNi0..^N1WprefixNiWprefixNi+1EdgGi0..^N1WiWi+1EdgG
76 59 75 bitrd WWordVtxGW=M+1NMNi0..^WprefixN1WprefixNiWprefixNi+1EdgGi0..^N1WiWi+1EdgG
77 76 3adantl3 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNi0..^WprefixN1WprefixNiWprefixNi+1EdgGi0..^N1WiWi+1EdgG
78 77 adantr WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0i0..^WprefixN1WprefixNiWprefixNi+1EdgGi0..^N1WiWi+1EdgG
79 42 78 mpbird WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0i0..^WprefixN1WprefixNiWprefixNi+1EdgG
80 elfz1uz NMNN1M
81 fzelp1 N1MN1M+1
82 80 81 syl NMNN1M+1
83 82 adantl WWordVtxGW=M+1NMNN1M+1
84 oveq2 W=M+11W=1M+1
85 84 eleq2d W=M+1N1WN1M+1
86 85 ad2antlr WWordVtxGW=M+1NMNN1WN1M+1
87 83 86 mpbird WWordVtxGW=M+1NMNN1W
88 pfxfvlsw WWordVtxGN1WlastSWprefixN=WN1
89 pfxfv0 WWordVtxGN1WWprefixN0=W0
90 88 89 preq12d WWordVtxGN1WlastSWprefixNWprefixN0=WN1W0
91 7 87 90 syl2anc WWordVtxGW=M+1NMNlastSWprefixNWprefixN0=WN1W0
92 91 3adantl3 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNlastSWprefixNWprefixN0=WN1W0
93 92 adantr WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0lastSWprefixNWprefixN0=WN1W0
94 fz1fzo0m1 N1MN10..^M
95 80 94 syl NMNN10..^M
96 95 3ad2ant3 WWordVtxGW=M+1NMNN10..^M
97 simpr Ni=N1i=N1
98 97 fveq2d Ni=N1Wi=WN1
99 oveq1 i=N1i+1=N-1+1
100 nncn NN
101 npcan1 NN-1+1=N
102 100 101 syl NN-1+1=N
103 99 102 sylan9eqr Ni=N1i+1=N
104 103 fveq2d Ni=N1Wi+1=WN
105 98 104 preq12d Ni=N1WiWi+1=WN1WN
106 105 eleq1d Ni=N1WiWi+1EdgGWN1WNEdgG
107 106 ex Ni=N1WiWi+1EdgGWN1WNEdgG
108 107 adantr NMNi=N1WiWi+1EdgGWN1WNEdgG
109 108 3ad2ant3 WWordVtxGW=M+1NMNi=N1WiWi+1EdgGWN1WNEdgG
110 109 imp WWordVtxGW=M+1NMNi=N1WiWi+1EdgGWN1WNEdgG
111 96 110 rspcdv WWordVtxGW=M+1NMNi0..^MWiWi+1EdgGWN1WNEdgG
112 111 3exp WWordVtxGW=M+1NMNi0..^MWiWi+1EdgGWN1WNEdgG
113 112 com34 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN1WNEdgG
114 113 3imp1 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN1WNEdgG
115 114 adantr WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WN1WNEdgG
116 preq2 WN=W0WN1WN=WN1W0
117 116 eleq1d WN=W0WN1WNEdgGWN1W0EdgG
118 117 adantl WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WN1WNEdgGWN1W0EdgG
119 115 118 mpbid WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WN1W0EdgG
120 93 119 eqeltrd WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0lastSWprefixNWprefixN0EdgG
121 26 79 120 3jca WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WprefixNWordVtxGWprefixNi0..^WprefixN1WprefixNiWprefixNi+1EdgGlastSWprefixNWprefixN0EdgG
122 121 exp31 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWN=W0WprefixNWordVtxGWprefixNi0..^WprefixN1WprefixNiWprefixNi+1EdgGlastSWprefixNWprefixN0EdgG
123 122 3imp21 NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWN=W0WprefixNWordVtxGWprefixNi0..^WprefixN1WprefixNiWprefixNi+1EdgGlastSWprefixNWprefixN0EdgG
124 1 2 isclwwlk WprefixNClWWalksGWprefixNWordVtxGWprefixNi0..^WprefixN1WprefixNiWprefixNi+1EdgGlastSWprefixNWprefixN0EdgG
125 123 124 sylibr NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWN=W0WprefixNClWWalksG
126 47 adantl WWordVtxGW=M+1NMNN0M
127 126 48 syl WWordVtxGW=M+1NMNN0M+1
128 127 53 mpbird WWordVtxGW=M+1NMNN0W
129 7 128 jca WWordVtxGW=M+1NMNWWordVtxGN0W
130 129 ex WWordVtxGW=M+1NMNWWordVtxGN0W
131 130 3adant3 WWordVtxGW=M+1i0..^MWiWi+1EdgGNMNWWordVtxGN0W
132 131 impcom NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWWordVtxGN0W
133 132 3adant3 NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWN=W0WWordVtxGN0W
134 133 55 syl NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWN=W0WprefixN=N
135 isclwwlkn WprefixNNClWWalksNGWprefixNClWWalksGWprefixN=N
136 125 134 135 sylanbrc NMNWWordVtxGW=M+1i0..^MWiWi+1EdgGWN=W0WprefixNNClWWalksNG
137 3 136 syl3an2 NMNWMWWalksNGWN=W0WprefixNNClWWalksNG