File: Mathlib/ModelTheory/Graph.lean

full_name: FirstOrder.Language.graph
code: /-- The language consisting of a single relation representing adjacency. -/
protected def graph : Language 
goal: FirstOrder.Language

full_name: FirstOrder.Language.adj
code: /-- The symbol representing the adjacency relation. -/
def adj : Language.graph.Relations 2 
goal: FirstOrder.Language.graph.Relations 2

full_name: SimpleGraph.structure
code: /-- Any simple graph can be thought of as a structure in the language of graphs. -/
def _root_.SimpleGraph.structure (G : SimpleGraph V) : Language.graph.Structure V 
goal: FirstOrder.Language.graph.Structure V

full_name: FirstOrder.Language.graph.instIsRelational
code: instance instIsRelational : IsRelational Language.graph 
goal: FirstOrder.Language.graph.IsRelational

full_name: FirstOrder.Language.graph.instSubsingleton
code: instance instSubsingleton : Subsingleton (Language.graph.Relations n) 
goal: Subsingleton (FirstOrder.Language.graph.Relations n)

full_name: FirstOrder.Language.Theory.simpleGraph
code: /-- The theory of simple graphs. -/
protected def Theory.simpleGraph : Language.graph.Theory 
goal: FirstOrder.Language.graph.Theory

full_name: FirstOrder.Language.Theory.simpleGraph_model_iff
code: @[simp]
theorem Theory.simpleGraph_model_iff [Language.graph.Structure V] :
    V ⊨ Theory.simpleGraph ↔
      (Irreflexive fun x y : V => RelMap adj ![x, y]) ∧
        Symmetric fun x y : V => RelMap adj ![x, y] 
goal: V ⊨ FirstOrder.Language.Theory.simpleGraph ↔
  (Irreflexive fun x y => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]) ∧
    Symmetric fun x y => FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]

full_name: FirstOrder.Language.simpleGraph_model
code: instance simpleGraph_model (G : SimpleGraph V) :
    @Theory.Model _ V G.structure Theory.simpleGraph 
goal: V ⊨ FirstOrder.Language.Theory.simpleGraph

full_name: FirstOrder.Language.simpleGraphOfStructure
code: /-- Any model of the theory of simple graphs represents a simple graph. -/
@[simps]
def simpleGraphOfStructure [Language.graph.Structure V] [V ⊨ Theory.simpleGraph] :
    SimpleGraph V 
goal: SimpleGraph V

full_name: FirstOrder.Language.simpleGraphOfStructure_adj
code: /-- Any model of the theory of simple graphs represents a simple graph. -/
@[simps]
def simpleGraphOfStructure [Language.graph.Structure V] [V ⊨ Theory.simpleGraph] :
    SimpleGraph V 
goal: (FirstOrder.Language.simpleGraphOfStructure V).Adj x y =
  FirstOrder.Language.Structure.RelMap FirstOrder.Language.adj ![x, y]

full_name: SimpleGraph.simpleGraphOfStructure
code: @[simp]
theorem _root_.SimpleGraph.simpleGraphOfStructure (G : SimpleGraph V) :
    @simpleGraphOfStructure V G.structure _ = G 
goal: FirstOrder.Language.simpleGraphOfStructure V = G

full_name: FirstOrder.Language.structure_simpleGraphOfStructure
code: @[simp]
theorem structure_simpleGraphOfStructure [S : Language.graph.Structure V] [V ⊨ Theory.simpleGraph] :
    (simpleGraphOfStructure V).structure = S 
goal: (FirstOrder.Language.simpleGraphOfStructure V).structure = S

full_name: FirstOrder.Language.Theory.simpleGraph_isSatisfiable
code: theorem Theory.simpleGraph_isSatisfiable : Theory.IsSatisfiable Theory.simpleGraph 
goal: FirstOrder.Language.Theory.simpleGraph.IsSatisfiable