Twin-cover number
Lax825442.TwinCover · concepts/Lax825442/TwinCover.lean · lax-825442
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
A twin-cover meets every edge whose endpoints are not true twins in the original graph. The twin-cover number is the minimum cardinality of such a set.
Concept map
Lean source view on GitHub
| 1 | import Mathlib.Combinatorics.SimpleGraph.Finite |
| 2 | import Mathlib.Data.Set.Card |
| 3 | import Mathlib.Order.Lattice.Nat |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Twin-cover number |
| 8 | type: definition |
| 9 | --- |
| 10 | A twin-cover meets every edge whose endpoints are not true twins in the |
| 11 | original graph. The twin-cover number is the minimum cardinality of such a |
| 12 | set. |
| 13 | -/ |
| 14 | |
| 15 | namespace Lax825442.TwinCover |
| 16 | |
| 17 | /-- Adjacent vertices with the same neighbors outside the pair. -/ |
| 18 | def TrueTwins {V : Type} (G : SimpleGraph V) (u v : V) : Prop := |
| 19 | G.Adj u v ∧ (∀ w : V, |
| 20 | (w ≠ u ∧ w ≠ v) → (G.Adj u w ↔ G.Adj v w)) |
| 21 | |
| 22 | /-- A set meeting every edge except those between true twins. -/ |
| 23 | def IsTwinCover {V : Type} (G : SimpleGraph V) (S : Set V) : Prop := |
| 24 | ∀ ⦃u v : V⦄, |
| 25 | (G.Adj u v ∧ ¬ TrueTwins G u v) → (u ∈ S ∨ v ∈ S) |
| 26 | |
| 27 | /-- The minimum cardinality of a twin-cover. -/ |
| 28 | noncomputable def twinCover {V : Type} [Fintype V] [DecidableEq V] |
| 29 | (G : SimpleGraph V) : ℕ := |
| 30 | sInf {k | ∃ S : Set V, (S.ncard = k) ∧ IsTwinCover G S} |
| 31 | |
| 32 | end Lax825442.TwinCover |
| 33 |
Builds on
none
Used by
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments