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) 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 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
.