Digraph representation of simple graphs
Lax683916.DigraphRepresentation · concepts/Lax683916/DigraphRepresentation.lean · lax-683916
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Simple graphs on a vertex type are equivalent to symmetric loopless digraphs on . The equivalence preserves the adjacency relation exactly.
Concept map
Lean source view on GitHub
| 1 | import Mathlib.Combinatorics.SimpleGraph.Basic |
| 2 | import Lax683916.SymmetricLooplessDigraphs |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Digraph representation of simple graphs |
| 7 | type: theorem |
| 8 | --- |
| 9 | Simple graphs on a vertex type `V` are equivalent to symmetric loopless |
| 10 | digraphs on `V`. The equivalence preserves the adjacency relation exactly. |
| 11 | |
| 12 | # Formalization notes |
| 13 | |
| 14 | Both structures consist of the same relation and the same two laws. The |
| 15 | statement is therefore an equivalence of types, rather than merely a pair of |
| 16 | conversions or an isomorphism after changing the vertex type. |
| 17 | -/ |
| 18 | |
| 19 | namespace Lax683916.DigraphRepresentation |
| 20 | |
| 21 | open Lax683916.SymmetricLooplessDigraphs |
| 22 | |
| 23 | universe u |
| 24 | |
| 25 | /-- An equivalence that retains exactly the same adjacency relation. -/ |
| 26 | structure RepresentationEquiv (V : Type u) where |
| 27 | /-- The equivalence between the two representation types. -/ |
| 28 | toEquiv : SimpleGraph V ≃ SymmetricLooplessDigraph V |
| 29 | /-- A directed edge in the image is exactly an edge of the original simple graph. -/ |
| 30 | map_adj : ∀ (G : SimpleGraph V) (u v : V), |
| 31 | (toEquiv G).graph.Adj u v ↔ G.Adj u v |
| 32 | |
| 33 | /-- Simple graphs and symmetric loopless digraphs on the same vertices are equivalent. -/ |
| 34 | axiom simpleGraphEquiv (V : Type u) : |
| 35 | Nonempty (RepresentationEquiv V) |
| 36 | |
| 37 | end Lax683916.DigraphRepresentation |
| 38 |
Formalization notes
Both structures consist of the same relation and the same two laws. The statement is therefore an equivalence of types, rather than merely a pair of conversions or an isomorphism after changing the vertex type.
Builds on
Used by
none
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments