Homomorphisms from finite subgraphs #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the type of finite subgraphs of a simple_graph and proves a compactness result
for homomorphisms to a finite codomain.
Main statements #
simple_graph.exists_hom_of_all_finite_homs: 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 finsubgraph_hom_functor restricts homomorphisms
G' →fg F to domain G''.
The subtype of G.subgraph comprising those subgraphs with finite vertex sets.
A graph homomorphism from a finite subgraph of G to F.
Equations
- simple_graph.finsubgraph.has_sup = {sup := λ (G₁ G₂ : G.finsubgraph), ⟨↑G₁ ⊔ ↑G₂, _⟩}
Equations
- simple_graph.finsubgraph.has_inf = {inf := λ (G₁ G₂ : G.finsubgraph), ⟨↑G₁ ⊓ ↑G₂, _⟩}
Equations
- simple_graph.finsubgraph.distrib_lattice = function.injective.distrib_lattice coe simple_graph.finsubgraph.distrib_lattice._proof_1 simple_graph.finsubgraph.distrib_lattice._proof_2 simple_graph.finsubgraph.distrib_lattice._proof_3
Equations
- simple_graph.finsubgraph.has_Sup = {Sup := λ (s : set G.finsubgraph), ⟨⨆ (G_1 : G.finsubgraph) (H : G_1 ∈ s), ↑G_1, _⟩}
Equations
- simple_graph.finsubgraph.has_Inf = {Inf := λ (s : set G.finsubgraph), ⟨⨅ (G_1 : G.finsubgraph) (H : G_1 ∈ s), ↑G_1, _⟩}
Equations
- simple_graph.finsubgraph.complete_distrib_lattice = function.injective.complete_distrib_lattice coe simple_graph.finsubgraph.complete_distrib_lattice._proof_1 simple_graph.finsubgraph.complete_distrib_lattice._proof_2 simple_graph.finsubgraph.complete_distrib_lattice._proof_3 simple_graph.finsubgraph.complete_distrib_lattice._proof_4 simple_graph.finsubgraph.complete_distrib_lattice._proof_5 simple_graph.finsubgraph.complete_distrib_lattice._proof_6 simple_graph.finsubgraph.complete_distrib_lattice._proof_7
The finite subgraph of G generated by a single vertex.
Equations
The finite subgraph of G generated by a single edge.
Equations
- simple_graph.finsubgraph_of_adj e = ⟨G.subgraph_of_adj e, _⟩
Given a homomorphism from a subgraph to F, construct its restriction to a sub-subgraph.
The inverse system of finite homomorphisms.
Equations
- G.finsubgraph_hom_functor F = {obj := λ (G' : (G.finsubgraph)ᵒᵖ), simple_graph.finsubgraph_hom (opposite.unop G') F, map := λ (G' G'' : (G.finsubgraph)ᵒᵖ) (g : G' ⟶ G'') (f : simple_graph.finsubgraph_hom (opposite.unop G') F), simple_graph.finsubgraph_hom.restrict _ f, map_id' := _, map_comp' := _}
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.