Series-parallel graphs
Lax68.SeriesParallel · concepts/Lax68/SeriesParallel.lean · lax-68
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
A finite two-terminal series-parallel graph is built from a single terminal edge by series and parallel composition. The side conditions say that the composed graphs meet only at the intended terminals, and the final support condition excludes unused isolated vertices.
Concept map
In the paper
- page 2 of the paper of lax-326031, Graph Classes and Width Parameters
- page 5 of the paper of lax-326031, Graph Classes and Width Parameters
Lean source view on GitHub
| 1 | import Mathlib.Combinatorics.SimpleGraph.Basic |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Series-parallel graphs |
| 6 | type: definition |
| 7 | --- |
| 8 | |
| 9 |  |
| 10 | |
| 11 | A finite two-terminal series-parallel graph is built from a single terminal |
| 12 | edge by series and parallel composition. The side conditions say that the |
| 13 | composed graphs meet only at the intended terminals, and the final support |
| 14 | condition excludes unused isolated vertices. |
| 15 | -/ |
| 16 | |
| 17 | set_option autoImplicit false |
| 18 | |
| 19 | namespace Lax68.SeriesParallel |
| 20 | |
| 21 | def edgeGraph {V : Type*} (s t : V) : SimpleGraph V := |
| 22 | SimpleGraph.fromRel fun u v => |
| 23 | (u = s ∧ v = t) ∨ |
| 24 | (u = t ∧ v = s) |
| 25 | |
| 26 | inductive TwoTerminal {V : Type*} : SimpleGraph V → V → V → Prop |
| 27 | | edge (s t : V) (hne : s ≠ t) : |
| 28 | TwoTerminal (edgeGraph s t) s t |
| 29 | | series |
| 30 | {G H : SimpleGraph V} |
| 31 | {s m t : V} |
| 32 | (left : TwoTerminal G s m) |
| 33 | (right : TwoTerminal H m t) |
| 34 | (meet : |
| 35 | ∀ v, |
| 36 | v ∈ G.support → |
| 37 | v ∈ H.support → |
| 38 | v = m) : |
| 39 | TwoTerminal (G ⊔ H) s t |
| 40 | | parallel |
| 41 | {G H : SimpleGraph V} |
| 42 | {s t : V} |
| 43 | (left : TwoTerminal G s t) |
| 44 | (right : TwoTerminal H s t) |
| 45 | (meet : |
| 46 | ∀ v, |
| 47 | v ∈ G.support → |
| 48 | v ∈ H.support → |
| 49 | v = s ∨ v = t) : |
| 50 | TwoTerminal (G ⊔ H) s t |
| 51 | |
| 52 | def IsSeriesParallel {V : Type*} (G : SimpleGraph V) : Prop := |
| 53 | ∃ s t, |
| 54 | TwoTerminal G s t ∧ |
| 55 | G.support = Set.univ |
| 56 | |
| 57 | end Lax68.SeriesParallel |
| 58 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments