Lax195003.WelzlOrdersInGraphs
Welzl orders in graphs
concepts/Lax195003/WelzlOrdersInGraphs.lean · lax-195003
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
Definition
For a graph and a radius k, a graph Welzl order of crossing number at most ℓ is a Welzl order for the graph's open k-neighborhood set system. It is therefore crossed at most ℓ times by every open k-neighborhood.
Lean source view on GitHub
| 1 | import Lax195003.WelzlOrdersNeighborhoodSetSystem |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Welzl orders in graphs |
| 6 | type: definition |
| 7 | --- |
| 8 | For a graph and a radius *k*, a graph Welzl order of crossing number at most |
| 9 | *ℓ* is a Welzl order for the graph's open *k*-neighborhood set system. It is |
| 10 | therefore crossed at most *ℓ* times by every open *k*-neighborhood. |
| 11 | |
| 12 | # Formalization notes |
| 13 | |
| 14 | The neighborhood set system and its bounded-walk definition are provided by |
| 15 | the separate `Lax195003.WelzlOrdersNeighborhoodSetSystem` concept. Its |
| 16 | radius-one instance is the ordinary open neighborhood system used by the graph |
| 17 | theorem. |
| 18 | |
| 19 | An algorithmic output is a list of vertices in increasing order. Rather than |
| 20 | introducing a separate generic encoding predicate, `EncodesGraphWelzlOrder` |
| 21 | states directly that the list represents some permutation which is a Welzl |
| 22 | order for the graph's `radius`-neighborhood system. It does not prescribe |
| 23 | which of the potentially many good orders an algorithm must choose. |
| 24 | -/ |
| 25 | |
| 26 | namespace Lax195003.WelzlOrdersInGraphs |
| 27 | |
| 28 | open Lax195003.WelzlOrders |
| 29 | open Lax195003.WelzlOrdersNeighborhoodSetSystem |
| 30 | |
| 31 | /-- The word `y` encodes a Welzl order of crossing number at most |
| 32 | `crossingBound` for the `radius`-neighborhood set system of `G`. -/ |
| 33 | def EncodesGraphWelzlOrder {n : ℕ} (G : SimpleGraph (Fin n)) |
| 34 | (radius crossingBound : ℕ) (y : List ℕ) : Prop := |
| 35 | ∃ π : Equiv.Perm (Fin n), |
| 36 | y = List.ofFn (fun i : Fin n => (π.symm i).val) ∧ |
| 37 | IsWelzlOrder (neighborhoodSetSystem G radius) π crossingBound |
| 38 | |
| 39 | end Lax195003.WelzlOrdersInGraphs |
| 40 |
Formalization notes
The neighborhood set system and its bounded-walk definition are provided by the separate concept. Its radius-one instance is the ordinary open neighborhood system used by the graph theorem.
An algorithmic output is a list of vertices in increasing order. Rather than introducing a separate generic encoding predicate, states directly that the list represents some permutation which is a Welzl order for the graph's -neighborhood system. It does not prescribe which of the potentially many good orders an algorithm must choose.
From Mathlib
none
Community review
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.
0 comments