Friedman’s theorem: a new proof using strong convergence

1 Graphs: introduction and basic spectral theory

In this chapter, we introduce basic definitions and properties related to (multi)graphs and their spectrum. We refer the reader to [ for a more detailed introduction and motivations.

As in Graph, a graph \(G\) is a set of vertices \(V(G)\), and a set of edges \(E(G)\), such that each edge links two unordered, possibly identical vertices. Note that this definition allows for loops (i.e. edges going from one vertex to itself) and multi-edges (i.e. multiple edges connecting two vertices). This convention is essential to the proof we are aiming for, which is why we use Graph instead of the more developed SimpleGraph.

1.1 Basic graph theory

We here introduce a few basic notions which will be useful to the project. These definitions should probably be added to Mathlib and hence written carefully, with good API and following the naming conventions, in particular of SimpleGraph.

1.1.1 Darts

We define a notion of darts, which are oriented edges on the graph.

Definition 1.1.1
#

A dart \(d\) in a graph \(G\) is an oriented edge, meaning it has a start point \(\mathrm{start}(d)\), and endpoint \(\mathrm{end}(d)\), is carried by an edge \(\mathrm{edge}(d)\), and, in the case where \(e\) is a loop, it has an additional information encoded in a boolean \(\in \{ 0, 1\} \) encoding an orientation.

We denote as \(D(G)\) the set of darts on \(G\).

Definition 1.1.2
#

To each dart \(d\) we associate a reverse dart \(\mathrm{rev}(d)\) such that:

  • \(\mathrm{start}(\mathrm{rev}(d)) = \mathrm{end}(d)\);

  • \(\mathrm{end}(\mathrm{rev}(d)) = \mathrm{start}(d)\);

  • \(\mathrm{edge}(\mathrm{rev}(d)) = \mathrm{edge}(d)\);

  • if \(\mathrm{edge}(d)\) is a loop then the orientation of \(\mathrm{rev}(d)\) is the negation of the orientation of \(d\).

Here are key properties that must be satisfied by our implementation of darts.

Lemma 1.1.3
#
  • For any dart \(d\), \(\mathrm{rev}(d) \neq d\).

  • For any dart \(d\), \(\mathrm{rev}(\mathrm{rev}(d)) = d\).

  • We have a map \(e \in E(G) \mapsto d_e \in D(G)\) such that, for all \(e\), if \(e\) links \(x\) and \(y\), then \(d_e\) is a dart from \(x\) to \(y\) carried by \(e\).

  • For any \(d, d'\), if \(\mathrm{edge}(d)=\mathrm{edge}(d')\) then \(d=d'\) or \(d=\mathrm{rev}(d')\).

  • We have \(d_1 = d_2\) iff \(\mathrm{start}(d_1) = \mathrm{start}(d_2)\) and \(\mathrm{edge}(d_1) = \mathrm{edge}(d_2)\) (and same characterisation using the endpoints and edges).

Proof

These depend on the implementation of darts, but should be easily verified.

Definition 1.1.4
#

Let \(x \in V(G)\). The dartset of \(x\) is the set

\begin{equation} \mathrm{dartSet}(x) := \{ d \in D(G) \, : \, \mathrm{start}(d)=x\} . \end{equation}
1

Definition 1.1.5

Let \(x\), \(y \in V(G)\). We define the dartset of \((x,y)\) as

\begin{equation*} \mathrm{dartSet}(x,y) = \{ d \in D(G) : \mathrm{start}(d) = x, \mathrm{end}(d) = y\} . \end{equation*}
Lemma 1.1.6

Let \(x, y \in V(G)\). The following are equivalent:

  1. \(x\) and \(y\) are adjacent;

  2. there exists \(d \in \mathrm{dartSet}(x)\) such that \(\mathrm{end}(d)=y\);

  3. \(\mathrm{dartSet}(x,y)\) is not empty.

Proof

Trivial.

Lemma 1.1.7

Let \(x, y \in V(G)\). The map

\begin{equation*} \begin{split} \mathrm{dartSet}(x,y) & \rightarrow E(G) \\ d & \mapsto \mathrm{edge}(d) \end{split}\end{equation*}

has range \(\{ e \in E(G) : e \text{ links } x \text{ and } y\} \). It is \(2-1\) if \(x=y\) and \(1-1\) otherwise.

We can alternatively define a graph from its darts in the following fashion.

Definition 1.1.8
#

Let \(V\) be a set. A dart-like structure on \(V\) is the data of a set of darts \(D\), together with maps \(\mathrm{start}, \mathrm{end}: D \rightarrow V\) and \(\mathrm{rev}: D \rightarrow D\) satisfying the following:

  • \(\mathrm{start}\circ \mathrm{rev}= \mathrm{end}\) and \(\mathrm{end}\circ \mathrm{rev}= \mathrm{start}\);

  • \(\mathrm{rev}\) is an involution with no fixed point.

Definition 1.1.9

Let \(V\) be a set and \(D\), \(\mathrm{start}, \mathrm{end}, \mathrm{rev}\) be a dart-like structure. We define a relation on \(D\) by:

\begin{equation*} \forall d, d’ \in D, \quad d \sim d’ \Leftrightarrow (d=d’ \text{ or } d = \mathrm{rev}(d’)). \end{equation*}
Lemma 1.1.10

The relation \(\sim \) on \(D\) is an equivalence relation, and all of its equivalence classes are of the form \(\{ d, \mathrm{rev}(d)\} \) (the two of which are distinct).

Definition 1.1.11
#

