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) graphGhas 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
- SimpleGraph.instOrderBotFinsubgraphLeSubgraphToLEToPreorderToPartialOrderToCompleteSemilatticeInfToCompleteLatticeInstCompletelyDistribLatticeSubgraphFiniteVerts = OrderBot.mk ⋯
Equations
- SimpleGraph.instSupFinsubgraph = { sup := fun (G₁ G₂ : SimpleGraph.Finsubgraph G) => { val := ↑G₁ ⊔ ↑G₂, property := ⋯ } }
Equations
- SimpleGraph.instInfFinsubgraph = { inf := fun (G₁ G₂ : SimpleGraph.Finsubgraph G) => { val := ↑G₁ ⊓ ↑G₂, property := ⋯ } }
Equations
- SimpleGraph.instDistribLatticeFinsubgraph = Function.Injective.distribLattice (fun (a : { G' : SimpleGraph.Subgraph G // Set.Finite G'.verts }) => ↑a) ⋯ ⋯ ⋯
Equations
- SimpleGraph.instSupSetFinsubgraph = { sSup := fun (s : Set (SimpleGraph.Finsubgraph G)) => { val := ⨆ G_1 ∈ s, ↑G_1, property := ⋯ } }
Equations
- SimpleGraph.instInfSetFinsubgraph = { sInf := fun (s : Set (SimpleGraph.Finsubgraph G)) => { val := ⨅ G_1 ∈ s, ↑G_1, property := ⋯ } }
Equations
- SimpleGraph.instCompletelyDistribLatticeFinsubgraph = Function.Injective.completelyDistribLattice (fun (a : { G' : SimpleGraph.Subgraph G // Set.Finite G'.verts }) => ↑a) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The finite subgraph of G generated by a single vertex.
Equations
- SimpleGraph.singletonFinsubgraph v = { val := SimpleGraph.singletonSubgraph G v, property := ⋯ }
Instances For
The finite subgraph of G generated by a single edge.
Equations
- SimpleGraph.finsubgraphOfAdj e = { val := SimpleGraph.subgraphOfAdj G e, property := ⋯ }
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.