Documentation

TauCeti.Combinatorics.SimpleGraph.Maps

Pulling a simple graph back along an embedding #

Pulling a simple graph back along an embedding f : V ↪ W forgets everything outside the window f '' V, and pushing the result forward again recovers exactly what the window sees: the intersection of the graph with the complete graph supported on that window. Since pushing forward along an embedding is injective, prescribing a pullback is therefore the same as prescribing that intersection — a condition on an induced subgraph turned into a condition on edges.

The window of a graph on ℕ spanned by the first n labels is the pullback along Fin.val; it is how a graph on an infinite label set is read as a finite sample.

Main definitions #

Main results #

@[simp]
theorem SimpleGraph.map_comap_eq_inf_map_top {V : Type u_1} {W : Type u_2} (f : V ↪ W) (G : SimpleGraph W) :

Pushing a pullback forward again cuts the graph down to the window seen by the embedding.

theorem SimpleGraph.comap_eq_iff_inf_map_top {V : Type u_1} {W : Type u_2} (f : V ↪ W) (G : SimpleGraph W) (H : SimpleGraph V) :
SimpleGraph.comap (⇑f) G = H ↔ G ⊓ SimpleGraph.map ⇑f ⊤ = SimpleGraph.map (⇑f) H

A pullback along an embedding is prescribed exactly by prescribing the intersection of the graph with the window seen by the embedding.

@[simp]
theorem SimpleGraph.map_sup {V : Type u_1} {W : Type u_2} (f : V → W) (G H : SimpleGraph V) :

Pushing a graph forward along any map commutes with joins: an edge of the image of G ⊔ H is the image of an edge of G or of an edge of H.

The window of a graph on ℕ spanned by the first n labels.

Equations
Instances For
    @[simp]
    theorem SimpleGraph.restrictFin_adj {n : ℕ} (G : SimpleGraph ℕ) (a b : Fin n) :
    (G.restrictFin n).Adj a b ↔ G.Adj ↑a ↑b
    theorem SimpleGraph.comap_restrictFin {m n : ℕ} (G : SimpleGraph ℕ) (f : Fin m → Fin n) :
    SimpleGraph.comap f (G.restrictFin n) = SimpleGraph.comap (fun (i : Fin m) => ↑(f i)) G

    Pulling a window back along a map of finite labels is pulling the graph back along the composite labels.

    @[simp]

    The first of two consecutive windows of a window is the window.

    @[simp]

    The second of two consecutive windows of a window is the window at the offset.

    @[simp]
    theorem SimpleGraph.comap_val (G : SimpleGraph ℕ) (n : ℕ) :
    SimpleGraph.comap (fun (i : Fin n) => ↑i) G = G.restrictFin n

    Pulling back along the coercion of finite labels is taking the window.

    @[simp]

    A window of a longer window is the shorter window: pulling the length-n window back along the inclusion of Fin m in Fin n is the length-m window.

    noncomputable def SimpleGraph.adjArray {V : Type u_3} (G : SimpleGraph V) :
    V × V → Bool

    The adjacency array of a graph: true exactly on edges.

    Equations
    Instances For
      @[simp]
      theorem SimpleGraph.adjArray_apply {V : Type u_3} (G : SimpleGraph V) (i j : V) :
      G.adjArray (i, j) = decide (G.Adj i j)

      The adjacency array is true exactly on edges.

      A graph is determined by its adjacency array.