Auxiliary Infrastructure
The formalization contains five further files: infrastructure developed en route that the finished proof does not use. They are reproduced here so that the site carries the complete development.
Exposed faces of a polytope
From Facets.lean: for a finite vertex set S and a linear functional
\varphi, the exposed face \{x \in \operatorname{conv}(S) : \varphi x = M\}
(where M is the maximum of \varphi over the polytope) equals the convex
hull of the maximizing vertices; two exposed faces meet in the exposed face of
the summed functional. This was built toward a pulling triangulation, before
the regular triangulation superseded it.
open Set
open scoped Topology BigOperators
namespace Submission
namespace FamiliesOfMapsB01Facets
variable {k : β}
/-
A linear functional attains a maximum on the convex hull of a finite nonempty set,
and that maximum is attained at one of the generating points.
-/
lemma exists_max_vertex
(S : Finset (Fin k β β)) (hS : S.Nonempty) (Ο : (Fin k β β) ββ[β] β) :
β v β S, β x β convexHull β (S : Set (Fin k β β)), Ο x β€ Ο v := k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] ββ’ β v β S, β x β (convexHull β) βS, Ο x β€ Ο v
-- By definition of convex hull, any point in the convex hull of S can be written as a convex combination of points in S.
have h_convex_comb : β x β convexHull β (S : Set ((Fin k) β β)), β (w : (Fin k β β) β β), (β v β S, 0 β€ w v) β§ (β v β S, w v = 1) β§ x = β v β S, w v β’ v := k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] ββ’ β v β S, β x β (convexHull β) βS, Ο x β€ Ο v
intro x k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βx:Fin k β βhx:x β (convexHull β) βSβ’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βx:Fin k β βhx:x β {x | β ΞΉ t w z, (β i β t, 0 β€ w i) β§ β i β t, w i = 1 β§ (β i β t, z i β βS) β§ t.centerMass w z = x}β’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βx:Fin k β βw:Typehw:β t w_1 z, (β i β t, 0 β€ w_1 i) β§ β i β t, w_1 i = 1 β§ (β i β t, z i β βS) β§ t.centerMass w_1 z = xβ’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β βSβ’ β w_1, (β v β S, 0 β€ w_1 v) β§ β v β S, w_1 v = 1 β§ t.centerMass w z = β v β S, w_1 v β’ v; k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β βSβ’ (β v β S, 0 β€ (fun v => β i β t with z i = v, w i) v) β§
β v β S, (fun v => β i β t with z i = v, w i) v = 1 β§
t.centerMass w z = β v β S, (fun v => β i β t with z i = v, w i) v β’ v; k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ (β v β S, 0 β€ β i β t with z i = v, w i) β§
β x β S, β i β t with z i = x, w i = 1 β§ β i β t, w i β’ z i = β x β S, (β i β t with z i = x, w i) β’ x ;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β x β S, β i β t with z i = x, w i = 1k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β i β t, w i β’ z i = β x β S, (β i β t with z i = x, w i) β’ x;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β x β S, β i β t with z i = x, w i = 1 k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β i β t, z i β S ; All goals completed! π;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β i β t, w i β’ z i = β x β S, (β i β t with z i = x, w i) β’ x k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β i β t, w i β’ z i = β x β S, β x_1 β t, if z x_1 = x then w x_1 β’ x else 0;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βwβ:Typet:Finset wβw:wβ β βz:wβ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β x β t, w x β’ z x = β x_1 β S, if z x = x_1 then w x β’ x_1 else 0 ; All goals completed! π;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βh_convex_comb:β x β (convexHull β) βS, β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β S β§ β x' β S, Ο x' β€ Ο vβ’ β v β S, β x β (convexHull β) βS, Ο x β€ Ο v;
k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βh_convex_comb:β x β (convexHull β) βS, β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β S β§ β x' β S, Ο x' β€ Ο vx:Fin k β βhx:x β (convexHull β) βSβ’ Ο x β€ Ο v ; k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βh_convex_comb:β x β (convexHull β) βS, β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β S β§ β x' β S, Ο x' β€ Ο vw:(Fin k β β) β βhwβ:β v β S, 0 β€ w vhwβ:β v β S, w v = 1hx:β v β S, w v β’ v β (convexHull β) βSβ’ Ο (β v β S, w v β’ v) β€ Ο v ; k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βh_convex_comb:β x β (convexHull β) βS, β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β S β§ β x' β S, Ο x' β€ Ο vw:(Fin k β β) β βhwβ:β v β S, 0 β€ w vhwβ:β v β S, w v = 1hx:β v β S, w v β’ v β (convexHull β) βSβ’ β x β S, w x * Ο x β€ Ο v;
exact le_trans ( Finset.sum_le_sum fun x hx => mul_le_mul_of_nonneg_left ( hv.2 x hx ) ( hwβ x hx ) ) ( k:βS:Finset (Fin k β β)hS:S.NonemptyΟ:(Fin k β β) ββ[β] βh_convex_comb:β x β (convexHull β) βS, β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β S β§ β x' β S, Ο x' β€ Ο vw:(Fin k β β) β βhwβ:β v β S, 0 β€ w vhwβ:β v β S, w v = 1hx:β v β S, w v β’ v β (convexHull β) βSβ’ β i β S, w i * Ο v β€ Ο v All goals completed! π )
/-
The maximum value of a linear functional over the convex hull of `S` equals its
maximum over the finite generating set `S`.
-/
lemma sSup_image_convexHull
(S : Finset (Fin k β β)) (Ο : (Fin k β β) ββ[β] β)
(M : β) (hM : β v β S, Ο v β€ M) :
β x β convexHull β (S : Set (Fin k β β)), Ο x β€ M := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mβ’ β x β (convexHull β) βS, Ο x β€ M
intro x k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) βSβ’ Ο x β€ M;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | β ΞΉ t w z, (β i β t, 0 β€ w i) β§ β i β t, w i = 1 β§ (β i β t, z i β βS) β§ t.centerMass w z = x}β’ Ο x β€ M;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typet:Finset ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β βSβ’ Ο (t.centerMass w z) β€ M ; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typet:Finset ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β x β t, w x * Ο (z x) β€ M;
exact le_trans ( Finset.sum_le_sum fun i hi => mul_le_mul_of_nonneg_left ( hM _ ( hwβ i hi ) ) ( hwβ i hi ) ) ( k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typet:Finset ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β Sβ’ β i β t, w i * M β€ M All goals completed! π )
/-
**Exposed face = convex hull of maximizing vertices.** If `M` is the maximum of the
linear functional `Ο` over the polytope `convexHull S`, then the exposed face it cuts out
is exactly the convex hull of the vertices of `S` achieving `Ο v = M`.
This gives every facet an explicit finite vertex description (a sub-`Finset` of `S`),
which is what the pulling-triangulation cone step needs.
-/
theorem exposedFace_eq_convexHull_maximizers
(S : Finset (Fin k β β)) (Ο : (Fin k β β) ββ[β] β) (M : β)
(hM : β v β S, Ο v β€ M) :
{x β convexHull β (S : Set (Fin k β β)) | Ο x = M}
= convexHull β ((S.filter (fun v => Ο v = M) : Finset (Fin k β β)) : Set (Fin k β β)) := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mβ’ {x | x β (convexHull β) βS β§ Ο x = M} = (convexHull β) β({v β S | Ο v = M})
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β x β (convexHull β) β({v β S | Ο v = M});
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β x β (convexHull β) β({v β S | Ο v = M})k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β ββ’ x β (convexHull β) β({v β S | Ο v = M}) β x β {x | x β (convexHull β) βS β§ Ο x = M} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β x β (convexHull β) β({v β S | Ο v = M})k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β ββ’ x β (convexHull β) β({v β S | Ο v = M}) β x β {x | x β (convexHull β) βS β§ Ο x = M} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ x β {x | x β (convexHull β) βS β§ Ο x = M};
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}β’ x β (convexHull β) β({v β S | Ο v = M}) -- By definition of convex hull, we can write x as a convex combination of points in S.
obtain β¨w, hwβ© : β w : (Fin k β β) β β, (β v β S, 0 β€ w v) β§ (β v β S, w v = 1) β§ x = β v β S, w v β’ v := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}β’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}this:x β (convexHull β) βSβ’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}this:β ΞΉ x_1 w z, (β (i : ΞΉ), 0 β€ w i) β§ β i, w i = 1 β§ (β (i : ΞΉ), z i β βS) β§ β i, w i β’ z i = xβ’ β w, (β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ v;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β βShx:β i, w i β’ z i β {x | x β (convexHull β) βS β§ Ο x = M}β’ β w_1, (β v β S, 0 β€ w_1 v) β§ β v β S, w_1 v = 1 β§ β i, w i β’ z i = β v β S, w_1 v β’ v; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β βShx:β i, w i β’ z i β {x | x β (convexHull β) βS β§ Ο x = M}β’ (β v β S, 0 β€ (fun v => β i with z i = v, w i) v) β§
β v β S, (fun v => β i with z i = v, w i) v = 1 β§ β i, w i β’ z i = β v β S, (fun v => β i with z i = v, w i) v β’ v; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mβ’ (β v β S, 0 β€ β a, if z a = v then w a else 0) β§
(β x β S, β a, if z a = x then w a else 0) = 1 β§ β i, w i β’ z i = β x β S, (β a, if z a = x then w a else 0) β’ x ;
refine' β¨ fun v hv => Finset.sum_nonneg fun i _ => k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mv:Fin k β βhv:v β Si:ΞΉxβ:i β Finset.univβ’ 0 β€ if z i = v then w i else 0 k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mv:Fin k β βhv:v β Si:ΞΉxβ:i β Finset.univhβ:z i = vβ’ 0 β€ w ik:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mv:Fin k β βhv:v β Si:ΞΉxβ:i β Finset.univhβ:Β¬z i = vβ’ 0 β€ 0 k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mv:Fin k β βhv:v β Si:ΞΉxβ:i β Finset.univhβ:z i = vβ’ 0 β€ w ik:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mv:Fin k β βhv:v β Si:ΞΉxβ:i β Finset.univhβ:Β¬z i = vβ’ 0 β€ 0 All goals completed! π, _, _ β©;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mβ’ (β x β S, β a, if z a = x then w a else 0) = 1 k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mβ’ (β y, β x β S, if z y = x then w y else 0) = β i, w i ; All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mβ’ β i, w i β’ z i = β x β S, (β a, if z a = x then w a else 0) β’ x k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mβ’ β i, w i β’ z i = β x, if z x β S then w x β’ z x else 0;
exact Finset.sum_congr rfl fun i hi => k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typewβ:Fintype ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β (i : ΞΉ), 0 β€ w ihwβ:β i, w i = 1hwβ:β (i : ΞΉ), z i β Shx:β i, w i β’ z i β (convexHull β) βS β§ β x, w x * Ο (z x) = Mi:ΞΉhi:i β Finset.univβ’ w i β’ z i = if z i β S then w i β’ z i else 0 All goals completed! π;
-- Since $\phi(x) = M$, we have $\sum_{v \in S} w(v) \phi(v) = M$.
have h_sum : β v β S, w v * Ο v = M := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mβ’ {x | x β (convexHull β) βS β§ Ο x = M} = (convexHull β) β({v β S | Ο v = M})
All goals completed! π;
-- Since $\phi(v) \leq M$ for all $v \in S$, and $\sum_{v \in S} w(v) \phi(v) = M$, it follows that $w(v) = 0$ for all $v \in S$ such that $\phi(v) < M$.
have h_zero : β v β S, Ο v < M β w v = 0 := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mβ’ {x | x β (convexHull β) βS β§ Ο x = M} = (convexHull β) β({v β S | Ο v = M})
intro v k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mv:Fin k β βhv:v β Sβ’ Ο v < M β w v = 0 k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mv:Fin k β βhv:v β Shv':Ο v < Mβ’ w v = 0; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vv:Fin k β βhv:v β Shv':Ο v < Mh_sum:w v β 0β’ β v β S, w v * Ο v β M;
have h_sum_lt : β v β S, w v * Ο v < β v β S, w v * M := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mβ’ {x | x β (convexHull β) βS β§ Ο x = M} = (convexHull β) β({v β S | Ο v = M})
All goals completed! π;
All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ x β
{x | β ΞΉ t w z, (β i β t, 0 β€ w i) β§ β i β t, w i = 1 β§ (β i β t, z i β β({v β S | Ο v = M})) β§ t.centerMass w z = x};
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β {v β S | Ο v = M}, 0 β€ (fun v => w v) ik:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β S with Ο i = M, (fun v => w v) i = 1k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β {v β S | Ο v = M}, (fun v => v) i β β({v β S | Ο v = M})k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ ({v β S | Ο v = M}.centerMass (fun v => w v) fun v => v) = x k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β {v β S | Ο v = M}, 0 β€ (fun v => w v) ik:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β S with Ο i = M, (fun v => w v) i = 1k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β i β {v β S | Ο v = M}, (fun v => v) i β β({v β S | Ο v = M})k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M}w:(Fin k β β) β βhw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ ({v β S | Ο v = M}.centerMass (fun v => w v) fun v => v) = x k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ (β x β S with Ο x = M, w x)β»ΒΉ β’ β x β S with Ο x = M, w x β’ x = β v β S, w v β’ v;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S with Ο x = M, w x = 1 k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, w x β 0 β Ο x = M;
All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ (β x β S with Ο x = M, w x)β»ΒΉ β’ β x β S with Ο x = M, w x β’ x = β v β S, w v β’ v k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ (β x β S, w x)β»ΒΉ β’ β x β S, w x β’ x = β v β S, w v β’ vk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, w x β’ x β 0 β Ο x = Mk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, w x β 0 β Ο x = M k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ (β x β S, w x)β»ΒΉ β’ β x β S, w x β’ x = β v β S, w v β’ vk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, w x β’ x β 0 β Ο x = Mk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, w x β 0 β Ο x = M k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, Β¬w x = 0 β Ο x = M;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, Β¬w x = 0 β Β¬x = 0 β Ο x = M All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βw:(Fin k β β) β βhx:β v β S, w v β’ v β (convexHull β) βShw:(β v β S, 0 β€ w v) β§ β v β S, w v = 1 β§ x = β v β S, w v β’ vh_sum:β v β S, w v * Ο v = Mh_zero:β v β S, Ο v < M β w v = 0β’ β x β S, Β¬w x = 0 β Ο x = M All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ x β {x | x β (convexHull β) βS β§ Ο x = M} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ β({v β S | Ο v = M}) β βSk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ Ο x = M;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ β({v β S | Ο v = M}) β βS All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β (convexHull β) β({v β S | Ο v = M})β’ Ο x = M k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ Mx:Fin k β βhx:x β
{x | β ΞΉ t w z, (β i β t, 0 β€ w i) β§ β i β t, w i = 1 β§ (β i β t, z i β β({v β S | Ο v = M})) β§ t.centerMass w z = x}β’ Ο x = M;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typet:Finset ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β β({v β S | Ο v = M})β’ Ο (t.centerMass w z) = M; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βhM:β v β S, Ο v β€ MΞΉ:Typet:Finset ΞΉw:ΞΉ β βz:ΞΉ β Fin k β βhwβ:β i β t, 0 β€ w ihwβ:β i β t, w i = 1hwβ:β i β t, z i β S β§ Ο (z i) = Mβ’ β x β t, w x * M = M ;
All goals completed! π
/-
A linear functional that is constant `= M` on a set `T` is also constant `= M` on the
whole affine span of `T` (an affine functional is determined affinely).
-/
lemma eq_on_affineSpan_of_eq_on
(Ο : (Fin k β β) ββ[β] β) (M : β) (T : Set (Fin k β β))
(hT : β x β T, Ο x = M) :
β y β affineSpan β T, Ο y = M := k:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = Mβ’ β y β affineSpan β T, Ο y = M
intro y k:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = My:Fin k β βhy:y β affineSpan β Tβ’ Ο y = M; k:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = My:Fin k β βyβ:Fin k β βhysβ:yβ β Tβ’ Ο yβ = Mk:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = My:Fin k β βcβ:βuβ:Fin k β βhuβ:uβ β affineSpan β Tvβ:Fin k β βhvβ:vβ β affineSpan β Twβ:Fin k β βhwβ:wβ β affineSpan β TaβΒ²:Ο uβ = MaβΒΉ:Ο vβ = Maβ:Ο wβ = Mβ’ Ο (cβ β’ (uβ -α΅₯ vβ) +α΅₯ wβ) = M ;
k:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = My:Fin k β βyβ:Fin k β βhysβ:yβ β Tβ’ Ο yβ = M All goals completed! π;
k:βΟ:(Fin k β β) ββ[β] βM:βT:Set (Fin k β β)hT:β x β T, Ο x = My:Fin k β βcβ:βuβ:Fin k β βhuβ:uβ β affineSpan β Tvβ:Fin k β βhvβ:vβ β affineSpan β Twβ:Fin k β βhwβ:wβ β affineSpan β TaβΒ²:Ο uβ = MaβΒΉ:Ο vβ = Maβ:Ο wβ = Mβ’ Ο (cβ β’ (uβ -α΅₯ vβ) +α΅₯ wβ) = M All goals completed! π
/-
A vertex strictly below the maximum value `M` is **not** in the affine span of the
exposed face `{x | Ο x = M}` of the polytope. This is exactly the hypothesis required by
`coneComplex` / `coneSubdivision` to cone such a vertex over a far facet.
-/
lemma notMem_affineSpan_exposedFace
(S : Finset (Fin k β β)) (Ο : (Fin k β β) ββ[β] β) (M : β) (v : Fin k β β)
(hv : Ο v < M) :
v β affineSpan β {x β convexHull β (S : Set (Fin k β β)) | Ο x = M} := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βv:Fin k β βhv:Ο v < Mβ’ v β affineSpan β {x | x β (convexHull β) βS β§ Ο x = M}
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βv:Fin k β βhv:Ο v < Mh:v β affineSpan β {x | x β (convexHull β) βS β§ Ο x = M}β’ False;
have h_affine_span : β y β affineSpan β {x | x β convexHull β (S : Set (Fin k β β)) β§ Ο x = M}, Ο y = M := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βv:Fin k β βhv:Ο v < Mβ’ v β affineSpan β {x | x β (convexHull β) βS β§ Ο x = M}
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βM:βv:Fin k β βhv:Ο v < Mh:v β affineSpan β {x | x β (convexHull β) βS β§ Ο x = M}β’ β x β {x | x β (convexHull β) βS β§ Ο x = M}, Ο x = M;
All goals completed! π;
All goals completed! π
/-
**Intersection of two exposed faces = exposed face of the sum.** If `M` (resp. `N`) is the
maximum of `Ο` (resp. `Ο`) over the polytope `convexHull S`, then the intersection of the
two exposed faces is the convex hull of the vertices maximizing *both* functionals. This is
the engine for the intersection (glue-nicely) property of a regular triangulation: every
face there is an exposed face, and two exposed faces meet in the exposed face on their
common maximizing vertices.
-/
theorem exposedFace_inter_eq_convexHull_common_maximizers
(S : Finset (Fin k β β)) (Ο Ο : (Fin k β β) ββ[β] β) (M N : β)
(hM : β v β S, Ο v β€ M) (hN : β v β S, Ο v β€ N) :
{x β convexHull β (S : Set (Fin k β β)) | Ο x = M}
β© {x β convexHull β (S : Set (Fin k β β)) | Ο x = N}
= convexHull β
((S.filter (fun v => Ο v = M β§ Ο v = N) : Finset (Fin k β β)) : Set (Fin k β β)) := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nβ’ {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} =
(convexHull β) β({v β S | Ο v = M β§ Ο v = N})
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} =
(convexHull β) β({v β S | Ο v = M β§ Ο v = N});
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} =
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ (convexHull β) β({v β S | Ο v = M β§ Ο v = N}) = (convexHull β) β({v β S | (Ο + Ο) v = M + N});
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} =
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} β
x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N};
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} β
x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} β
x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} β
x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β ββ’ x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} β
x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β βhx:x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}β’ x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β βhx:x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N}β’ x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})x:Fin k β βhx:x β {x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N}β’ x β {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nx:Fin k β βineq:(β v β S, Ο v + Ο v β€ M + N) β
{x | x β (convexHull β) βS β§ Ο x + Ο x = M + N} = (convexHull β) {x | x β S β§ Ο x + Ο x = M + N}hx:x β (convexHull β) βS β§ Ο x + Ο x = M + Nβ’ Ο x = M β§ Ο x = N;
have h_eq : β x β convexHull β (S : Set (Fin k β β)), Ο x β€ M β§ Ο x β€ N := k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nβ’ {x | x β (convexHull β) βS β§ Ο x = M} β© {x | x β (convexHull β) βS β§ Ο x = N} =
(convexHull β) β({v β S | Ο v = M β§ Ο v = N})
All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nx:Fin k β βineq:(β v β S, Ο v + Ο v β€ M + N) β
{x | x β (convexHull β) βS β§ Ο x + Ο x = M + N} = (convexHull β) {x | x β S β§ Ο x + Ο x = M + N}hx:x β (convexHull β) βS β§ Ο x + Ο x = M + Nh_eq:β x β (convexHull β) βS, Ο x β€ M β§ Ο x β€ Nβ’ Ο x = Mk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nx:Fin k β βineq:(β v β S, Ο v + Ο v β€ M + N) β
{x | x β (convexHull β) βS β§ Ο x + Ο x = M + N} = (convexHull β) {x | x β S β§ Ο x + Ο x = M + N}hx:x β (convexHull β) βS β§ Ο x + Ο x = M + Nh_eq:β x β (convexHull β) βS, Ο x β€ M β§ Ο x β€ Nβ’ Ο x = N k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nx:Fin k β βineq:(β v β S, Ο v + Ο v β€ M + N) β
{x | x β (convexHull β) βS β§ Ο x + Ο x = M + N} = (convexHull β) {x | x β S β§ Ο x + Ο x = M + N}hx:x β (convexHull β) βS β§ Ο x + Ο x = M + Nh_eq:β x β (convexHull β) βS, Ο x β€ M β§ Ο x β€ Nβ’ Ο x = Mk:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nx:Fin k β βineq:(β v β S, Ο v + Ο v β€ M + N) β
{x | x β (convexHull β) βS β§ Ο x + Ο x = M + N} = (convexHull β) {x | x β S β§ Ο x + Ο x = M + N}hx:x β (convexHull β) βS β§ Ο x + Ο x = M + Nh_eq:β x β (convexHull β) βS, Ο x β€ M β§ Ο x β€ Nβ’ Ο x = N All goals completed! π;
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ (convexHull β) β({v β S | Ο v = M β§ Ο v = N}) = (convexHull β) β({v β S | (Ο + Ο) v = M + N}) k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})β’ {v β S | Ο v = M β§ Ο v = N} = {v β S | (Ο + Ο) v = M + N};
k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})v:Fin k β ββ’ v β {v β S | Ο v = M β§ Ο v = N} β v β {v β S | (Ο + Ο) v = M + N}; k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})v:Fin k β ββ’ v β S β (Ο v = M β§ Ο v = N β Ο v + Ο v = M + N);
exact fun hv => β¨ fun h => k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})v:Fin k β βhv:v β Sh:Ο v = M β§ Ο v = Nβ’ Ο v + Ο v = M + N All goals completed! π, fun h => β¨ k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})v:Fin k β βhv:v β Sh:Ο v + Ο v = M + Nβ’ Ο v = M All goals completed! π, k:βS:Finset (Fin k β β)Ο:(Fin k β β) ββ[β] βΟ:(Fin k β β) ββ[β] βM:βN:βhM:β v β S, Ο v β€ MhN:β v β S, Ο v β€ Nineq:(β v β S, (Ο + Ο) v β€ M + N) β
{x | x β (convexHull β) βS β§ (Ο + Ο) x = M + N} = (convexHull β) β({v β S | (Ο + Ο) v = M + N})v:Fin k β βhv:v β Sh:Ο v + Ο v = M + Nβ’ Ο v = N All goals completed! π β© β©
end FamiliesOfMapsB01Facets
end Submission
Unions of simplicial complexes
From Union.lean: the union of two simplicial complexes is again a simplicial
complex provided every cross pair of faces glues nicely β the missing
primitive for assembling a triangulation from triangulated pieces.
open Geometry Set Finset
open scoped Topology
open _root_.FamiliesOfMapsB01
namespace Submission
namespace FamiliesOfMapsB01
variable {k : β}
/-- The face set of the union of `Kβ` and `Kβ` (plus `β
`, removed by `ofErase`). -/
def unionFaceSet (Kβ Kβ : SimplicialComplex β (Fin k β β)) :
Set (Finset (Fin k β β)) :=
Kβ.faces βͺ Kβ.faces βͺ {β
}
lemma unionFaceSet_indep (Kβ Kβ : SimplicialComplex β (Fin k β β)) :
β s β unionFaceSet Kβ Kβ, AffineIndependent β ((β) : s β (Fin k β β)) := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)β’ β s β unionFaceSet Kβ Kβ, AffineIndependent β Subtype.val
intro s k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β unionFaceSet Kβ Kββ’ AffineIndependent β Subtype.val
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β Kβ.facesβ’ AffineIndependent β Subtype.valk:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β Kβ.facesβ’ AffineIndependent β Subtype.valk:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β {β
}β’ AffineIndependent β Subtype.val
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β Kβ.facesβ’ AffineIndependent β Subtype.val All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β Kβ.facesβ’ AffineIndependent β Subtype.val All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s β {β
}β’ AffineIndependent β Subtype.val k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)s:Finset (Fin k β β)hs:s = β
β’ AffineIndependent β Subtype.val
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)β’ AffineIndependent β Subtype.val
All goals completed! π
lemma unionFaceSet_isLowerSet (Kβ Kβ : SimplicialComplex β (Fin k β β)) :
IsLowerSet (unionFaceSet Kβ Kβ) := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)β’ IsLowerSet (unionFaceSet Kβ Kβ)
intro a k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)β’ b β€ a β a β unionFaceSet Kβ Kβ β b β unionFaceSet Kβ Kβ k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aβ’ a β unionFaceSet Kβ Kβ β b β unionFaceSet Kβ Kβ k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:a β unionFaceSet Kβ Kββ’ b β unionFaceSet Kβ Kβ
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:b = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:Β¬b = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:b = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:Β¬b = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:Β¬b = β
hbne:b.Nonemptyβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ aha:(a β Kβ.faces β¨ a β Kβ.faces) β¨ a = β
hbe:Β¬b = β
hbne:b.Nonemptyhba:b β aβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a β Kβ.facesβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a β Kβ.facesβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a β Kβ.facesβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a β Kβ.facesβ’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)a:Finset (Fin k β β)b:Finset (Fin k β β)hab:b β€ ahbe:Β¬b = β
hbne:b.Nonemptyhba:b β aha:a = β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)b:Finset (Fin k β β)hbe:Β¬b = β
hbne:b.Nonemptyhab:b β€ β
hba:b β β
β’ (b β Kβ.faces β¨ b β Kβ.faces) β¨ b = β
All goals completed! π
/-- The cross-gluing hypothesis: every face of `Kβ` and every face of `Kβ` meet nicely.
This is what makes the union a simplicial complex. -/
def UnionGlues (Kβ Kβ : SimplicialComplex β (Fin k β β)) : Prop :=
β s β Kβ.faces, β t β Kβ.faces,
convexHull β (s : Set (Fin k β β)) β© convexHull β (t : Set (Fin k β β)) β
convexHull β ((s : Set (Fin k β β)) β© (t : Set (Fin k β β)))
lemma unionFaceSet_inter (Kβ Kβ : SimplicialComplex β (Fin k β β))
(hglue : UnionGlues Kβ Kβ) :
β s β unionFaceSet Kβ Kβ, β t β unionFaceSet Kβ Kβ,
convexHull β (s : Set (Fin k β β)) β© convexHull β (t : Set (Fin k β β)) β
convexHull β ((s : Set (Fin k β β)) β© (t : Set (Fin k β β))) := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kββ’ β s β unionFaceSet Kβ Kβ, β t β unionFaceSet Kβ Kβ, (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)
intro s k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)hs:s β unionFaceSet Kβ Kββ’ β t β unionFaceSet Kβ Kβ, (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)hs:s β unionFaceSet Kβ Kβt:Finset (Fin k β β)β’ t β unionFaceSet Kβ Kβ β (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)hs:s β unionFaceSet Kβ Kβt:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kββ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)
-- Empty cases are trivial since convexHull of β
is β
.
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t = β
β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt); k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)hs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) ββ
β (convexHull β) (βs β© ββ
); All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt)
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) intro x k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesx:Fin k β βhx:x β (convexHull β) βs β© (convexHull β) βtβ’ x β (convexHull β) (βs β© βt)
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesx:Fin k β βhx:x β (convexHull β) βs β© (convexHull β) βtthis:x β (convexHull β) (βt β© βs)β’ x β (convexHull β) (βs β© βt)
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesx:Fin k β βhx:x β (convexHull β) βs β© (convexHull β) βtthis:x β (convexHull β) (βs β© βt)β’ x β (convexHull β) (βs β© βt)
All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)hs:s β Kβ.facesht:t = β
β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt); k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)hs:s β Kβ.facesβ’ (convexHull β) βs β© (convexHull β) ββ
β (convexHull β) (βs β© ββ
); All goals completed! π
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s β {β
}β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβs:Finset (Fin k β β)t:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kβhs:s = β
β’ (convexHull β) βs β© (convexHull β) βt β (convexHull β) (βs β© βt); k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβt:Finset (Fin k β β)ht:t β unionFaceSet Kβ Kββ’ (convexHull β) ββ
β© (convexHull β) βt β (convexHull β) (ββ
β© βt); All goals completed! π
/-- The **union (gluing) of two simplicial complexes** `Kβ`, `Kβ`, valid whenever every
cross pair of faces glues nicely (`UnionGlues`). -/
noncomputable def unionComplex (Kβ Kβ : SimplicialComplex β (Fin k β β))
(hglue : UnionGlues Kβ Kβ) :
SimplicialComplex β (Fin k β β) :=
SimplicialComplex.ofErase
(unionFaceSet Kβ Kβ)
(unionFaceSet_indep Kβ Kβ)
(unionFaceSet_isLowerSet Kβ Kβ)
(unionFaceSet_inter Kβ Kβ hglue)
lemma unionComplex_faces (Kβ Kβ : SimplicialComplex β (Fin k β β))
(hglue : UnionGlues Kβ Kβ) :
(unionComplex Kβ Kβ hglue).faces = unionFaceSet Kβ Kβ \ {β
} := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kββ’ (unionComplex Kβ Kβ hglue).faces = unionFaceSet Kβ Kβ \ {β
}
All goals completed! π
/-
The space of the union is the union of the spaces.
-/
lemma unionComplex_space (Kβ Kβ : SimplicialComplex β (Fin k β β))
(hglue : UnionGlues Kβ Kβ) :
(unionComplex Kβ Kβ hglue).space = Kβ.space βͺ Kβ.space := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kββ’ (unionComplex Kβ Kβ hglue).space = Kβ.space βͺ Kβ.space
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ x β (unionComplex Kβ Kβ hglue).space β x β Kβ.space βͺ Kβ.space
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ (β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs) β
(β s β Kβ.faces, x β (convexHull β) βs) β¨ β s β Kβ.faces, x β (convexHull β) βs;
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ (β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs) β
(β s β Kβ.faces, x β (convexHull β) βs) β¨ β s β Kβ.faces, x β (convexHull β) βsk:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ ((β s β Kβ.faces, x β (convexHull β) βs) β¨ β s β Kβ.faces, x β (convexHull β) βs) β
β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs;
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ (β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs) β
(β s β Kβ.faces, x β (convexHull β) βs) β¨ β s β Kβ.faces, x β (convexHull β) βs All goals completed! π;
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β ββ’ ((β s β Kβ.faces, x β (convexHull β) βs) β¨ β s β Kβ.faces, x β (convexHull β) βs) β
β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βs:Finset (Fin k β β)hsβ:s β Kβ.faceshsβ:x β (convexHull β) βsβ’ β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βsk:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βs:Finset (Fin k β β)hsβ:s β Kβ.faceshsβ:x β (convexHull β) βsβ’ β s, ((s β Kβ.faces β¨ s β Kβ.faces) β§ Β¬s = β
) β§ x β (convexHull β) βs <;> [ exact β¨ s, β¨ Or.inl hsβ, k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βs:Finset (Fin k β β)hsβ:s β Kβ.faceshsβ:x β (convexHull β) βsβ’ Β¬s = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βhsβ:β
β Kβ.faceshsβ:x β (convexHull β) ββ
β’ False; All goals completed! π β©, hsβ β© ; exact β¨ s, β¨ Or.inr hsβ, k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βs:Finset (Fin k β β)hsβ:s β Kβ.faceshsβ:x β (convexHull β) βsβ’ Β¬s = β
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβx:Fin k β βhsβ:β
β Kβ.faceshsβ:x β (convexHull β) ββ
β’ False; All goals completed! π β©, hsβ β© ]
lemma unionComplex_faces_finite (Kβ Kβ : SimplicialComplex β (Fin k β β))
(hglue : UnionGlues Kβ Kβ)
(hβ : Kβ.faces.Finite) (hβ : Kβ.faces.Finite) :
(unionComplex Kβ Kβ hglue).faces.Finite := k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβhβ:Kβ.faces.Finitehβ:Kβ.faces.Finiteβ’ (unionComplex Kβ Kβ hglue).faces.Finite
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβhβ:Kβ.faces.Finitehβ:Kβ.faces.Finiteβ’ (unionComplex Kβ Kβ hglue).faces β Kβ.faces βͺ (Kβ.faces βͺ {β
});
k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβhβ:Kβ.faces.Finitehβ:Kβ.faces.Finiteβ’ unionFaceSet Kβ Kβ β insert β
(Kβ.faces βͺ Kβ.faces);
exact fun x hx => k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβhβ:Kβ.faces.Finitehβ:Kβ.faces.Finitex:Finset (Fin k β β)hx:x β unionFaceSet Kβ Kββ’ x β insert β
(Kβ.faces βͺ Kβ.faces) k:βKβ:SimplicialComplex β (Fin k β β)Kβ:SimplicialComplex β (Fin k β β)hglue:UnionGlues Kβ Kβhβ:Kβ.faces.Finitehβ:Kβ.faces.Finitex:Finset (Fin k β β)hx:x β Kβ.faces βͺ Kβ.faces βͺ {β
}β’ x β insert β
(Kβ.faces βͺ Kβ.faces); All goals completed! π;
end FamiliesOfMapsB01
end Submission
Continuity of a single affine realization
From Collapse.lean: the affine extension over a single simplex, via
barycentric coordinates of an affine basis, is continuous. (The realization
actually used is glued from prescribed-value affine maps instead; see the
realization chapter.)
open Set Finset
open scoped Topology BigOperators
namespace Submission
namespace FamiliesOfMapsB01Collapse
variable {k : β}
/-
The affine extension over a single affinely-independent simplex is continuous:
for an `AffineBasis` `b` of (the affine span of) a simplex and any target assignment
`g : ΞΉ β βα΅`, the map `q β¦ Ξ£_i (b.coord i q) β’ g i` is continuous.
-/
lemma continuous_affine_realization
{ΞΉ : Type*} [Fintype ΞΉ]
(b : AffineBasis ΞΉ β (Fin k β β)) (g : ΞΉ β (Fin k β β)) :
Continuous (fun q : (Fin k β β) => β i, (b.coord i q) β’ g i) := k:βΞΉ:Type u_1instβ:Fintype ΞΉb:AffineBasis ΞΉ β (Fin k β β)g:ΞΉ β Fin k β ββ’ Continuous fun q => β i, (b.coord i) q β’ g i
k:βΞΉ:Type u_1instβ:Fintype ΞΉb:AffineBasis ΞΉ β (Fin k β β)g:ΞΉ β Fin k β ββ’ ContinuousAdd (Fin k β β)k:βΞΉ:Type u_1instβ:Fintype ΞΉb:AffineBasis ΞΉ β (Fin k β β)g:ΞΉ β Fin k β ββ’ β i β Finset.univ, ContinuousSMul β (Fin k β β);
k:βΞΉ:Type u_1instβ:Fintype ΞΉb:AffineBasis ΞΉ β (Fin k β β)g:ΞΉ β Fin k β ββ’ ContinuousAdd (Fin k β β) All goals completed! π;
k:βΞΉ:Type u_1instβ:Fintype ΞΉb:AffineBasis ΞΉ β (Fin k β β)g:ΞΉ β Fin k β ββ’ β i β Finset.univ, ContinuousSMul β (Fin k β β) All goals completed! π
end FamiliesOfMapsB01Collapse
end Submission
At most one extreme point per barycentric face
From Fineness.lean: the centroid of a face with at least two vertices is
never an extreme point, and a barycentric face contains at most one extreme
point of P β a fineness property that the quantile construction's
mesh-based argument ended up not needing.
open Geometry Set
open scoped BigOperators Classical
open _root_.FamiliesOfMapsB01
open Submission.FamiliesOfMapsB01Bary
namespace Submission
namespace FamiliesOfMapsB01
variable {k : β}
/-
The centroid of a face with at least two vertices is **not** an extreme point of any
convex set `P` containing the face: it is a convex combination, with strictly positive
weights, of two distinct points of `P`.
-/
lemma centroid_not_extreme_of_card_ge_two
{P : Set (Fin k β β)} (hPconv : Convex β P)
{Ο : Finset (Fin k β β)} (hΟP : (Ο : Set (Fin k β β)) β P)
(hcard : 2 β€ Ο.card)
(hindep : AffineIndependent β ((β) : Ο β (Fin k β β))) :
Finset.centroid β Ο id β Set.extremePoints β P := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pβ’ False;
-- Write c = weighted average of q andcentroid(Ο.erase q), both β P, with strictly positive weights. Let q be any vertex of Ο.
obtain β¨q, hqβ© : β q β Ο, q β Finset.centroid β (Ο.erase q) id := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pβ’ β q β Ο, q β centroid β (Ο.erase q) id
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idβ’ Β¬AffineIndependent β Subtype.val;
-- If every vertex of Ο is equal to the centroid of the rest, then Ο is a degenerate simplex.
have h_degenerate : β q β Ο, q = Finset.centroid β Ο id := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pβ’ β q β Ο, q β centroid β (Ο.erase q) id
intro q k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οβ’ q = centroid β Ο id
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ q = centroid β Ο id
have h_eq' : Finset.centroid β Ο id = (1 / Ο.card : β) β’ q + ((Ο.card - 1) / Ο.card : β) β’ Finset.centroid β (Ο.erase q) id := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pβ’ β q β Ο, q β centroid β (Ο.erase q) id
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ (affineCombination β Ο id) (centroidWeights β Ο) =
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ (affineCombination β (Ο.erase q) id) (centroidWeights β (Ο.erase q));
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο, centroidWeights β Ο i β’ id i =
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ β i β Ο.erase q, centroidWeights β (Ο.erase q) i β’ id ik:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο.erase q, centroidWeights β (Ο.erase q) i = 1k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο, centroidWeights β Ο i = 1;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο, centroidWeights β Ο i β’ id i =
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ β i β Ο.erase q, centroidWeights β (Ο.erase q) i β’ id i k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ centroidWeights β (insert q (Ο.erase q)) q β’ id q + β x β Ο.erase q, centroidWeights β (insert q (Ο.erase q)) x β’ id x =
(1 / β(#(insert q (Ο.erase q)))) β’ q +
((β(#(insert q (Ο.erase q))) - 1) / β(#(insert q (Ο.erase q)))) β’
β i β (insert q (Ο.erase q)).erase q, centroidWeights β ((insert q (Ο.erase q)).erase q) i β’ id i ; k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β x β Ο.erase q, (β(#Ο - 1) + 1)β»ΒΉ β’ x = (β(#Ο - 1) / (β(#Ο - 1) + 1)) β’ β x β Ο.erase q, (β(#Ο - 1))β»ΒΉ β’ x ; k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β x β Ο.erase q, (1 + β(#Ο - 1))β»ΒΉ β’ x = (β(#Ο - 1) * (1 + β(#Ο - 1))β»ΒΉ) β’ β x β Ο.erase q, (β(#Ο - 1))β»ΒΉ β’ x;
All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο.erase q, centroidWeights β (Ο.erase q) i = 1 k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β(#Ο - 1) * (β(#Ο - 1))β»ΒΉ = 1;
All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idβ’ β i β Ο, centroidWeights β Ο i = 1 All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idh_eq':centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ q = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ q;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idh_eq':centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ q = (1 / β(#Ο) + (β(#Ο) - 1) / β(#Ο)) β’ q ; k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idq:Fin k β βhq:q β Οh_eq:q = centroid β (Ο.erase q) idh_eq':centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ q = (β(#Ο) * (β(#Ο))β»ΒΉ) β’ q ; norm_num [ show Ο.card β 0 k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pβ’ β q β Ο, q β centroid β (Ο.erase q) id All goals completed! π ];
exact absurd ( Finset.card_le_one.mpr fun x hx y hy => k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idh_degenerate:β q β Ο, q = centroid β Ο idx:?m.245hx:x β ?m.246y:?m.245hy:y β ?m.246β’ x = y All goals completed! π ) ( k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οh:centroid β Ο id β extremePoints β Phindep:β q β Ο, q = centroid β (Ο.erase q) idh_degenerate:β q β Ο, q = centroid β Ο idβ’ Β¬#Ο β€ 1 All goals completed! π );
have h_convex_comb : Finset.centroid β Ο id = (1 / Ο.card : β) β’ q + ((Ο.card - 1) / Ο.card : β) β’ Finset.centroid β (Ο.erase q) id := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ (affineCombination β Ο id) (centroidWeights β Ο) =
(β(#Ο))β»ΒΉ β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ (affineCombination β (Ο.erase q) id) (centroidWeights β (Ο.erase q));
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ β x β Ο, (β(#Ο))β»ΒΉ β’ (x - Classical.choice β―) + Classical.choice β― =
(β(#Ο))β»ΒΉ β’ q +
(((β(#Ο) - 1) / β(#Ο)) β’
(β x β Ο, (β(#Ο - 1))β»ΒΉ β’ (x - Classical.choice β―) - (β(#Ο - 1))β»ΒΉ β’ (q - Classical.choice β―)) +
((β(#Ο) - 1) / β(#Ο)) β’ Classical.choice β―);
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ (β(#Ο))β»ΒΉ β’ (β x β Ο, x - β(#Ο) * Classical.choice β―) + Classical.choice β― =
(β(#Ο))β»ΒΉ β’ q +
((1 - (β(#Ο))β»ΒΉ) β’
((β(#Ο) - 1)β»ΒΉ β’ (β x β Ο, x - β(#Ο) * Classical.choice β―) - (β(#Ο) - 1)β»ΒΉ β’ (q - Classical.choice β―)) +
(1 - (β(#Ο))β»ΒΉ) β’ Classical.choice β―);
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ (β(#Ο))β»ΒΉ β’ β x β Ο, x - (β(#Ο))β»ΒΉ β’ (β(#Ο) * Classical.choice β―) + Classical.choice β― =
(β(#Ο))β»ΒΉ β’ q +
(((1 - (β(#Ο))β»ΒΉ) * (β(#Ο) - 1)β»ΒΉ) β’ β x β Ο, x - ((1 - (β(#Ο))β»ΒΉ) * (β(#Ο) - 1)β»ΒΉ) β’ (β(#Ο) * Classical.choice β―) -
(((1 - (β(#Ο))β»ΒΉ) * (β(#Ο) - 1)β»ΒΉ) β’ q - ((1 - (β(#Ο))β»ΒΉ) * (β(#Ο) - 1)β»ΒΉ) β’ Classical.choice β―) +
(Classical.choice β― - (β(#Ο))β»ΒΉ β’ Classical.choice β―));
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ (1 / β(#Ο)) β’ β x β Ο, x - (1 / β(#Ο)) β’ (β(#Ο) * Classical.choice β―) + Classical.choice β― =
(1 / β(#Ο)) β’ q +
(((β(#Ο) - 1) / (β(#Ο) * (β(#Ο) - 1))) β’ β x β Ο, x -
((β(#Ο) - 1) / (β(#Ο) * (β(#Ο) - 1))) β’ (β(#Ο) * Classical.choice β―) -
(((β(#Ο) - 1) / (β(#Ο) * (β(#Ο) - 1))) β’ q - ((β(#Ο) - 1) / (β(#Ο) * (β(#Ο) - 1))) β’ Classical.choice β―) +
(Classical.choice β― - (1 / β(#Ο)) β’ Classical.choice β―));
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idβ’ (1 / β(#Ο)) β’ β x β Ο, x - (1 / β(#Ο)) β’ (β(#Ο) * Classical.choice β―) + Classical.choice β― =
(1 / β(#Ο)) β’ q +
((1 / β(#Ο)) β’ β x β Ο, x - (1 / β(#Ο)) β’ (β(#Ο) * Classical.choice β―) -
((1 / β(#Ο)) β’ q - (1 / β(#Ο)) β’ Classical.choice β―) +
(Classical.choice β― - (1 / β(#Ο)) β’ Classical.choice β―)) ; All goals completed! π;
have h_convex_comb : Finset.centroid β Ο id β openSegment β q (Finset.centroid β (Ο.erase q) id) := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) id β openSegment β q (centroid β (Ο.erase q) id);
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 0 < 1 / β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 0 < (β(#Ο) - 1) / β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 1 / β(#Ο) + (β(#Ο) - 1) / β(#Ο) = 1 β§
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) id =
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) id k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 0 < 1 / β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 0 < (β(#Ο) - 1) / β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 1 / β(#Ο) + (β(#Ο) - 1) / β(#Ο) = 1 β§
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) id =
(1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) id k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ (β(#Ο))β»ΒΉ + (β(#Ο) - 1) / β(#Ο) = 1;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ Ο.Nonempty All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 0 < (β(#Ο) - 1) / β(#Ο) All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ (β(#Ο))β»ΒΉ + (β(#Ο) - 1) / β(#Ο) = 1 k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 1 + (β(#Ο) - 1) = 1 * β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ β(#Ο) β 0 k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ 1 + (β(#Ο) - 1) = 1 * β(#Ο)k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idβ’ β(#Ο) β 0 linarith [ show ( Ο.card : β ) β₯ 2 k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P All goals completed! π ];
have h_convex_comb : q β P β§ Finset.centroid β (Ο.erase q) id β P := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P
have h_convex_comb : Finset.centroid β (Ο.erase q) id β convexHull β (Ο.erase q : Set (Fin k β β)) := k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valβ’ centroid β Ο id β extremePoints β P
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ IsStrictOrderedRing βk:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ (Ο.erase q).Nonempty;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ IsStrictOrderedRing β All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ (Ο.erase q).Nonempty exact Finset.card_pos.mp ( k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ 0 < #(Ο.erase q) k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)β’ 0 < #Ο - 1 ; All goals completed! π );
All goals completed! π;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valh:centroid β Ο id β extremePoints β Pq:Fin k β βhq:q β Ο β§ q β centroid β (Ο.erase q) idh_convex_combβΒΉ:centroid β Ο id = (1 / β(#Ο)) β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_combβ:centroid β Ο id β openSegment β q (centroid β (Ο.erase q) id)h_convex_comb:q β P β§ centroid β (Ο.erase q) id β Pthis:q = centroid β Ο idβ’ False;
k:βP:Set (Fin k β β)hPconv:Convex β PΟ:Finset (Fin k β β)hΟP:βΟ β Phcard:2 β€ #Οhindep:AffineIndependent β Subtype.valq:Fin k β βhq:q β Ο β§ Β¬q = centroid β (Ο.erase q) idh_convex_combβΒΉ:q β P β§ centroid β (Ο.erase q) id β Ph:q β extremePoints β Ph_convex_combβ:q = (β(#Ο))β»ΒΉ β’ q + ((β(#Ο) - 1) / β(#Ο)) β’ centroid β (Ο.erase q) idh_convex_comb:q = centroid β (Ο.erase q) idthis:Trueβ’ False;
All goals completed! π
/-
In a barycentric face, at most one vertex is an extreme point of `P`.
-/
lemma baryFace_extreme_card_le_one
(K : SimplicialComplex β (Fin k β β))
{P : Set (Fin k β β)} (hPconv : Convex β P)
(hsub : β Ο β K.faces, (Ο : Set (Fin k β β)) β P)
{s : Finset (Fin k β β)} (hs : s β baryFaces K) :
(s.filter (fun v => v β Set.extremePoints β P)).card β€ 1 := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Ps:Finset (Fin k β β)hs:s β baryFaces Kβ’ #({v β s | v β extremePoints β P}) β€ 1
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyβ’ #({v β Finset.image (fun Ο => centroid β Ο id) ch | v β extremePoints β P}) β€ 1;
-- A vertex v β s is the centroid of some Ο β ch. By centroid_not_extreme_of_card_ge_two (with Ο β P from hsub since Ο β K.faces, and Ο affinely independent from K.indep), if |Ο| β₯ 2 then centroid Ο is NOT an extreme point of P.
have h_extreme_vertex : β v β ch.image (fun Ο => Finset.centroid β Ο id), v β Set.extremePoints β P β β Ο β ch, Ο.card = 1 β§ v = Finset.centroid β Ο id := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Ps:Finset (Fin k β β)hs:s β baryFaces Kβ’ #({v β s | v β extremePoints β P}) β€ 1
intro v k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chβ’ v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο id k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β Pβ’ β Ο β ch, #Ο = 1 β§ v = centroid β Ο id
obtain β¨Ο, hΟβ, hΟββ© : β Ο β ch, v = Finset.centroid β Ο id := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β Pβ’ β Ο β ch, v = centroid β Ο id
All goals completed! π;
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:2 β€ #Οβ’ β Ο β ch, #Ο = 1 β§ v = centroid β Ο idk:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:Β¬2 β€ #Οβ’ β Ο β ch, #Ο = 1 β§ v = centroid β Ο id;
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:2 β€ #Οβ’ β Ο β ch, #Ο = 1 β§ v = centroid β Ο id exact False.elim <| hv_extreme.2 |> fun h => centroid_not_extreme_of_card_ge_two hPconv ( hsub Ο <| hchβ hΟβ ) hΟ_card ( K.indep <| hchβ hΟβ ) <| k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:2 β€ #Οh:β β¦xβ : Fin k β ββ¦, xβ β P β β β¦xβ : Fin k β ββ¦, xβ β P β v β openSegment β xβ xβ β xβ = vβ’ centroid β Ο id β extremePoints β P All goals completed! π;
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:Β¬2 β€ #Οβ’ β Ο β ch, #Ο = 1 β§ v = centroid β Ο id exact β¨ Ο, hΟβ, le_antisymm ( not_lt.mp hΟ_card ) ( Finset.card_pos.mpr ( k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:Β¬2 β€ #Οβ’ Ο.Nonempty k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyv:Fin k β βhv:v β Finset.image (fun Ο => centroid β Ο id) chhv_extreme:v β extremePoints β PΟ:Finset (Fin k β β)hΟβ:Ο β chhΟβ:v = centroid β Ο idhΟ_card:Β¬2 β€ #Οthis:Ο.Nonemptyβ’ Ο.Nonempty ; All goals completed! π ) ), hΟβ β©;
-- Since ch is a chain under β, it contains at most one singleton: two distinct singletons {a}, {b} are β-incomparable, contradicting IsChain.
have h_singleton_chain : β Οβ Οβ, Οβ β ch β Οβ β ch β Οβ.card = 1 β Οβ.card = 1 β Οβ = Οβ := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Ps:Finset (Fin k β β)hs:s β baryFaces Kβ’ #({v β s | v β extremePoints β P}) β€ 1
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1β’ Οβ = Οβ
have h_singleton : β a, Οβ = {a} := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Ps:Finset (Fin k β β)hs:s β baryFaces Kβ’ #({v β s | v β extremePoints β P}) β€ 1
All goals completed! π
have h_singleton' : β b, Οβ = {b} := k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Ps:Finset (Fin k β β)hs:s β baryFaces Kβ’ #({v β s | v β extremePoints β P}) β€ 1
All goals completed! π
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1h_singleton':β b, Οβ = {b}a:Fin k β βha:Οβ = {a}β’ Οβ = Οβ
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1a:Fin k β βha:Οβ = {a}b:Fin k β βhb:Οβ = {b}β’ Οβ = Οβ;
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1a:Fin k β βha:Οβ = {a}b:Fin k β βhb:Οβ = {b}hβ:Οβ β Οββ’ Οβ = Οβk:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1a:Fin k β βha:Οβ = {a}b:Fin k β βhb:Οβ = {b}hβ:Οβ β Οββ’ Οβ = Οβ k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1a:Fin k β βha:Οβ = {a}b:Fin k β βhb:Οβ = {b}hβ:Οβ β Οββ’ Οβ = Οβk:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idΟβ:Finset (Fin k β β)Οβ:Finset (Fin k β β)hΟβ:Οβ β chhΟβ:Οβ β chhΟβ_card:#Οβ = 1hΟβ_card:#Οβ = 1a:Fin k β βha:Οβ = {a}b:Fin k β βhb:Οβ = {b}hβ:Οβ β Οββ’ Οβ = Οβ All goals completed! π;
k:βK:SimplicialComplex β (Fin k β β)P:Set (Fin k β β)hPconv:Convex β Phsub:β Ο β K.faces, βΟ β Pch:Finset (Finset (Fin k β β))hchβ:βch β K.faceshchβ:IsChain (fun x1 x2 => x1 β x2) βchhchβ:ch.Nonemptyh_extreme_vertex:β v β Finset.image (fun Ο => centroid β Ο id) ch, v β extremePoints β P β β Ο β ch, #Ο = 1 β§ v = centroid β Ο idh_singleton_chain:β (Οβ Οβ : Finset (Fin k β β)), Οβ β ch β Οβ β ch β #Οβ = 1 β #Οβ = 1 β Οβ = Οββ’ β a β {v β Finset.image (fun Ο => centroid β Ο id) ch | v β extremePoints β P},
β b β {v β Finset.image (fun Ο => centroid β Ο id) ch | v β extremePoints β P}, a = b;
All goals completed! π
end FamiliesOfMapsB01
end Submission
Helpers
Helpers.lean is an empty namespace, reserved by the project scaffolding:
namespace Submission.Helpers
end Submission.Helpers