Definition of circulant graphs #
This file defines and proves several fact about circulant graphs.
A circulant graph over type G
with jumps s : Set G
is a graph in which two vertices u
and v
are adjacent if and only if u - v ∈ s
or v - u ∈ s
. The elements of s
are called jumps.
Main declarations #
SimpleGraph.circulantGraph s
: the circulant graph overG
with jumpss
.SimpleGraph.cycleGraph n
: the cycle graph overFin n
.
Circulant graph over additive group G
with jumps s
Equations
- SimpleGraph.circulantGraph s = SimpleGraph.fromRel fun (x1 x2 : G) => x1 - x2 ∈ s
Instances For
theorem
SimpleGraph.circulantGraph_eq_erase_zero
{G : Type u_1}
[AddGroup G]
(s : Set G)
:
circulantGraph s = circulantGraph (s \ {0})
theorem
SimpleGraph.circulantGraph_eq_symm
{G : Type u_1}
[AddGroup G]
(s : Set G)
:
circulantGraph s = circulantGraph (s ∪ -s)
instance
SimpleGraph.instDecidableRelAdjCirculantGraphOfDecidableEqOfDecidablePredMemSet
{G : Type u_1}
[AddGroup G]
(s : Set G)
[DecidableEq G]
[DecidablePred fun (x : G) => x ∈ s]
:
DecidableRel (circulantGraph s).Adj
Equations
- One or more equations did not get rendered due to their size.
theorem
SimpleGraph.circulantGraph_adj_translate
{G : Type u_1}
[AddGroup G]
{s : Set G}
{u v d : G}
:
(circulantGraph s).Adj (u + d) (v + d) ↔ (circulantGraph s).Adj u v
Equations
- SimpleGraph.instDecidableRelFinAdjCycleGraph 0 = fun (x x : Fin 0) => inferInstanceAs (Decidable False)
- SimpleGraph.instDecidableRelFinAdjCycleGraph n.succ = inferInstanceAs (DecidableRel (SimpleGraph.circulantGraph {1}).Adj)
theorem
SimpleGraph.cycleGraph_neighborSet
{n : ℕ}
{v : Fin (n + 2)}
:
(cycleGraph (n + 2)).neighborSet v = {v - 1, v + 1}
theorem
SimpleGraph.cycleGraph_neighborFinset
{n : ℕ}
{v : Fin (n + 2)}
:
(cycleGraph (n + 2)).neighborFinset v = {v - 1, v + 1}
theorem
SimpleGraph.cycleGraph_degree_two_le
{n : ℕ}
{v : Fin (n + 2)}
:
(cycleGraph (n + 2)).degree v = {v - 1, v + 1}.card
theorem
SimpleGraph.cycleGraph_degree_three_le
{n : ℕ}
{v : Fin (n + 3)}
:
(cycleGraph (n + 3)).degree v = 2