Metamath Proof Explorer


Theorem extwwlkfab

Description: The set ( X C N ) of double loops of length N on vertex X can be constructed from the set F of closed walks on X with length smaller by 2 than the fixed length by appending a neighbor of the last vertex and afterwards the last vertex (which is the first vertex) itself ("walking forth and back" from the last vertex). 3 <_ N is required since for N = 2 : F = ( X ( ClWWalksNOnG ) 0 ) = (/) (see clwwlk0on0 stating that a closed walk of length 0 is not represented as word), which would result in an empty set on the right hand side, but ( X C N ) needs not be empty, see 2clwwlk2 . (Contributed by Alexander van der Vekens, 18-Sep-2018) (Revised by AV, 29-May-2021) (Revised by AV, 31-Oct-2022)

Ref Expression
Hypotheses extwwlkfab.v V=VtxG
extwwlkfab.c C=vV,n2wvClWWalksNOnGn|wn2=v
extwwlkfab.f F=XClWWalksNOnGN2
Assertion extwwlkfab GUSGraphXVN3XCN=wNClWWalksNG|wprefixN2FwN1GNeighbVtxXwN2=X

Proof

Step Hyp Ref Expression
1 extwwlkfab.v V=VtxG
2 extwwlkfab.c C=vV,n2wvClWWalksNOnGn|wn2=v
3 extwwlkfab.f F=XClWWalksNOnGN2
4 uzuzle23 N3N2
5 2 2clwwlk XVN2XCN=wXClWWalksNOnGN|wN2=X
6 4 5 sylan2 XVN3XCN=wXClWWalksNOnGN|wN2=X
7 6 3adant1 GUSGraphXVN3XCN=wXClWWalksNOnGN|wN2=X
8 clwwlknon XClWWalksNOnGN=wNClWWalksNG|w0=X
9 8 rabeqi wXClWWalksNOnGN|wN2=X=wwNClWWalksNG|w0=X|wN2=X
10 rabrab wwNClWWalksNG|w0=X|wN2=X=wNClWWalksNG|w0=XwN2=X
11 simpll3 GUSGraphXVN3wNClWWalksNGw0=XwN2=XN3
12 simplr GUSGraphXVN3wNClWWalksNGw0=XwN2=XwNClWWalksNG
13 simpr w0=XwN2=XwN2=X
14 simpl w0=XwN2=Xw0=X
15 14 eqcomd w0=XwN2=XX=w0
16 13 15 eqtrd w0=XwN2=XwN2=w0
17 16 adantl GUSGraphXVN3wNClWWalksNGw0=XwN2=XwN2=w0
18 clwwnrepclwwn N3wNClWWalksNGwN2=w0wprefixN2N2ClWWalksNG
19 11 12 17 18 syl3anc GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2N2ClWWalksNG
20 14 adantl GUSGraphXVN3wNClWWalksNGw0=XwN2=Xw0=X
21 19 20 jca GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2N2ClWWalksNGw0=X
22 simp1 GUSGraphXVN3GUSGraph
23 22 anim1i GUSGraphXVN3wNClWWalksNGGUSGraphwNClWWalksNG
24 23 adantr GUSGraphXVN3wNClWWalksNGw0=XwN2=XGUSGraphwNClWWalksNG
25 clwwlknlbonbgr1 GUSGraphwNClWWalksNGwN1GNeighbVtxw0
26 24 25 syl GUSGraphXVN3wNClWWalksNGw0=XwN2=XwN1GNeighbVtxw0
27 oveq2 X=w0GNeighbVtxX=GNeighbVtxw0
28 27 eqcoms w0=XGNeighbVtxX=GNeighbVtxw0
29 28 adantr w0=XwN2=XGNeighbVtxX=GNeighbVtxw0
30 29 adantl GUSGraphXVN3wNClWWalksNGw0=XwN2=XGNeighbVtxX=GNeighbVtxw0
31 26 30 eleqtrrd GUSGraphXVN3wNClWWalksNGw0=XwN2=XwN1GNeighbVtxX
32 13 adantl GUSGraphXVN3wNClWWalksNGw0=XwN2=XwN2=X
33 21 31 32 3jca GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2N2ClWWalksNGw0=XwN1GNeighbVtxXwN2=X
34 33 ex GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2N2ClWWalksNGw0=XwN1GNeighbVtxXwN2=X
35 simpr wprefixN2N2ClWWalksNGw0=Xw0=X
36 35 anim1i wprefixN2N2ClWWalksNGw0=XwN2=Xw0=XwN2=X
37 36 3adant2 wprefixN2N2ClWWalksNGw0=XwN1GNeighbVtxXwN2=Xw0=XwN2=X
38 34 37 impbid1 GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2N2ClWWalksNGw0=XwN1GNeighbVtxXwN2=X
39 2clwwlklem wNClWWalksNGN3wprefixN20=w0
40 39 3ad2antr3 wNClWWalksNGGUSGraphXVN3wprefixN20=w0
41 40 ancoms GUSGraphXVN3wNClWWalksNGwprefixN20=w0
42 41 eqcomd GUSGraphXVN3wNClWWalksNGw0=wprefixN20
43 42 eqeq1d GUSGraphXVN3wNClWWalksNGw0=XwprefixN20=X
44 43 anbi2d GUSGraphXVN3wNClWWalksNGwprefixN2N2ClWWalksNGw0=XwprefixN2N2ClWWalksNGwprefixN20=X
45 44 3anbi1d GUSGraphXVN3wNClWWalksNGwprefixN2N2ClWWalksNGw0=XwN1GNeighbVtxXwN2=XwprefixN2N2ClWWalksNGwprefixN20=XwN1GNeighbVtxXwN2=X
46 3 eleq2i wprefixN2FwprefixN2XClWWalksNOnGN2
47 isclwwlknon wprefixN2XClWWalksNOnGN2wprefixN2N2ClWWalksNGwprefixN20=X
48 47 a1i GUSGraphXVN3wprefixN2XClWWalksNOnGN2wprefixN2N2ClWWalksNGwprefixN20=X
49 46 48 bitrid GUSGraphXVN3wprefixN2FwprefixN2N2ClWWalksNGwprefixN20=X
50 49 3anbi1d GUSGraphXVN3wprefixN2FwN1GNeighbVtxXwN2=XwprefixN2N2ClWWalksNGwprefixN20=XwN1GNeighbVtxXwN2=X
51 50 bicomd GUSGraphXVN3wprefixN2N2ClWWalksNGwprefixN20=XwN1GNeighbVtxXwN2=XwprefixN2FwN1GNeighbVtxXwN2=X
52 51 adantr GUSGraphXVN3wNClWWalksNGwprefixN2N2ClWWalksNGwprefixN20=XwN1GNeighbVtxXwN2=XwprefixN2FwN1GNeighbVtxXwN2=X
53 38 45 52 3bitrd GUSGraphXVN3wNClWWalksNGw0=XwN2=XwprefixN2FwN1GNeighbVtxXwN2=X
54 53 rabbidva GUSGraphXVN3wNClWWalksNG|w0=XwN2=X=wNClWWalksNG|wprefixN2FwN1GNeighbVtxXwN2=X
55 10 54 eqtrid GUSGraphXVN3wwNClWWalksNG|w0=X|wN2=X=wNClWWalksNG|wprefixN2FwN1GNeighbVtxXwN2=X
56 9 55 eqtrid GUSGraphXVN3wXClWWalksNOnGN|wN2=X=wNClWWalksNG|wprefixN2FwN1GNeighbVtxXwN2=X
57 7 56 eqtrd GUSGraphXVN3XCN=wNClWWalksNG|wprefixN2FwN1GNeighbVtxXwN2=X