definition
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
Definition
The unordered, finite-set definitions used in the unoptimized convex-layer route to Valtr's empty-hexagon theorem. No geometric theorem is assumed here.
Lean source view on GitHub
| 1 | import Lax56.Geometry |
| 2 | import Mathlib.Analysis.Convex.Independent |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Convex layers and minimal polygons |
| 7 | type: definition |
| 8 | --- |
| 9 | The unordered, finite-set definitions used in the unoptimized convex-layer |
| 10 | route to Valtr's empty-hexagon theorem. No geometric theorem is assumed here. |
| 11 | -/ |
| 12 | |
| 13 | namespace Lax56.ConvexLayers |
| 14 | |
| 15 | open Lax56.Geometry |
| 16 | open scoped Classical |
| 17 | |
| 18 | /-- Every point is a vertex: no point lies in the convex hull of the others. -/ |
| 19 | def ConvexPosition (P : Finset Point) : Prop := |
| 20 | ConvexIndependent ℝ (fun p : {p : Point // p ∈ P} ↦ p.val) |
| 21 | |
| 22 | /-- Vertices of the convex hull, including all points of sets of size at most two. -/ |
| 23 | noncomputable def extremeLayer (P : Finset Point) : Finset Point := |
| 24 | P.filter (fun p ↦ p ∈ (convexHull ℝ (P : Set Point)).extremePoints ℝ) |
| 25 | |
| 26 | /-- The remainder after deleting the current outer layer. -/ |
| 27 | noncomputable def inner (P : Finset Point) : Finset Point := P \ extremeLayer P |
| 28 | |
| 29 | /-- The remainder after `n` layers have been removed. -/ |
| 30 | noncomputable def remainder (P : Finset Point) : ℕ → Finset Point |
| 31 | | 0 => P |
| 32 | | n + 1 => inner (remainder P n) |
| 33 | |
| 34 | /-- Layers are indexed from zero: `layer P 0` is the outer layer. -/ |
| 35 | noncomputable def layer (P : Finset Point) (n : ℕ) : Finset Point := |
| 36 | extremeLayer (remainder P n) |
| 37 | |
| 38 | /-- All ambient points in the convex hull of `A`, not just its interior points. -/ |
| 39 | noncomputable def hullClosure (P A : Finset Point) : Finset Point := |
| 40 | P.filter (fun p ↦ p ∈ convexHull ℝ (A : Set Point)) |
| 41 | |
| 42 | /-- Passing from `P` to `S` loses no ambient point inside the new convex hull. -/ |
| 43 | def HullClosedIn (P S : Finset Point) : Prop := |
| 44 | S ⊆ P ∧ ∀ p ∈ P, p ∈ convexHull ℝ (S : Set Point) → p ∈ S |
| 45 | |
| 46 | /-- The exact minimality condition in the proposed four-layer lemma. -/ |
| 47 | def MinimalOuter (S : Finset Point) : Prop := |
| 48 | ∀ X ⊆ S, ConvexPosition X → (extremeLayer S).card ≤ X.card → X = extremeLayer S |
| 49 | |
| 50 | /-- An unordered empty convex polygon with exactly `k` vertices. -/ |
| 51 | def EmptyPolygon (P H : Finset Point) (k : ℕ) : Prop := |
| 52 | H ⊆ P ∧ H.card = k ∧ ConvexPosition H ∧ |
| 53 | ∀ p ∈ P, p ∈ convexHull ℝ (H : Set Point) → p ∈ H |
| 54 | |
| 55 | def HasEmptyHexagon (P : Finset Point) : Prop := |
| 56 | ∃ H, EmptyPolygon P H 6 |
| 57 | |
| 58 | end Lax56.ConvexLayers |
| 59 |
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