Let \(V\) be a set and \(D\), \(\mathrm{start}, \mathrm{end}, \mathrm{rev}\) be a dart-like structure. We define a graph \(G\) associated to this structure by taking:

  • \(V(G) := V\) as the vertex set;

  • \(E(G) := D(G) \diagup \sim \) as the edge set;

  • for \(e \in E(G)\), if \(d \in D(G)\) is a representant of \(e\), then \(e\) links \(\mathrm{start}(d)\) and \(\mathrm{end}(d)\).

Theorem 1.1.12

The graph \(G\) constructed in Definition 1.1.11 is a graph, and \(D(G) = D\).

1.1.2 Subgraphs

The definition of subgraph is easier for Graph than SimpleGraph as the vertexset is just a subset.

Definition 1.1.13
#

A subgraph \(H\) of \(G\) is a graph (of the same type as \(G\)) defined by:

  • a vertex set \(V(H)\) included in the vextex set of \(G\)

  • an edge set \(E(H)\) included in the edge set of \(H\)

  • the same \(\mathrm{IsLink}\) relation, i.e. if \(e\) links \(x\) and \(y\) in \(H\) then it also links \(x\) and \(y\) in \(G\).

Lemma 1.1.14

Let \(H\) be a subgraph of \(G\). For any \(x\), \(y\) in \(V(H)\), if \(x\) and \(y\) are adjacent for \(H\), then they are adjacent for \(G\).

Definition 1.1.15

We define the union \(H_1 \cup H_2\) of two subgraphs by taking the union of their respective vertex sets and edge sets, and the intersection \(H_1 \cap H_2\) by taking their intersection.

Definition 1.1.16

A subgraph \(H\) of \(G\) is induced if, for any \(x, y \in V(H)\), for any \(e \in E(G)\), if \(e\) links \(x\) and \(y\) in \(G\), then \(e \in E(H)\).

Definition 1.1.17

Let \(U\) be a subset of \(V(G)\). Then we define a subgraph \(H\) induced by \(U\) by letting:

  • \(V(H) := U\);

  • \(E(H) := \{ e \in E(G) : \text{ both endpoints of }e \text{ lie in } U\} \).

A subgraph is induced iff it is induced from as subset of \(V(G)\).

1.1.3 Finiteness

TODO: determine which notion of finiteness we use.

Definition 1.1.19
#

A graph \(G\) is finite if \(V(G)\) and \(E(G)\) are both finite sets.

1.1.4 Locally finite graph, degree and regularity

Definition 1.1.20
#

Let \(x \in V(G)\). We say \(G\) is locally finite at \(x\) if \(\mathrm{dartSet}(x)\) is finite. The graph \(G\) is locally finite if it is locally finite at every vertex.

Definition 1.1.21

Let \(x\) be a vertex of \(G\). The edegree of \(x\) is defined as \(\mathrm{edeg}(x) = \# \mathrm{dartSet}(x)\), which is an element of \(\mathbb {N} \cup \{ \infty \} \). The degree of \(x\) is the natural-number projection of the edegree.

Lemma 1.1.22
#

If \(G\) is locally finite at \(x \in V(G)\), then \(\# \mathrm{dartSet}(x,x)\) is an even number.

Lemma 1.1.23

Let \(x \in V(G)\). \(G\) is locally finite at \(x\) iff \(\mathrm{incidenceSet}(x)\) is finite, and in this case,

\begin{equation*} \deg (x) = \# \mathrm{incidenceSet}(x) + \mathrm{loopSet}(x). \end{equation*}
Proof

Using Lemma 1.1.7,

\begin{align*} \deg (x) & = \sum _{y \in V(G)} \# \mathrm{dartSet}(x,y) \\ & = 2 \# \{ e \in E(G) : e \text{ links }x,x\} + \sum _{y \in V(G), y \neq x} \# \{ e \in E(G) : e \text{ links }x,y\} \\ & = 2 \# \mathrm{loopSet}(x) + (\# \mathrm{incidenceSet}(x) - \# \mathrm{loopSet}(x)) \end{align*}

which leads to the desired equality. Hence \(G\) is locally finite at \(x\) iff \(\mathrm{incidenceSet}(x)\) and \(\mathrm{loopSet}(x)\) are both finite, which is equivalent to \(\mathrm{incidenceSet}(x)\) being finite as \(\mathrm{loopSet}(x) \subseteq \mathrm{incidenceSet}(x)\).

Definition 1.1.24

Let \(\delta \) be a non-negative integer. We say \(G\) is regular of degree \(\delta \) if it is not empty, locally finite and, for every \(x \in V(G)\), \(\deg (x) = \delta \).

Lemma 1.1.25

The graph \(G\) is regular of degree \(0\) iff \(E(G)=\emptyset \).

Definition 1.1.26

We say \(G\) is locally bounded if it is locally finite and there exists a constant \(D\) such that, for all \(x \in V(G)\), \(\deg (x) \leq D\).

1.1.5 Bipartiteness

Definition 1.1.27
#

The graph \(G\) is bipartite if there exists a partition \(U_1\), \(U_2\) of \(V(G)\) such that, for all \(e \in E(G)\), \(e\) links an element of \(U_1\) and an element of \(U_2\).

1.1.6 Walks and reachability

Several conventions can be used to define walks on a non-simple graphs, essentially due to the presence of loops. Our convention (essential for our applications) is that each loop can be traversed with two different orientations, which hence correspond to different walks. For this reason, it will be convenient to define walks using darts, as they differentiate between these two options.

Definition 1.1.28
#

Let \(x, y \in V(G)\). A dartwalk from \(x\) to \(y\) on \(G\) is given by a finite list \((d_1, \ldots , d_m)\) of darts, satisfying the following:

  • \(\mathrm{start}(d_1)=x\) and \(\mathrm{end}(d_m)=y\);

  • for any \(i \in \{ 1, \ldots , m-1\} \), \(\mathrm{end}(d_{i+1}) = \mathrm{start}(d_i)\).

[todo: notation start and end of walk]

Definition 1.1.29
#

The length of a walk is its number of darts.

Definition 1.1.30
#

The support of the dartwalk \((d_i)_{1 \leq i \leq m}\) is the list \((x_i)_{0 \leq i \leq m}\) with \(x_0=\mathrm{start}(d_1)\) and \(x_i = \mathrm{end}(d_i)\) for \(1 \leq i \leq m\).

Definition 1.1.31

Let \(w = (d_i)_{1 \leq i \leq m}\) be a dartwalk from \(x\) to \(y\) and \(w' = (d_i')_{1 \leq i \leq m'}\) be a dartwalk from \(y\) to \(z\). We define the concatenation \(w \cdot w'\) to be the dartwalk \((d_i'')_{1 \leq i \leq m+m'}\) where \(d_i''=d_i\) for \(i \leq m\) and \(d_{i-m}'\) for \(i {\gt} m\).

The length of the concatenation of two dartwalks is the sum of their lengths.

Definition 1.1.33
#

We define a binary relation on \(V(G)\) by: \(x \sim y\) if there exists a dartwalk from \(x\) to \(y\) on \(G\). We then say \(x\) and \(y\) are reachable.

Proposition 1.1.34
#

The reachability relation is an equivalence relation on \(V(G)\).

Proof

This is the same proof as in SimpleGraph.

Lemma 1.1.35
#

Let \(x\), \(y\) in \(V(G)\). If \(x\) and \(y\) are adjacent then \(x\) and \(y\) are reachable.

Definition 1.1.36

A dartwalk \((d_i)_{1 \leq i \leq m}\) is called a path if for all \(1 \leq i,j \leq m\), \(\mathrm{start}(d_i) = \mathrm{start}(d_j) \Rightarrow i=j\).

Definition 1.1.37
#

The graph \(G\) is a tree if, for all \(x\), \(y \in V(G)\), there exists a unique path from \(x\) to \(y\).

1.1.7 Connectedness

We define the notion of connectedness and the connected components of a graph.

Definition 1.1.38
#

A graph is preconnected if any pair of vertices is reachable.

Definition 1.1.39
#

The graph \(G\) is connected if it is preconnected and \(V(G)\) is not empty.

Lemma 1.1.40

The graph \(G\) is connected if and only if there exists \(x \in V(G)\) such that, for all \(y \in V(G)\), \(x\) and \(y\) are reachable.

Definition 1.1.41

A connected component of \(G\) is an equivalence class of \(V(G)\) for the relation reachable.

Definition 1.1.42

For any vertex \(x\), we define \(\mathrm{cc}(x)\) to be the unique connected component of \(G\) containing \(x\).

Lemma 1.1.43

Let \(x, y \in V(G)\). Then \(\mathrm{cc}(x) = \mathrm{cc}(y)\) iff \(x\) and \(y\) are reachable.

Let \(C\) be a connected component of \(G\). Then the subgraph induced by \(C\) is connected.

Definition 1.1.45

We denote as \(\mathrm{ConnComp}(G)\) the set of connected components of \(G\).

Proposition 1.1.46

\(\mathrm{ConnComp}(G)\) is a partition of \(V(G)\).

If \(V(G)\) is finite, then \(\mathrm{ConnComp}(G)\) is finite and \(\# V(G) \leq \# \mathrm{ConnComp}(G)\).

1.1.8 Morphisms between graphs

[Question: the following notion of morphism does not contain morphisms which reverse loops. Should they be included?]

Let \(G_1\) and \(G_2\) be two graphs.

Definition 1.1.48
#

A function \(f : G_1 \rightarrow G_2\) is a pair of functions \(f_V : V(G_1) \rightarrow V(G_2)\) and \(f_E : E(G_1) \rightarrow E(G_2)\). We will denote \(f_V(x)=f(x)\) for \(x \in V(G_1)\) and \(f_E(e)=f(e)\) for \(e \in E(G_1)\), i.e. view \(f\) as a function from \(V(G_1) \cup E(G_1)\) to \(V(G_2) \cup E(G_2)\) sending vertices on vertices and edges on edges.

In the following, the usual operations and definitions on functions are with respect to the function \(f : V(G_1) \cup E(G_1) \rightarrow V(G_2) \cup E(G_2)\).

Definition 1.1.49

A morphism \(f : G_1 \rightarrow G_2\) is a function \(f : G_1 \rightarrow G_2\) such that for all \(x, y \in V(G_1)\), \(e \in E(G_1)\), if \(e\) links \(x\) and \(y\) in \(G_1\), then \(f(e)\) links \(f(x)\) and \(f(y)\) in \(G_2\).

Definition 1.1.50

A morphism \(f : G_1 \rightarrow G_2\) is an isomorphism if there exist a morphism \(g : G_2 \rightarrow G_1\) which is the inverse of \(f\). In this case we denote \(f^{-1}\) this inverse.

Definition 1.1.51

A morphism \(f : G_1 \rightarrow G_2\) is a local isomorphism if for all \(x \in V(G_1)\), the restriction of \(f\) to \(\mathrm{incidenceSet}(x)\) is a bijection onto \(\mathrm{incidenceSet}(f(x))\).

Definition 1.1.52

A morphism \(f : G_1 \rightarrow G_2\) is a covering map if it is surjective and a local isomorphism.

[todo: dart version]

Definition 1.1.53

A graph \(G_2\) is a covering graph of a graph \(G_1\) if there exists a covering map \(\pi : G_2 \rightarrow G_1\).

1.1.9 Rooted graphs

Definition 1.1.54
#

A rooted graph is a graph \(G\) with a distinguished vertex \(r\), its root.

Definition 1.1.55

Let \((G,r)\) be a rooted graph. Let \(x \in V(G)\). A vertex \(y \in V(G)\) is a parent of \(x\) if \(y\) is adjacent to \(x\) and \(\mathrm{dist}(r,y) = \mathrm{dist}(r,x)-1\).

Definition 1.1.56

Let \((G,r)\) be a rooted graph. A child of \(x \in V(G)\) is an adjacent vertice which is not a parent.

Lemma 1.1.57

The root of a rooted graph has no parent.

Lemma 1.1.58

Let \((G,r)\) be a rooted graph. Assume \(G\) is connected. Any vertex \(x \in V(G)\) distinct from the root admits a parent.

Definition 1.1.59

A rooted tree is a rooted graph \((G,r)\) which is a tree.

Proposition 1.1.60

Let \((G,r)\) be a rooted tree. Any vertex \(x \in V(G)\) distinct from the root admits a unique parent.

1.1.10 Nonbacktracking walks and reduction

Definition 1.1.61

A dartwalk \((d_i)_{1 \leq i \leq m}\) is called non-backtracking if for all \(1 \leq i {\lt} m\), \(d_{i+1} \neq \mathrm{rev}(d_{i})\).

Definition 1.1.62

Let \(w = (d_i)_{1 \leq i \leq m}\) be a dartwalk. We say \(w\) admits a reduction if there exists \(1 \leq j {\lt} m\) such that \(d_{j+1} = \mathrm{rev}(d_j)\). In this case, we call the dartwalk \(w'=(d_i')_{1 \leq i \leq m-2}\) obtained by letting \(d_i'=d_i\) for \(i{\lt}j\) and \(d_i'=d_{i+2}\) for \(i \geq j\) a reduction of \(w\).

Definition 1.1.63

Let \(x, y \in V(G)\). Two dartwalks \(w = (d_i)_{1 \leq i \leq m}\) and \(w' = (d_i')_{1 \leq i \leq m'}\) from \(x\) to \(y\) are said to be homotopic if there exists a finite sequence \((w_j)_{1 \leq j \leq n}\) such that:

  • for all \(1 \leq j \leq n\), \(w_j\) is a dartwalk from \(x\) to \(y\);

  • \(w_1=w\) and \(w_n=w'\);

  • for any \(1 \leq j {\lt} n\), either \(w_j\) is a reduction of \(w_{j+1}\) or \(w_{j+1}\) is a reduction of \(w_j\).

Proposition 1.1.64
#

The homotopy relation is an equivalence relation.

Let \(x, y \in V(G)\). Any dartwalk from \(x\) to \(y\) is homotopic to a unique nonbacktracking dartwalk, which we denote by \(w_{\mathrm{nb}}\).

Proof

Might be able to use the reduction results from coproduct library.

1.1.11 Universal cover

Let \((G,r)\) be a rooted graph. We assume in this section that \(G\) is connected.

We define the universal cover \(\hat{G}\) of \((G,r)\), which is a rooted graph, by letting:

  • \(V(\hat G)\) be the set of non-backtracking dartwalks on \(G\) starting at \(r\);

  • the dartset \(D(\hat{G})\) is defined as the set of pairs \((w,d)\) where \(w\) is a non-backtracking dartwalk (\(w \in V(\hat{G})\)) and \(d \in D(G)\) is a dart on \(G\) starting at the endpoint of \(w\);

  • for \((w,d) \in D(\hat{G})\), \(\mathrm{start}_{\hat{G}}(w,d) = w\), \(\mathrm{end}_{\hat{G}}(d) = (w \cdot d)_{\mathrm{nb}}\) and \(\mathrm{rev}_{\hat{G}}(w,d) = ((w \cdot d)_{\mathrm{nb}},\mathrm{rev}_G(d))\);

  • the root \(\hat{r}\) is the empty walk from \(r\) to \(r\).

Theorem 1.1.67

The universal cover \((\hat{G}, \hat{r})\) of \((G,r)\) is a rooted tree.

Theorem 1.1.68

The projection map \(\pi : \hat{G} \rightarrow G\) which is defined by \(\pi (w)=\mathrm{end}(w)\) for \(w \in V(\hat G)\) and \(\pi (w,d)=d\) for \((w,d) \in D(\hat G)\) is a covering map.

1.1.12 Metric

Definition 1.1.69
#

Let \(x, y \in V(G)\). The extended distance \(\mathrm{edist}(x,y)\) between \(x\) and \(y\) is the length of the shortest dartwalk from \(x\) to \(y\) (with value in \(\mathbb {N}\cup \{ \infty \} \)).

Definition 1.1.70

The distance between \(x\) and \(y\) is \(\mathrm{dist}(x,y) = \mathrm{edist}(x,y).\mathrm{toNat}\).

Lemma 1.1.71

Let \(x, y \in V(G)\). \(\mathrm{dist}(x,y) \neq 0\) iff \(x \neq y\) and there exists a dartwalk from \(x\) to \(y\).

Lemma 1.1.72

Let \(x, y \in V(G)\), we assume \(\mathrm{dist}(x,y) \neq 0\). Then there exists a dartwalk of length \(\mathrm{dist}(x,y)\) from \(x\) to \(y\).

Definition 1.1.73

Let \(x \in V(G)\) and \(r \in \mathbb {N}\). We define the ball \(B_r(x)\) of radius \(r\) centered at \(x\) as the set of vertices \(y \in V(G)\) such that \(\mathrm{edist}(x,y)\leq r\).

Proposition 1.1.74

Assume \(G\) is locally bounded and let \(D = \sup _{x \in V(G)} \deg (x)\). Then, for any \(x \in V(G)\), any \(r \in \mathbb {N}\), \(\# B_r(x) \leq D^r\).

Proof

todo

1.1.13 Diameter

Definition 1.1.75

The extended diameter of a graph \(G\) is \(\mathrm{ediam}(G) := \sup _{x,y \in V(G)} \mathrm{edist}(x,y)\).

Definition 1.1.76

The diameter of \(G\) is \(\mathrm{diam}(G) = \mathrm{ediam}(G).\mathrm{toNat}\).

Assume \(V(G)\) is finite and non-empty. Then \(\mathrm{diam}(G) \neq 0\) if and only if \(G\) is connected.

Proof

To be adapted from SimpleGraph.

Assume \(G\) is a graph of finite diameter. For any \(x \in V(G)\), \(V(G)\) is included in the ball of radius \(\mathrm{diam}(G)\) centered at \(x\).

Proof

Let \(x, y \in V(G)\). By definition of the diameter, \(\mathrm{dist}(x,y) \leq \mathrm{diam}(G)\) and hence \(y\) lies in the ball of radius \(\mathrm{diam}(G)\) centered at \(x\).

Proposition 1.1.79

Let \(G\) be a regular graph of degree \(\mathfrak {d}\). Assume \(V(G)\) is finite and not empty. Then

\begin{equation} \mathrm{diam}(G) \geq \log _{\mathfrak {d}} \# V(G). \end{equation}
4

Proof

Let \(x \in V(G)\). By Lemma 1.1.78, if \(r := \mathrm{diam}(G)\), then \(V(G) \subseteq B_r(x)\). In particular \(\# V(G) \leq \# B_r(X) \leq \mathfrak {d}^r\) by Proposition 1.1.74.

1.2 Space of functions on a graph

Let \(G\) be a graph.

Throughout this blueprint, we will be interested in the space \(\mathbb {C}^{V(G)}\) of functions \(V(G) \rightarrow \mathbb {C}\). This space is a \(\mathbb {C}\) vectorial space. Note that, in this context, \(0\) is the constant function equal to \(0\).

For the purpose of analysis, we will be interested in the Hilbert space \(\ell ^2(G) := \ell ^2(V(G))\), which is defined as the set of functions \(f : V(G) \rightarrow \mathbb {C}\) which are square-summable, equipped with the inner product

\[ \langle f, g \rangle = \sum _{x \in V(G)} f(x) \overline{g(x)}. \]

Note that, whenever \(V(G)\) is finite, \(\ell ^2(G) = \mathbb {C}^{V(G)}\) as any finite sequence is square-summable. The space \(\mathcal{B}(\ell ^2(G))\) of bounded linear operators on \(\ell ^2(G)\) is a unital \(\mathbb {C}^*\)-algebra.

Let us introduce several useful families of functions.

1.2.1 Constant fonctions

Definition 1.2.1
#

A function \(V(G) \rightarrow \mathbb {C}\) is constant if, for all \(x, y \in V(G)\), \(f(x)=f(y)\).

Definition 1.2.2
#

The constant function equal to \(1\) is defined by

\begin{equation} \mathbf{1}: \begin{cases} V(G) & \rightarrow \mathbb {C}\\ x & \mapsto 1. \end{cases} \end{equation}
5

Lemma 1.2.3

Assume \(V(G)\) is not empty. Then \(\mathbf{1}\neq 0\).

Proof

If \(V(G)\) is not empty, then there exists \(x \in V(G)\). Then \(\mathbf{1}(x) = 1 \neq 0\), and hence \(\mathbf{1}\neq 0\).

Assume \(V(G)\) is not empty. Then the space of constant functions is a vectorial subspace of \(\mathbb {C}^{V(G)}\), of dimension \(1\), generated by \(\mathbf{1}\).

Proof

We directly check that:

  • the constant function equal to \(0\) is constant;

  • for any constant functions \(f_1\), \(f_2\) and any \(c \in \mathbb {C}\), the function \(f_1+cf_2\) is also constant;

both by direct application of the definition. We also check that the function \(\mathbf{1}\) is constant.

Let \(f : V(G) \rightarrow \mathbb {C}\) be a constant function. Since \(V(G)\) is not empty there exists \(x \in V(G)\). Then for all \(y \in V(G), f(y) = f(x) \mathbf{1}(y)\), so \(f = f(x) \mathbf{1}\), which allows to conclude.

Lemma 1.2.5

The space of constant functions is included in \(\ell ^2(G)\) if and only if \(V(G)\) is finite.

Lemma 1.2.6

Assume \(V(G)\) is non-empty and finite. Then, the orthogonal of the space of constant functions is

\begin{equation*} \mathbf{1}^\perp = \Big\{ f : V(G) \rightarrow \mathbb {C}: \sum _{x \in V(G)}f(x)=0 \Big\} . \end{equation*}
Proof

By definition of the orthogonal, \(\mathbf{1}^\perp \) is the space of functions \(f \in \ell ^2(G)\) such that \(\langle f, \mathbf{1}\rangle = 0\). Since \(V(G)\) is finite all functions \(V(G) \rightarrow \mathbb {C}\) are in \(\ell ^2(G)\). By definition of the scalar product and the constant function, \(\langle f, \mathbf{1}\rangle = \sum _{x \in V(G)}f(x)\).

1.2.2 Indicator functions

Definition 1.2.7
#

Let \(U\) be a subset of \(V(G)\). We define the indicator function \(\mathbf{1}_U : V(G) \rightarrow \mathbb {C}\) by

\begin{equation} \mathbf{1}_U (x) = \begin{cases} 1 & \text{if } x \in U \\ 0 & \text{otherwise}. \end{cases} \end{equation}
8

Lemma 1.2.8

The indicator function of a set \(U\) is in \(\ell ^2(G)\) iff \(U\) is finite.

Lemma 1.2.9

Let \((\pi _U)_{U \in I}\) be a partition of \(V(G)\). Then \(\mathbf{1}= \sum _{U \in I} \mathbf{1}_U\).

1.2.3 Locally constant functions

Definition 1.2.10
#

A function \(f : V(G) \rightarrow \mathbb {C}\) is said to be locally constant if, for all \(x,y \in V(G)\), if \(x\) is adjacent to \(y\), then \(f(x)=f(y)\).

We have the following dart versions of the definition.

Lemma 1.2.11

Let \(f : V(G) \rightarrow \mathbb {C}\). The following are equivalent:

  1. \(f\) is locally constant;

  2. for every \(x \in V(G)\), for every \(d \in \mathrm{dartSet}(x)\), \(f(x)=f(\mathrm{end}(d))\).

  3. for every \(d \in D(G)\), \(f(\mathrm{start}(d))=f(\mathrm{end}(d))\).

Let \(f : V(G) \rightarrow \mathbb {C}\) be a locally constant function. For any \(x, y \in V(G)\), if \(x\) and \(y\) are reachable, then \(f(x)=f(y)\).

Proof

By induction.

A locally constant function on a preconnected graph is constant.

Proof

Let \(G\) be a preconnected graph and \(f : V(G) \rightarrow \mathbb {C}\) be a locally constant function. For any \(x\), \(y\) in \(V(G)\), by Definition 1.1.38, there exists a walk from \(x\) to \(y\). Lemma 1.2.12 this implies \(f(x)=f(y)\). Hence by Definition 1.2.1, \(f\) is constant.

Lemma 1.2.14

The restriction of a locally constant function to a subgraph is locally constant on that subgraph.

Proof

Let \(f\) be a locally constant function on \(G\), and \(H\) be a subgraph of \(G\). Let \(x, y\) be adjacent vertices in \(H\). By Lemma 1.1.14, \(x\) and \(y\) are also adjacent in \(G\). Then \(f(x)=f(y)\).

A function \(f\) is locally constant if and only if its restriction to each connected component is a constant function.

Proof

Assume \(f\) is locally constant. Let \(C\) be a connected component of \(G\). By Lemma 1.2.14, the restriction of \(f\) to \(C\) is locally constant. By Theorem 1.1.44, \(C\) is preconnected. So by Lemma 1.2.13, the restriction of \(f\) to \(C\) is constant.

Assume the restriction of \(f\) to each connected component is constant. Let \(x\), \(y\) be adjacent vertices. Then by Lemma 1.1.43, \(\mathrm{cc}(x) = \mathrm{cc}(y)\) which implies that \(y \in \mathrm{cc}(x)\). This allows to conclude since \(f\) is constant on \(\mathrm{cc}(x)\) by hypothesis and Theorem 1.1.44.

Lemma 1.2.16

The indicator function of a connected component is locally constant.

Lemma 1.2.17

The space of locally constant functions is a vectorial subspace of the space of functions \(V(G) \rightarrow \mathbb {C}\), and the \(\{ \mathbf{1}_C, C \in \mathrm{ConnComp}(G)\} \) are a basis of this space.

Proof

We directly check that:

  • the constant function equal to \(0\) is locally constant;

  • for any locally constant functions \(f_1\), \(f_2\) and any \(c \in \mathbb {C}\), the function \(f_1+cf_2\) is also locally constant;

both by direct application of the definition.

Now, for any connected component \(C\), \(\mathbf{1}_C\) is locally constant by Lemma 1.2.16.

We prove these functions form a basis using the fact that, by Proposition 1.1.46 and Lemma 1.2.9,

\begin{equation*} \mathbf{1}= \sum _{C \in \mathrm{ConnComp}(G)} \mathbf{1}_C \end{equation*}

and hence if \(f\) is locally constant,

\begin{equation*} \forall x \in V(G), f(x) = \sum _{C \in \mathrm{ConnComp}(G)} f(x) \mathbf{1}_C(x). \end{equation*}

The function \(f\) is constant on each connected component so this is a decomposition in the desired basis. The decomposition is unique as for all \(x \in V(G)\), the coefficient associated to \(\mathrm{cc}(x)\) must be \(f(x)\) since \(\mathbf{1}_C(x)=0\) for all other connected component.

Corollary 1.2.18

The dimension of the space of locally constant functions is the number of connected components of \(G\).

1.3 Adjacency operator

Let \(G\) be a graph.

1.3.1 Definition of the adjacency operator and action on constants

Assume \(G\) is locally finite.

Definition 1.3.1

We define the adjacency operator \(a\) as the linear operator acting on the space of functions \(f : V(G) \rightarrow \mathbb {C}\) by

\[ a f (x) := \sum _{d \in \mathrm{dartSet}(d)} f(\mathrm{end}(x)). \]

Let \(f\) be a locally constant function. Then, for all \(x \in V(G)\), \(af(x) = \deg (x) f(x)\).

Proof

Let \(x \in V(G)\). By definition,

\begin{equation*} af(x) = \sum _{d \in \mathrm{dartSet}(x)} f(\mathrm{end}(d)). \end{equation*}

By Lemma 1.1.6, for all \(d \in \mathrm{dartSet}(x)\), \(\mathrm{end}(d)\) is adjacent to \(x\) and in particular \(f(\mathrm{end}(d))=f(x)\). This leads to the conclusion by Definition 1.1.21.

For any \(x \in V(G)\), \(a \mathbf{1}(x) = \deg (x)\).

1.3.2 Norm of the adjacency operator

Let \(G\) be a locally finite graph. The aim of this subsection is to prove the following.

Theorem 1.3.4
#

Assume \(G\) is locally bounded. Then the adjacency operator is a bounded operator on \(\ell ^2(G)\) and its norm satisfies \(\| a\| \leq \sup _{x \in V(G)} \deg (x)\).

Here is a key lemma.

For any function \(f : V(G) \rightarrow \mathbb {C}\), any vertex \(x \in V(G)\),

\begin{equation} |af(x)|^2 \leq \deg (x) \sum _{d \in \mathrm{dartSet}(x)} |f(\mathrm{end}(d))|^2. \end{equation}
11

Furthermore, this is an equality if and only if for any \(y, z\) adjacent to \(x\), \(f(y) = f(z)\).

Proof

Let \(f : V(G) \rightarrow \mathbb {C}\) and \(x \in V(G)\). By Definition 1.3.1,

\begin{equation} |af(x)|^2 = \Big| \sum _{d \in \mathrm{dartSet}(x)} f(\mathrm{end}(d))\Big|^2. \end{equation}
12

By the Cauchy-Schwarz inequality applied to the complex vectors \(v_1 := (1)_{d \in \mathrm{dartSet}(x)}\) and \(v_2 := (f(\mathrm{end}(d)))_{d \in \mathrm{dartSet}(x)}\) we have

\begin{align*} |af(x)|^2 & = \left| v_1 \cdot v_2 \right|^2 \leq \| v_1\| _2^2 \| v_2\| _2^2 \\ & \leq \left( \sum _{d \in \mathrm{dartSet}(x)} 1 \right) \left( \sum _{d \in \mathrm{dartSet}(x)} |f(\mathrm{end}(d))|^2 \right). \end{align*}

This leads to the inequality by Definition 1.1.21. The equality case comes from the equality case in Cauchy-Schwarz, which occurs if and only if the vectors \(v_1\) and \(v_2\) are colinear, which is equivalent to the announced condition as \(v_1\) is a non-zero constant vector, using Lemma 1.1.6.

Then Proposition 1.3.4 is a trivial consequence of the following lemma, together with the definition of bounded operator and operator norm.

Lemma 1.3.6

Assume \(G\) is locally bounded. Then, for any \(f \in \ell ^2(G)\), \(a f \in \ell ^2(G)\) and

\begin{equation} \| a f\| \leq \sup _{x \in V(G)} \deg (x) \times \| f\| . \end{equation}
13

Furthermore, the equality occurs if and only if \(G\) is regular of degree \(\delta \) for some non-negative integer \(\delta \) and, for any \(x \in V(G)\), for any \(y\) and \(z\) adjacent to \(x\), \(f(y)=f(z)\).

Proof

Let us write \(D := \sup _{x \in V(G)} \deg (x)\). By definition,

\begin{equation*} \| af\| ^2 = \sum _{x \in V(G)} |af(x)|^2 \end{equation*}

and \(af \in \ell ^2(G)\) iff this sum is finite. We sum Lemma 1.3.5 for all vertices of \(G\) and obtain that

\begin{equation*} \_ \leq \sum _{x \in V(G)} \deg (x) \sum _{d \in \mathrm{dartSet}(x)} |f(\mathrm{end}(d))|^2 \leq D \sum _{d \in D(G)} |f(\mathrm{end}(d))|^2. \end{equation*}

We apply the involution \(\mathrm{rev}\) to the sum, changing indices, to obtain

\begin{equation*} \_ = D \sum _{d \in D(G)} |f(\mathrm{end}(\mathrm{rev}(d)))|^2 = D \sum _{d \in D(G)} |f(\mathrm{start}(d))|^2. \end{equation*}

Now by Definitions 1.1.4 and 1.1.21

\begin{equation*} \_ = D \sum _{x \in V(G)} \sum _{x \in \mathrm{dartSet}(x)} |f(\mathrm{start}(d))|^2 = D \sum _{x \in V(G)} \deg (x) |f(x)|^2 \leq D^2 \sum _{x \in V(G)} |f(x)|^2 = D^2 \| f\| ^2. \end{equation*}

This means that \(af \in \ell ^2(G)\) and \(\| af\| \leq D \| f\| \), which was our claim. If the equality occurs, since all terms are non-negative, it means that \(\deg (x)\) is constant (i.e. the graph is regular), and that there is equality in each term of Lemma 1.3.5, which is the conclusion.

1.3.3 Adjacency operator is self-adjoint

Let \(G\) be a locally bounded graph.

Proposition 1.3.7
#

The adjacency operator is selfadjoint.

Here is the key lemma.

Lemma 1.3.8

For any \(f\), \(g\) in \(\ell ^2(G)\),

\begin{equation} \langle af, g \rangle = \sum _{d \in D(G)} f(\mathrm{end}(d)) \overline{g(\mathrm{start}(d))}. \end{equation}
14

Proof

Let \(f\), \(g\) be elements of \(\ell ^2(G)\). By Proposition 1.3.6, \(a f \in \ell ^2(G)\). By definition of the scalar product,

\begin{equation} \langle af, g \rangle = \sum _{x \in V(G)} af(x) \overline{g(x)}. \end{equation}
15

By Definition 1.3.1,

\begin{equation} \langle af, g \rangle = \sum _{x \in V(G)} \sum _{d \in \mathrm{dartSet}(x)} f(\mathrm{end}(d)) \overline{g(x)} \end{equation}
16

which we can rewrite as the claim.

We are now ready to prove Proposition 1.3.7.

Proof

Let \(f\), \(g\) be elements of \(\ell ^2(G)\). We have by Lemma 1.3.8

\begin{equation*} \langle af, g \rangle = \sum _{d \in D(G)} f(\mathrm{end}(d)) \overline{g(\mathrm{start}(d))} = \overline{\sum _{d \in D(G)} g(\mathrm{end}(d)) \overline{f(\mathrm{start}(d))}} \end{equation*}

by complex conjugation and applying the involution \(\mathrm{rev}\) to exchange the start and end of each dart. Hence by Lemma 1.3.8

\begin{equation*} \langle af, g \rangle = \overline{\langle ag, f \rangle } = \langle f, ag \rangle . \end{equation*}

This means that \(a^*=a\) by definition of the adjoint, which means \(a\) is self-adjoint by definition.

Corollary 1.3.9

The spectrum of the adjacency operator is real.

Proof

This follows from Proposition 1.3.7 with selfAdjoint.mem_spectrum_eq_re.

Lemma 1.3.10

The spectrum of \(a\) is included in the segment \([-D,D]\) where \(D = \sup _{x \in V(G)} \deg (x)\).

Proof

By Corollary 1.3.9, the spectrum of \(a\) is real. By spectrum.subset_closedBall_norm, it is included in the closed ball of center \(0\) and radius \(\| a\| \). We have \(\| a\| \leq D\) by Theorem 1.3.4.

If \(V(G)\) is finite, then the spectrum of the adjacency operator is a family of \(\# V(G)\) eigenvalues.

Proof

If \(V(G)\) is finite, then \(\ell ^2(G)\) has finite dimension. So this is just the spectral theorem for self-adjoint operators in finite dimension.

1.3.4 From adjacency operator to graph

We now introduce a construction allowing to go from adjacency operator to graph, which will be useful to define random graphs.

We first make a few observations as to the properties of adjacency operators on locally finite graphs.

Let \(x, y \in V(G)\). Then

\begin{equation*} \langle a \mathbf{1}_{\{ x\} }, \mathbf{1}_{\{ y\} } \rangle = \# \mathrm{dartSet}(x,y). \end{equation*}
Proof

The functions \(\mathbf{1}_{\{ x\} }\) and \(\mathbf{1}_{\{ y\} }\) are trivially in \(\ell ^2(G)\). By Lemma 1.3.8,

\begin{equation*} \langle a \mathbf{1}_{\{ x\} }, \mathbf{1}_{\{ y\} } \rangle = \sum _{d \in D(G)} \mathbf{1}_{\{ x\} }(\mathrm{start}(d)) \overline{\mathbf{1}_{\{ y\} }(\mathrm{end}(d))} \end{equation*}

which is exactly the claim by Definition 1.1.5 and Definition 1.2.7.

Lemma 1.3.13

For any \(x, y \in V(G)\), \(\langle a \mathbf{1}_{\{ x\} }, \mathbf{1}_{\{ y\} } \rangle \) is a non-negative integer, which is even as soon as \(x=y\).

Proof

By Lemma 1.3.12, this quantity is a cardinal of a set, and hence a non-negative integer. The parity when \(x=y\) comes from Lemma 1.1.22.

Definition 1.3.14
#

Let \(V\) be a set. An operator \(a : V^{\mathbb {C}} \rightarrow V^{\mathbb {C}}\) is adjacency-like if it satisfies the following properties:

  • for all \(x \in V\), \(a \mathbf{1}_{\{ x\} } \in \ell ^2(G)\);

  • for all \(x, y \in V\), \(a_{x,y} := \langle a \mathbf{1}_{\{ x\} }, \mathbf{1}_{\{ y\} } \rangle \) is a non-negative integer;

  • for all \(x, y \in V\), \(a_{x,y}=a_{y,x}\);

  • for all \(x \in V\), \(a_{x,x}\) is even.

We then associate to any adjacent-like operator a dart-like structure.

Definition 1.3.15

Let \(V\) be a set and \(a\) be an adjacency-like operator on \(V\). We define a dart-like structure on \(V\) by taking:

  • \(D\) is the set of \((x,y,i)\) where \(x \in V\), \(y \in V\), and \(i\) is an integer such that

    • if \(x \neq y\) then \(1 \leq i \leq a_{x,y}\);

    • if \(x=y\) then \(1 \leq |i| \leq a_{x,x}\).

  • for any \((x,y,i) \in D\), we let \(\mathrm{start}(x,y,i)=x\), \(\mathrm{end}(x,y,i)=y\) and

    \begin{equation*} \mathrm{rev}(x,y,i) := \begin{cases} \mathrm{rev}(y,x,i) & \text{if } x \neq y \\ \mathrm{rev}(x,y,-i) & \text{if } x = y. \end{cases}\end{equation*}
Definition 1.3.16

Let \(a\) be a adjacency-like operator on \(V\). We define the graph associated to \(a\) by taking the graph associated to the dartlike structure associated to \(a\).

Lemma 1.3.17

Let \(a\) be a adjacency-like operator on \(V\). Then the graph \(G\) associated to \(a\) is a graph, of vertex set \(V\), and adjacency operator \(a\).

Lemma 1.3.18

Let \(V\) be a set. The space of adjacency-like operators on \(V\) is stable by addition, i.e. if \(a\), \(a'\) are adjacency-like, so is \(a+a'\).