First-Order Structures in Graph Theory #
This file defines first-order languages, structures, and theories in graph theory.
Main Definitions #
FirstOrder.Language.graph
is the language consisting of a single relation representing adjacency.SimpleGraph.structure
is the first-order structure corresponding to a given simple graph.FirstOrder.Language.Theory.simpleGraph
is the theory of simple graphs.FirstOrder.Language.simpleGraphOfStructure
gives the simple graph corresponding to a model of the theory of simple graphs.
Simple Graphs #
The language consisting of a single relation representing adjacency.
Instances For
The symbol representing the adjacency relation.
Equations
Instances For
Any simple graph can be thought of as a structure in the language of graphs.
Equations
- SimpleGraph.structure G = FirstOrder.Language.Structure.mk₂ Empty.elim Empty.elim Empty.elim Empty.elim fun (x : Unit) => G.Adj
Instances For
instance
FirstOrder.Language.graph.instSubsingleton
{n : ℕ}
:
Subsingleton (FirstOrder.Language.graph.Relations n)
Equations
- (_ : Subsingleton (FirstOrder.Language.graph.Relations n)) = (_ : Subsingleton ((FirstOrder.Language.mk₂ Empty Empty Empty Empty Unit).Relations n))
The theory of simple graphs.
Equations
Instances For
@[simp]
theorem
FirstOrder.Language.Theory.simpleGraph_model_iff
{V : Type w'}
[FirstOrder.Language.Structure FirstOrder.Language.graph V]
:
V ⊨ FirstOrder.Language.Theory.simpleGraph ↔ (Irreflexive fun (x y : V) => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]) ∧ Symmetric fun (x y : V) => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]
Equations
- (_ : V ⊨ FirstOrder.Language.Theory.simpleGraph) = (_ : V ⊨ FirstOrder.Language.Theory.simpleGraph)
@[simp]
theorem
FirstOrder.Language.simpleGraphOfStructure_adj
(V : Type w')
[FirstOrder.Language.Structure FirstOrder.Language.graph V]
[V ⊨ FirstOrder.Language.Theory.simpleGraph]
(x : V)
(y : V)
:
def
FirstOrder.Language.simpleGraphOfStructure
(V : Type w')
[FirstOrder.Language.Structure FirstOrder.Language.graph V]
[V ⊨ FirstOrder.Language.Theory.simpleGraph]
:
Any model of the theory of simple graphs represents a simple graph.
Equations
- FirstOrder.Language.simpleGraphOfStructure V = SimpleGraph.mk fun (x y : V) => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]
Instances For
@[simp]