Homomorphisms from finite subgraphs #
This file defines the type of finite subgraphs of a SimpleGraph
and proves a compactness result
for homomorphisms to a finite codomain.
Main statements #
SimpleGraph.nonempty_hom_of_forall_finite_subgraph_hom
: If every finite subgraph of a (possibly infinite) graphG
has a homomorphism to some finite graphF
, then there is also a homomorphismG →g F
.
Notations #
→fg
is a module-local variant on →g
where the domain is a finite subgraph of some supergraph
G
.
Implementation notes #
The proof here uses compactness as formulated in nonempty_sections_of_finite_inverse_system
. For
finite subgraphs G'' ≤ G'
, the inverse system finsubgraphHomFunctor
restricts homomorphisms
G' →fg F
to domain G''
.
The subtype of G.subgraph
comprising those subgraphs with finite vertex sets.
Equations
- SimpleGraph.Finsubgraph G = { G' : SimpleGraph.Subgraph G // Set.Finite G'.verts }
Instances For
A graph homomorphism from a finite subgraph of G to F.
Equations
- SimpleGraph.FinsubgraphHom G' F = (SimpleGraph.Subgraph.coe ↑G' →g F)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- SimpleGraph.instSupFinsubgraph = { sup := fun (G₁ G₂ : SimpleGraph.Finsubgraph G) => { val := ↑G₁ ⊔ ↑G₂, property := (_ : Set.Finite ((↑G₁).verts ∪ (↑G₂).verts)) } }
Equations
- SimpleGraph.instInfFinsubgraph = { inf := fun (G₁ G₂ : SimpleGraph.Finsubgraph G) => { val := ↑G₁ ⊓ ↑G₂, property := (_ : Set.Finite (↑G₁ ⊓ ↑G₂).verts) } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- SimpleGraph.instTopFinsubgraph = { top := { val := ⊤, property := (_ : Set.Finite Set.univ) } }
Equations
- SimpleGraph.instSupSetFinsubgraph = { sSup := fun (s : Set (SimpleGraph.Finsubgraph G)) => { val := ⨆ G_1 ∈ s, ↑G_1, property := (_ : Set.Finite (⨆ G_1 ∈ s, ↑G_1).verts) } }
Equations
- SimpleGraph.instInfSetFinsubgraph = { sInf := fun (s : Set (SimpleGraph.Finsubgraph G)) => { val := ⨅ G_1 ∈ s, ↑G_1, property := (_ : Set.Finite (⨅ G_1 ∈ s, ↑G_1).verts) } }
Equations
- One or more equations did not get rendered due to their size.
The finite subgraph of G generated by a single vertex.
Equations
- SimpleGraph.singletonFinsubgraph v = { val := SimpleGraph.singletonSubgraph G v, property := (_ : Set.Finite {v}) }
Instances For
The finite subgraph of G generated by a single edge.
Equations
- SimpleGraph.finsubgraphOfAdj e = { val := SimpleGraph.subgraphOfAdj G e, property := (_ : Set.Finite {u, v}) }
Instances For
Given a homomorphism from a subgraph to F
, construct its restriction to a sub-subgraph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse system of finite homomorphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If every finite subgraph of a graph G
has a homomorphism to a finite graph F
, then there is
a homomorphism from the whole of G
to F
.