Description: Define the set of all (simple) cycles (in an undirected graph).
According to Wikipedia ("Cycle (graph theory)", https://en.wikipedia.org/wiki/Cycle_(graph_theory) , 3-Oct-2017): "A simple cycle may be defined either as a closed walk with no repetitions of vertices and edges allowed, other than the repetition of the starting and ending vertex."
According to Bollobas: "If a walk W = x0 x1 ... x(l) is such that l >= 3, x0=x(l), and the vertices x(i), 0 < i < l, are distinct from each other and x0, then W is said to be a cycle." See Definition of Bollobas p. 5.
However, since a walk consisting of distinct vertices (except the first and the last vertex) is a path, a cycle can be defined as path whose first and last vertices coincide. So a cycle is represented by the following sequence: p(0) e(f(1)) p(1) ... p(n-1) e(f(n)) p(n)=p(0). (Contributed by Alexander van der Vekens, 3-Oct-2017) (Revised by AV, 31-Jan-2021)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | df-cycls | |- Cycles = ( g e. _V |-> { <. f , p >. | ( f ( Paths ` g ) p /\ ( p ` 0 ) = ( p ` ( # ` f ) ) ) } ) | 
				
| Step | Hyp | Ref | Expression | 
|---|---|---|---|
| 0 | ccycls | |- Cycles  | 
						|
| 1 | vg | |- g  | 
						|
| 2 | cvv | |- _V  | 
						|
| 3 | vf | |- f  | 
						|
| 4 | vp | |- p  | 
						|
| 5 | 3 | cv | |- f  | 
						
| 6 | cpths | |- Paths  | 
						|
| 7 | 1 | cv | |- g  | 
						
| 8 | 7 6 | cfv | |- ( Paths ` g )  | 
						
| 9 | 4 | cv | |- p  | 
						
| 10 | 5 9 8 | wbr | |- f ( Paths ` g ) p  | 
						
| 11 | cc0 | |- 0  | 
						|
| 12 | 11 9 | cfv | |- ( p ` 0 )  | 
						
| 13 | chash | |- #  | 
						|
| 14 | 5 13 | cfv | |- ( # ` f )  | 
						
| 15 | 14 9 | cfv | |- ( p ` ( # ` f ) )  | 
						
| 16 | 12 15 | wceq | |- ( p ` 0 ) = ( p ` ( # ` f ) )  | 
						
| 17 | 10 16 | wa | |- ( f ( Paths ` g ) p /\ ( p ` 0 ) = ( p ` ( # ` f ) ) )  | 
						
| 18 | 17 3 4 | copab |  |-  { <. f , p >. | ( f ( Paths ` g ) p /\ ( p ` 0 ) = ( p ` ( # ` f ) ) ) } | 
						
| 19 | 1 2 18 | cmpt |  |-  ( g e. _V |-> { <. f , p >. | ( f ( Paths ` g ) p /\ ( p ` 0 ) = ( p ` ( # ` f ) ) ) } ) | 
						
| 20 | 0 19 | wceq |  |-  Cycles = ( g e. _V |-> { <. f , p >. | ( f ( Paths ` g ) p /\ ( p ` 0 ) = ( p ` ( # ` f ) ) ) } ) |