4. From Vertex Labellings to Handles
The handles of Theorem 3.4 are produced in two stages: first a combinatorial vertex labelling family on a suitable subdivision, then its affine realization as continuous self-maps.
Definition 4.0
Definition 4.0. Let K be a subdivision of P. A labelling assigns to each
vertex q of K a point \ell(q) \in \mathbb R^k. A family \{\ell_\alpha\} of
labellings is admissible if:
(L1) every value \ell_\alpha(q) lies in P;
(L2) for every active \alpha and every extreme subset Q of P: every vertex
q of K lying in Q has \ell_\alpha(q) \in Q ("face-respecting");
(L3) for every facet D of K there is a set A of at most k indices such that
for \alpha \notin A, the labelling \ell_\alpha is constant on the vertex set
D.
(As with Definition 3.0, the labelling family's properties appear in Lean as the
hypotheses of the assembly theorem handle_family_of_labellings below.)
We take the two stages in the order the Lean development does: first the affine realization of a single labelling, then the convexity lemma and the assembly.
Proposition 4.2
Proposition 4.2 (realization of one labelling). Let K be a subdivision of
the convex polytope P and \ell a labelling whose values lie in P. Then there is
a continuous map G : P \to P with the carrier-hull property: whenever
p \in \operatorname{conv}(\sigma) for a face \sigma of K, one has
G(p) \in \operatorname{conv}(\ell(\sigma)).
Proof. For each face \sigma of K, its vertex set is affinely independent, so
there is an affine map A_\sigma : \mathbb R^k \to \mathbb R^k with
A_\sigma(q) = \ell(q) for every vertex q \in \sigma. (Coordinatewise, one needs an
affine functional with prescribed values on an affinely independent finite set: fix a
base point p_0 \in \sigma; the difference vectors q - p_0,
q \in \sigma \smallsetminus \{p_0\}, are linearly independent, so a linear functional
taking prescribed values on them exists — extend to a basis — and one translates.)
Any two of these agree where they must: if
p \in \operatorname{conv}(\sigma) \cap \operatorname{conv}(\tau), then by the
complex axiom p \in \operatorname{conv}(\sigma \cap \tau), which lies in the affine
span of \sigma \cap \tau; the affine maps A_\sigma and A_\tau agree on
\sigma \cap \tau (both equal \ell there), hence on its affine span, hence at p.
Since the underlying space of K is P, every p \in P lies in some closed cell;
define G(p) := A_\sigma(p) for any face \sigma whose closed cell contains p
(well defined by the previous paragraph). The closed cells
\operatorname{conv}(\sigma), \sigma ranging over the finitely many faces, form a
finite closed cover of P on each member of which G is (affine, hence) continuous,
so G is continuous.
Carrier-hull property: if p \in \operatorname{conv}(\sigma), then
G(p) = A_\sigma(p) \in A_\sigma(\operatorname{conv} \sigma) = \operatorname{conv}(A_\sigma(\sigma)) = \operatorname{conv}(\ell(\sigma)), as affine
maps commute with convex hulls. Finally G maps into P: each
\operatorname{conv}(\ell(\sigma)) \subseteq P since \ell(\sigma) \subseteq P and
P is convex. \blacksquare
In Lean, the prescribed-values affine maps are built first, then glued:
open Set Geometry
open scoped Topology BigOperators
open _root_.FamiliesOfMapsB01
namespace Submission
namespace FamiliesOfMapsB01
variable {k : ℕ}
/-
A real affine functional taking prescribed values on an affinely independent finite set
`σ` (extend the linearly-independent `vsub` family to a functional, then translate).
-/
lemma exists_affineMap_real_eqOn (σ : Finset (Fin k → ℝ))
(hσ : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ)))
(c : (Fin k → ℝ) → ℝ) :
∃ a : (Fin k → ℝ) →ᵃ[ℝ] ℝ, ∀ q ∈ σ, a q = c q := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝ⊢ ∃ a, ∀ q ∈ σ, a q = c q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonempty⊢ ∃ a, ∀ q ∈ σ, a q = c qk:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':¬σ.Nonempty⊢ ∃ a, ∀ q ∈ σ, a q = c q;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonempty⊢ ∃ a, ∀ q ∈ σ, a q = c q obtain ⟨p₀, hp₀⟩ : ∃ p₀ ∈ σ, True := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonempty⊢ ∃ p₀ ∈ σ, True
All goals completed! 🐙;
obtain ⟨ψ, hψ⟩ : ∃ ψ : (Fin k → ℝ) →ₗ[ℝ] ℝ, ∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀ := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ True⊢ ∃ ψ, ∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀
have h_lin_ind : LinearIndependent ℝ (fun i : {x : σ // x ≠ ⟨p₀, hp₀.1⟩} => (i : Fin k → ℝ) - p₀) := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ True⊢ ∃ ψ, ∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Truethis:AffineIndependent ℝ Subtype.val⊢ LinearIndependent ℝ fun i => ↑↑i - p₀;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Truethis✝:AffineIndependent ℝ Subtype.valthis:LinearIndependent ℝ fun i => ↑↑i -ᵥ ↑?i1⊢ LinearIndependent ℝ fun i => ↑↑i - p₀k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Truethis:AffineIndependent ℝ Subtype.val⊢ ↥σ;
All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueh_lin_ind:LinearIndependent ℝ fun i => ↑↑i - p₀this:∀ {k : ℕ} {ι : Type ?u.10506} [Fintype ι] (v : ι → Fin k → ℝ),
LinearIndependent ℝ v → ∀ (c : ι → ℝ), ∃ ψ, ∀ (i : ι), ψ (v i) = c i⊢ ∃ ψ, ∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueh_lin_ind:LinearIndependent ℝ fun i => ↑↑i - p₀this:∀ {k : ℕ} {ι : Type} [Fintype ι] (v : ι → Fin k → ℝ),
LinearIndependent ℝ v → ∀ (c : ι → ℝ), ∃ ψ, ∀ (i : ι), ψ (v i) = c i⊢ (fun ψ => ∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀) = fun ψ =>
∀ (i : { x // x ≠ ⟨p₀, ⋯⟩ }), ψ (↑↑i - p₀) = c ↑↑i - c p₀;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueh_lin_ind:LinearIndependent ℝ fun i => ↑↑i - p₀this:∀ {k : ℕ} {ι : Type} [Fintype ι] (v : ι → Fin k → ℝ),
LinearIndependent ℝ v → ∀ (c : ι → ℝ), ∃ ψ, ∀ (i : ι), ψ (v i) = c ix✝:(Fin k → ℝ) →ₗ[ℝ] ℝ⊢ (∀ q ∈ σ, q ≠ p₀ → x✝ (q - p₀) = c q - c p₀) ↔ ∀ (i : { x // x ≠ ⟨p₀, ⋯⟩ }), x✝ (↑↑i - p₀) = c ↑↑i - c p₀; All goals completed! 🐙 ;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueψ:(Fin k → ℝ) →ₗ[ℝ] ℝhψ:∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀q:Fin k → ℝhq:q ∈ σ⊢ (ψ.toAffineMap + AffineMap.const ℝ (Fin k → ℝ) (c p₀ - ψ p₀)) q = c q ; k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueψ:(Fin k → ℝ) →ₗ[ℝ] ℝhψ:∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀q:Fin k → ℝhq:q ∈ σhq₀:q = p₀⊢ (ψ.toAffineMap + AffineMap.const ℝ (Fin k → ℝ) (c p₀ - ψ p₀)) q = c qk:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueψ:(Fin k → ℝ) →ₗ[ℝ] ℝhψ:∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀q:Fin k → ℝhq:q ∈ σhq₀:¬q = p₀⊢ (ψ.toAffineMap + AffineMap.const ℝ (Fin k → ℝ) (c p₀ - ψ p₀)) q = c q k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueψ:(Fin k → ℝ) →ₗ[ℝ] ℝhψ:∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀q:Fin k → ℝhq:q ∈ σhq₀:q = p₀⊢ (ψ.toAffineMap + AffineMap.const ℝ (Fin k → ℝ) (c p₀ - ψ p₀)) q = c qk:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':σ.Nonemptyp₀:Fin k → ℝhp₀:p₀ ∈ σ ∧ Trueψ:(Fin k → ℝ) →ₗ[ℝ] ℝhψ:∀ q ∈ σ, q ≠ p₀ → ψ (q - p₀) = c q - c p₀q:Fin k → ℝhq:q ∈ σhq₀:¬q = p₀⊢ (ψ.toAffineMap + AffineMap.const ℝ (Fin k → ℝ) (c p₀ - ψ p₀)) q = c q All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':¬σ.Nonempty⊢ ∃ a, ∀ q ∈ σ, a q = c q exact ⟨ 0, k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valc:(Fin k → ℝ) → ℝhσ':¬σ.Nonempty⊢ ∀ q ∈ σ, 0 q = c q All goals completed! 🐙 ⟩
/-- An affine self-map of `ℝᵏ` taking prescribed values `lbl` on an affinely independent
finite set `σ` (apply `exists_affineMap_real_eqOn` coordinatewise and bundle with
`AffineMap.pi`). -/
lemma exists_affineMap_eqOn (σ : Finset (Fin k → ℝ))
(hσ : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ)))
(lbl : (Fin k → ℝ) → (Fin k → ℝ)) :
∃ A : (Fin k → ℝ) →ᵃ[ℝ] (Fin k → ℝ), ∀ q ∈ σ, A q = lbl q := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.vallbl:(Fin k → ℝ) → Fin k → ℝ⊢ ∃ A, ∀ q ∈ σ, A q = lbl q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.vallbl:(Fin k → ℝ) → Fin k → ℝa:Fin k → (Fin k → ℝ) →ᵃ[ℝ] ℝha:∀ (j : Fin k), ∀ q ∈ σ, (a j) q = lbl q j⊢ ∃ A, ∀ q ∈ σ, A q = lbl q
All goals completed! 🐙
/-
**Affine realization of a vertex labelling.** For a subdivision `K` of a convex
polytope `P` and a labelling `lbl` whose values on every vertex of `K` lie in `P`, there is
a continuous self-map `G : P → P` such that on every closed simplex `convexHull σ` of `K`,
`G` takes values in `convexHull (lbl '' σ)`.
-/
theorem realization_exists
{P : Set (Fin k → ℝ)} (hP : Convex ℝ P) (K : Subdivision P)
(lbl : (Fin k → ℝ) → (Fin k → ℝ))
(hlbl : ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) :
∃ G : C(P, P), ∀ σ ∈ K.complex.faces, ∀ p : P,
(p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) →
(G p : Fin k → ℝ) ∈ convexHull ℝ (lbl '' (σ : Set (Fin k → ℝ))) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)
obtain ⟨G₀, hG₀⟩ : ∃ G₀ : P → (Fin k → ℝ), (∀ σ ∈ K.complex.faces, ∀ p : P, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) → G₀ p ∈ convexHull ℝ (lbl '' (σ : Set (Fin k → ℝ)))) ∧ Continuous G₀ := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀
have h_affine_maps : ∀ σ ∈ K.complex.faces, ∃ A : (Fin k → ℝ) →ᵃ[ℝ] (Fin k → ℝ), ∀ q ∈ σ, A q = lbl q := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀
intro σ k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ Pσ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces⊢ ∃ A, ∀ q ∈ σ, A q = lbl q;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ Pσ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces⊢ AffineIndependent ℝ Subtype.val;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl q⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀;
-- By the properties of the convex hull and the definition of `A`, we have that for any `σ ∈ K.complex.faces` and `p : P`, if `p ∈ convexHull ℝ σ`, then `A σ p ∈ convexHull ℝ (lbl '' σ)`.
have h_convex_hull : ∀ σ ∈ K.complex.faces, ∀ p : P, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) → (A σ p : Fin k → ℝ) ∈ convexHull ℝ (lbl '' (σ : Set (Fin k → ℝ))) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qσ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.facesp:↑Php:↑p ∈ (convexHull ℝ) ↑σ⊢ (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)
have h_convex_hull : (A σ p : Fin k → ℝ) ∈ convexHull ℝ (A σ '' (σ : Set (Fin k → ℝ))) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qσ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.facesp:↑Php:↑p ∈ (convexHull ℝ) ↑σh_convex_hull:(A σ) ↑p ∈ (convexHull ℝ) (⇑(A σ) '' ↑σ)⊢ (convexHull ℝ) (lbl '' ↑σ) = (convexHull ℝ) (⇑(A σ) '' ↑σ);
All goals completed! 🐙;
obtain ⟨G₀, hG₀⟩ : ∃ G₀ : P → (Fin k → ℝ), (∀ σ ∈ K.complex.faces, ∀ p : P, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) → G₀ p = (A σ p : Fin k → ℝ)) ∧ Continuous G₀ := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
have h_agree : ∀ σ τ : Finset (Fin k → ℝ), σ ∈ K.complex.faces → τ ∈ K.complex.faces → ∀ p : P, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) → (p : Fin k → ℝ) ∈ convexHull ℝ (τ : Set (Fin k → ℝ)) → (A σ p : Fin k → ℝ) = (A τ p : Fin k → ℝ) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)σ:Finset (Fin k → ℝ)τ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faceshτ:τ ∈ K.complex.facesp:↑Phpσ:↑p ∈ (convexHull ℝ) ↑σhpτ:↑p ∈ (convexHull ℝ) ↑τ⊢ (A σ) ↑p = (A τ) ↑p
have h_eq : Set.EqOn (A σ) (A τ) (σ ∩ τ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
intro q k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)σ:Finset (Fin k → ℝ)τ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faceshτ:τ ∈ K.complex.facesp:↑Phpσ:↑p ∈ (convexHull ℝ) ↑σhpτ:↑p ∈ (convexHull ℝ) ↑τq:Fin k → ℝhq:q ∈ ↑σ ∩ ↑τ⊢ (A σ) q = (A τ) q; All goals completed! 🐙;
have h_eq_affine : Set.EqOn (A σ) (A τ) (affineSpan ℝ (σ ∩ τ : Set (Fin k → ℝ))) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)σ:Finset (Fin k → ℝ)τ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faceshτ:τ ∈ K.complex.facesp:↑Phpσ:↑p ∈ (convexHull ℝ) ↑σhpτ:↑p ∈ (convexHull ℝ) ↑τh_eq:EqOn (⇑(A σ)) (⇑(A τ)) (↑σ ∩ ↑τ)h_eq_affine:EqOn ⇑(A σ) ⇑(A τ) ↑(affineSpan ℝ (↑σ ∩ ↑τ))⊢ ↑p ∈ ↑(affineSpan ℝ (↑σ ∩ ↑τ));
have h_eq_affine : (p : Fin k → ℝ) ∈ convexHull ℝ (σ ∩ τ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)σ:Finset (Fin k → ℝ)τ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faceshτ:τ ∈ K.complex.facesp:↑Phpσ:↑p ∈ (convexHull ℝ) ↑σhpτ:↑p ∈ (convexHull ℝ) ↑τh_eq:EqOn (⇑(A σ)) (⇑(A τ)) (↑σ ∩ ↑τ)h_eq_affine:EqOn ⇑(A σ) ⇑(A τ) ↑(affineSpan ℝ (↑σ ∩ ↑τ))⊢ ↑p ∈ (convexHull ℝ) ↑σ ∩ (convexHull ℝ) ↑τ;
All goals completed! 🐙;
All goals completed! 🐙
have h_cover : ∀ p : P, ∃ σ ∈ K.complex.faces, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pp:↑P⊢ ∃ σ ∈ K.complex.faces, ↑p ∈ (convexHull ℝ) ↑σ
have h_p_in_space : (p : Fin k → ℝ) ∈ K.complex.space := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
All goals completed! 🐙;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)⊢ ∀ σ_1 ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ_1 → (fun p => (A (σ p)) ↑p) p = (A σ_1) ↑pk:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)⊢ Continuous fun p => (A (σ p)) ↑p;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)⊢ ∀ σ_1 ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ_1 → (fun p => (A (σ p)) ↑p) p = (A σ_1) ↑p All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)⊢ Continuous fun p => (A (σ p)) ↑p have h_locally_finite : LocallyFinite (fun σ : K.complex.faces => {p : P | (p : Fin k → ℝ) ∈ convexHull ℝ (σ.val : Set (Fin k → ℝ))}) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
have h_finite : Finite K.complex.faces := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ G₀, (∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p = (A σ) ↑p) ∧ Continuous G₀
All goals completed! 🐙;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ⋃ i, {p | ↑p ∈ (convexHull ℝ) ↑↑i} = univk:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ∀ (i : ↑K.complex.faces), IsClosed {p | ↑p ∈ (convexHull ℝ) ↑↑i}k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ∀ (i : ↑K.complex.faces), ContinuousOn (fun p => (A (σ p)) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i};
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ⋃ i, {p | ↑p ∈ (convexHull ℝ) ↑↑i} = univ All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ∀ (i : ↑K.complex.faces), IsClosed {p | ↑p ∈ (convexHull ℝ) ↑↑i} k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ✝:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}σ:↑K.complex.faces⊢ IsClosed {p | ↑p ∈ (convexHull ℝ) ↑↑σ};
exact IsClosed.preimage ( continuous_subtype_val ) ( show IsClosed ( convexHull ℝ ( σ.val : Set ( Fin k → ℝ ) ) ) from k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ✝:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}σ:↑K.complex.faces⊢ IsClosed ((convexHull ℝ) ↑↑σ) exact ( IsCompact.isClosed <| k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ✝:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}σ:↑K.complex.faces⊢ IsCompact ((convexHull ℝ) ↑↑σ) All goals completed! 🐙 ) );
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}⊢ ∀ (i : ↑K.complex.faces), ContinuousOn (fun p => (A (σ p)) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i} k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ ContinuousOn (fun p => (A (σ p)) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i};
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ ↑P → Fin k → ℝk:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ ContinuousOn ?refine'_2.h_cont.refine'_1 {p | ↑p ∈ (convexHull ℝ) ↑↑i}k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ EqOn (fun p => (A (σ p)) ↑p) ?refine'_2.h_cont.refine'_1 {p | ↑p ∈ (convexHull ℝ) ↑↑i};
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ ContinuousOn (fun p => (A ↑i) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i}k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ EqOn (fun p => (A (σ p)) ↑p) (fun p => (A ↑i) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i};
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ ContinuousOn (fun p => (A ↑i) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i} exact Continuous.continuousOn ( k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ Continuous fun p => (A ↑i) ↑p All goals completed! 🐙 );
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.faces⊢ EqOn (fun p => (A (σ p)) ↑p) (fun p => (A ↑i) ↑p) {p | ↑p ∈ (convexHull ℝ) ↑↑i} intro p k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)h_agree:∀ (σ τ : Finset (Fin k → ℝ)),
σ ∈ K.complex.faces →
τ ∈ K.complex.faces → ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑p ∈ (convexHull ℝ) ↑τ → (A σ) ↑p = (A τ) ↑pσ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.facesp:↑Php:p ∈ {p | ↑p ∈ (convexHull ℝ) ↑↑i}⊢ (fun p => (A (σ p)) ↑p) p = (fun p => (A ↑i) ↑p) p; k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PA:Finset (Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] Fin k → ℝhA:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, (A σ) q = lbl qh_convex_hull:∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → (A σ) ↑p ∈ (convexHull ℝ) (lbl '' ↑σ)σ:↑P → Finset (Fin k → ℝ)hσ₁:∀ (p : ↑P), σ p ∈ K.complex.faceshσ₂:∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑(σ p)h_locally_finite:LocallyFinite fun σ => {p | ↑p ∈ (convexHull ℝ) ↑↑σ}i:↑K.complex.facesp:↑Php:p ∈ {p | ↑p ∈ (convexHull ℝ) ↑↑i}h_agree:↑p ∈ (convexHull ℝ) ↑(σ p) → ↑p ∈ (convexHull ℝ) ↑↑i → (A (σ p)) ↑p = (A ↑i) ↑p⊢ (fun p => (A (σ p)) ↑p) p = (fun p => (A ↑i) ↑p) p; All goals completed! 🐙;
All goals completed! 🐙;
have hG₀_P : ∀ p : P, G₀ p ∈ P := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P⊢ ∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)
k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PG₀:↑P → Fin k → ℝhG₀:(∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀p:↑P⊢ G₀ p ∈ P
obtain ⟨σ, hσ⟩ : ∃ σ ∈ K.complex.faces, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PG₀:↑P → Fin k → ℝhG₀:(∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀p:↑P⊢ ∃ σ ∈ K.complex.faces, ↑p ∈ (convexHull ℝ) ↑σ
have h_space : p.val ∈ K.complex.space := k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PG₀:↑P → Fin k → ℝhG₀:(∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀p:↑P⊢ ∃ σ ∈ K.complex.faces, ↑p ∈ (convexHull ℝ) ↑σ
All goals completed! 🐙;
All goals completed! 🐙;
All goals completed! 🐙;
exact ⟨ ⟨ fun p => ⟨ G₀ p, hG₀_P p ⟩, k:ℕP:Set (Fin k → ℝ)hP:Convex ℝ PK:Subdivision Plbl:(Fin k → ℝ) → Fin k → ℝhlbl:∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ PG₀:↑P → Fin k → ℝhG₀:(∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → G₀ p ∈ (convexHull ℝ) (lbl '' ↑σ)) ∧ Continuous G₀hG₀_P:∀ (p : ↑P), G₀ p ∈ P⊢ Continuous fun p => ⟨G₀ p, ⋯⟩ All goals completed! 🐙 ⟩, hG₀.1 ⟩
end FamiliesOfMapsB01
end Submission
We first record the key convexity fact used to transfer (L2) to the realized handles.
Lemma 4.1
Lemma 4.1 (support of a convex combination inside a face). Let Q be an
extreme subset of the convex set P, and suppose a point of Q is written as a
convex combination, with all weights strictly positive, of finitely many points of
P. Then all those points lie in Q.
Proof. Induction on the number of points. One point is trivial. Given
y_0 = a\,q + b\,z \in Q with a, b > 0, a + b = 1, q \in P, and z the
renormalized convex combination of the remaining points (which lies in P by
convexity): extremality applied to this expression gives q \in Q and z \in Q (if
q = z this is immediate, since then y_0 = q = z); apply the inductive hypothesis
to z with the renormalized (still strictly positive) weights. \blacksquare
open Set Geometry
open scoped Topology BigOperators
open _root_.FamiliesOfMapsB01
namespace Submission
namespace FamiliesOfMapsB01
variable {k : ℕ} {ι X : Type*} [TopologicalSpace X]
/-
**Support of a convex combination inside an extreme set.** If `F` is an extreme subset
of a convex set `P`, and a point of `F` is written as a convex combination (all weights
strictly positive) of points of `P`, then every point used lies in `F`. Proof by induction
on the (finite) support, splitting off one point via `openSegment`.
-/
lemma extreme_convexHull_support
{P F : Set (Fin k → ℝ)} (hF : IsExtreme ℝ P F) (hPc : Convex ℝ P)
(s : Finset (Fin k → ℝ)) (hsP : (s : Set (Fin k → ℝ)) ⊆ P)
(w : (Fin k → ℝ) → ℝ) (hw : ∀ q ∈ s, 0 < w q) (hsum : ∑ q ∈ s, w q = 1)
(hx : (∑ q ∈ s, w q • q) ∈ F) :
(s : Set (Fin k → ℝ)) ⊆ F := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ PhsP:↑∅ ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ ∅, 0 < w qhsum:∑ q ∈ ∅, w q = 1hx:∑ q ∈ ∅, w q • q ∈ F⊢ ↑∅ ⊆ Fk:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ F⊢ ↑(insert q s) ⊆ F;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ PhsP:↑∅ ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ ∅, 0 < w qhsum:∑ q ∈ ∅, w q = 1hx:∑ q ∈ ∅, w q • q ∈ F⊢ ↑∅ ⊆ F All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ F⊢ ↑(insert q s) ⊆ F k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonempty⊢ ↑(insert q s) ⊆ Fk:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:¬s.Nonempty⊢ ↑(insert q s) ⊆ F;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonempty⊢ ↑(insert q s) ⊆ F -- Let $a = w q \in (0,1)$ (since $0 < w q$ and $\sum_{s} w = 1$ with other positive terms, $w q < 1$). Let $b = 1 - a > 0$.
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w q⊢ ↑(insert q s) ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - a⊢ ↑(insert q s) ⊆ F
have ha_pos : 0 < a := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
All goals completed! 🐙
have hb_pos : 0 < b := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝhsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < w qhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w a⊢ w q < 1;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝhsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < w qhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w a⊢ w q < w q + ∑ x ∈ s, w x ; All goals completed! 🐙
have ha_lt_one : a < 1 := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
All goals completed! 🐙;
-- Define $y = \sum_{q \in s} (w q / b) • q$; the weights $w q / b$ are positive and sum to $1$ (since $\sum_{s} w = b$), so $y \in P$ ($Convex.sum_mem hPc$) and $y \in convexHull$ of $s$.
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ↑(insert q s) ⊆ F
have hyP : y ∈ P := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∀ i ∈ s, 0 ≤ w i / bk:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∑ i ∈ s, w i / b = 1k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∀ i ∈ s, i ∈ P;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∀ i ∈ s, 0 ≤ w i / b All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∑ i ∈ s, w i / b = 1 k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∑ i ∈ s, w i = 1 * bk:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ b ≠ 0 k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∑ i ∈ s, w i = 1 * bk:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ b ≠ 0 first | All goals completed! 🐙 | k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:w q + ∑ x ∈ s, w x = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∑ i ∈ s, w i = 1 * b ; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • q⊢ ∀ i ∈ s, i ∈ P All goals completed! 🐙
have hyF : y ∈ F := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
have hyF : (a • q + b • y) ∈ F := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ P⊢ a • q + b • y = ∑ q ∈ insert q s, w q • q;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ P⊢ a • q + ∑ x ∈ s, b • (w x / b) • x = w q • q + ∑ x ∈ s, w x • x;
exact congrArg _ ( Finset.sum_congr rfl fun x hx => k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx✝:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ Px:Fin k → ℝhx:x ∈ s⊢ b • (w x / b) • x = w x • x All goals completed! 🐙 );
have := hF.2 hyP ( hsP ( Finset.mem_insert_self _ _ ) ) ( show ( 1 - a ) • y + a • q ∈ F from k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:a • q + b • y ∈ F⊢ (1 - a) • y + a • q ∈ F All goals completed! 🐙 );
exact this ⟨ 1 - a, a, hb_pos, ha_pos, k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:a • q + b • y ∈ Fthis:(1 - a) • y + a • q ∈ openSegment ℝ y q → y ∈ F⊢ 1 - a + a = 1 All goals completed! 🐙, k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:a • q + b • y ∈ Fthis:(1 - a) • y + a • q ∈ openSegment ℝ y q → y ∈ F⊢ (1 - a) • y + a • q = (1 - a) • y + a • q All goals completed! 🐙 ⟩;
have hqF : q ∈ F := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
have hqF : q ∈ F := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
have hqF : q ∈ P := hsP (k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:y ∈ F⊢ q ∈ ↑(insert q s) All goals completed! 🐙)
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:y ∈ FhqF✝:q ∈ PhqF:y ∈ P⊢ q ∈ F
have hqF : ∑ q ∈ insert q s, w q • q = a • q + b • y := k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Ps:Finset (Fin k → ℝ)hsP:↑s ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q ∈ s, 0 < w qhsum:∑ q ∈ s, w q = 1hx:∑ q ∈ s, w q • q ∈ F⊢ ↑s ⊆ F
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝhsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < w qha_lt_one:w q < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhqF✝:q ∈ PhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w ahb_pos:w q < 1hyP:∑ x ∈ s, (w x / (1 - w q)) • x ∈ PhyF:∑ x ∈ s, (w x / (1 - w q)) • x ∈ FhqF:∑ x ∈ s, (w x / (1 - w q)) • x ∈ P⊢ ∑ q ∈ insert q s, w q • q = w q • q + (1 - w q) • ∑ x ∈ s, (w x / (1 - w q)) • x;
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:y ∈ FhqF✝¹:q ∈ PhqF✝:y ∈ PhqF:∑ q ∈ insert q s, w q • q = a • q + b • ythis:∀ ⦃z : Fin k → ℝ⦄, z ∈ F → z ∈ openSegment ℝ q y → q ∈ F⊢ q ∈ F;
exact this hx ⟨ a, b, ha_pos, hb_pos, k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:y ∈ FhqF✝¹:q ∈ PhqF✝:y ∈ PhqF:∑ q ∈ insert q s, w q • q = a • q + b • ythis:∀ ⦃z : Fin k → ℝ⦄, z ∈ F → z ∈ openSegment ℝ q y → q ∈ F⊢ a + b = 1 All goals completed! 🐙, k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:s.Nonemptya:ℝ := w qb:ℝ := 1 - aha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1y:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhyP:y ∈ PhyF:y ∈ FhqF✝¹:q ∈ PhqF✝:y ∈ PhqF:∑ q ∈ insert q s, w q • q = a • q + b • ythis:∀ ⦃z : Fin k → ℝ⦄, z ∈ F → z ∈ openSegment ℝ q y → q ∈ F⊢ a • q + b • y = ∑ q ∈ insert q s, w q • q All goals completed! 🐙 ⟩;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝa:ℝ := w qb:ℝ := 1 - ay:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w ahsum:w q + ∑ x ∈ s, w x = 1hx:w q • q + ∑ q ∈ s, w q • q ∈ Fhs_empty:s.Nonemptyha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1hyP:y ∈ PhyF:y ∈ FhqF:q ∈ F⊢ insert q ↑s ⊆ F;
exact Set.insert_subset_iff.mpr ⟨ hqF, ih ( fun x hx => hsP ( Set.mem_insert_of_mem _ hx ) ) ( fun x => w x / b ) ( fun x hx => div_pos ( hw.2 x hx ) hb_pos ) ( k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝa:ℝ := w qb:ℝ := 1 - ay:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w ahsum:w q + ∑ x ∈ s, w x = 1hx:w q • q + ∑ q ∈ s, w q • q ∈ Fhs_empty:s.Nonemptyha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1hyP:y ∈ PhyF:y ∈ FhqF:q ∈ F⊢ ∑ q ∈ s, (fun x => w x / b) q = 1 k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ Fw:(Fin k → ℝ) → ℝa:ℝ := w qb:ℝ := 1 - ay:Fin k → ℝ := ∑ q ∈ s, (w q / b) • qhsP:insert q ↑s ⊆ Phw:0 < w q ∧ ∀ a ∈ s, 0 < w ahsum:w q + ∑ x ∈ s, w x = 1hx:w q • q + ∑ q ∈ s, w q • q ∈ Fhs_empty:s.Nonemptyha_pos:0 < ahb_pos:0 < bha_lt_one:a < 1hyP:y ∈ PhyF:y ∈ FhqF:q ∈ F⊢ ∑ i ∈ s, w i = 1 * b ; All goals completed! 🐙 ) hyF ⟩;
k:ℕP:Set (Fin k → ℝ)F:Set (Fin k → ℝ)hF:IsExtreme ℝ P FhPc:Convex ℝ Pq:Fin k → ℝs:Finset (Fin k → ℝ)hs:q ∉ sih:↑s ⊆ P → ∀ (w : (Fin k → ℝ) → ℝ), (∀ q ∈ s, 0 < w q) → ∑ q ∈ s, w q = 1 → ∑ q ∈ s, w q • q ∈ F → ↑s ⊆ FhsP:↑(insert q s) ⊆ Pw:(Fin k → ℝ) → ℝhw:∀ q_1 ∈ insert q s, 0 < w q_1hsum:∑ q ∈ insert q s, w q = 1hx:∑ q ∈ insert q s, w q • q ∈ Fhs_empty:¬s.Nonempty⊢ ↑(insert q s) ⊆ F All goals completed! 🐙
Proposition 4.3
Proposition 4.3 (handles from labellings). Let K be a subdivision of P
and \{\ell_\alpha\} an admissible labelling family. Let g_\alpha : P \to P be the
realization of \ell_\alpha from Proposition 4.2. Then (K, \{g_\alpha\}) is a
handle family.
Proof. (b), constancy: Fix a facet D and the set A from (L3). For
\alpha \notin A, \ell_\alpha is constant on D, say with value z; the
carrier-hull property gives, for every p \in \operatorname{conv}(D),
g_\alpha(p) \in \operatorname{conv}(\{z\}) = \{z\}; so g_\alpha is constant on the
closed cell.
(a), face preservation: Let \alpha be active (otherwise there is nothing to
prove), let Q be a boundary subpolyhedron (a polytope, and an extreme subset of
P), and let p \in Q. Choose a face \sigma of K with
p \in \operatorname{conv}(\sigma) and write p as a convex combination of the
vertices of \sigma; discard the vertices of weight zero, leaving a subset
\tau \subseteq \sigma (again a face of K, being a nonempty subset of a face) with
p \in \operatorname{conv}(\tau) and all weights strictly positive. By Lemma 4.1
(applied to the extreme subset Q and this positive combination), every vertex of
\tau lies in Q. By (L2), \ell_\alpha maps every vertex of \tau into Q. By
the carrier-hull property applied to \tau,
g_\alpha(p) \in \operatorname{conv}(\ell_\alpha(\tau)) \subseteq \operatorname{conv}(Q) = Q. \blacksquare
/-
**Assembly of the handle family from labellings.** Given a subdivision `K` of `P` and a
family of labellings `lbl` such that
* each labelling sends every face-vertex of `K` into `P` (`hlblP`);
* each *active* labelling is *face-respecting*: it keeps every vertex of `K` lying in an
extreme subset `Q` of `P` inside `Q` (`hface`);
* on every facet `D` of `K`, all but `≤ k` labellings are constant on the vertices of `D`
(`hcount`),
the affine realizations of the labellings form a handle family with the face-preservation
and per-cell `≤ k` properties required by `handle_family_exists`.
-/
set_option maxHeartbeats 1600000 in
theorem handle_family_of_labellings
{P : Set (Fin k → ℝ)} (hP : IsPolyhedron P)
(ρ : PartitionOfUnity ι X univ)
(K : Subdivision P)
(lbl : ι → (Fin k → ℝ) → (Fin k → ℝ))
(hlblP : ∀ α, ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ P)
(hface : ∀ α, ρ α ≠ 0 → ∀ Q : Set (Fin k → ℝ), IsExtreme ℝ P Q →
∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Q)
(hcount : ∀ D ∈ K.complex.facets, ∃ A : Finset ι, A.card ≤ k ∧
∀ α, α ∉ A → ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q') :
∃ (g : ι → C(P, P)),
(∀ α, ρ α = 0 ∨
(∀ Q : Set P, IsBoundarySubpolyhedron Q → ∀ p : P, p ∈ Q → g α p ∈ Q)) ∧
(∀ D ∈ K.complex.facets, ∃ A : Finset ι, A.card ≤ k ∧
∀ α, α ∉ A → ∀ p p' : P,
((p : Fin k → ℝ) ∈ convexHull ℝ (D : Set (Fin k → ℝ))) →
((p' : Fin k → ℝ) ∈ convexHull ℝ (D : Set (Fin k → ℝ))) →
g α p = g α p') ∧
(∀ α, ∀ σ ∈ K.complex.faces, ∀ p : P,
(p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) →
(g α p : Fin k → ℝ) ∈ convexHull ℝ (lbl α '' (σ : Set (Fin k → ℝ)))) := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
obtain ⟨g, hg⟩ : ∃ g : ι → C(P, P), ∀ α, ∀ σ ∈ K.complex.faces, ∀ p : P, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) → (g α p : Fin k → ℝ) ∈ convexHull ℝ (lbl α '' (σ : Set (Fin k → ℝ))) := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g, ∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'this:∀ {k : ℕ} {P : Set (Fin k → ℝ)},
Convex ℝ P →
∀ (K : Subdivision P) (lbl : (Fin k → ℝ) → Fin k → ℝ),
(∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) →
∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)⊢ ∃ g, ∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ);
exact ⟨ fun α => Classical.choose ( this ( show Convex ℝ P from k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'this:∀ {k : ℕ} {P : Set (Fin k → ℝ)},
Convex ℝ P →
∀ (K : Subdivision P) (lbl : (Fin k → ℝ) → Fin k → ℝ),
(∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) →
∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)α:ι⊢ Convex ℝ P k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace Xρ:PartitionOfUnity ι Xlbl:ι → (Fin k → ℝ) → Fin k → ℝthis:∀ {k : ℕ} {P : Set (Fin k → ℝ)},
Convex ℝ P →
∀ (K : Subdivision P) (lbl : (Fin k → ℝ) → Fin k → ℝ),
(∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) →
∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)α:ιS:Finset (Fin k → ℝ)K:Subdivision ((convexHull ℝ) ↑S)hlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ (convexHull ℝ) ↑Shface:∀ (α : ι),
ρ α ≠ 0 →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ ((convexHull ℝ) ↑S) Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ Convex ℝ ((convexHull ℝ) ↑S) ; All goals completed! 🐙 ) K ( lbl α ) ( hlblP α ) ), fun α => Classical.choose_spec ( this ( show Convex ℝ P from k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'this:∀ {k : ℕ} {P : Set (Fin k → ℝ)},
Convex ℝ P →
∀ (K : Subdivision P) (lbl : (Fin k → ℝ) → Fin k → ℝ),
(∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) →
∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)α:ι⊢ Convex ℝ P k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace Xρ:PartitionOfUnity ι Xlbl:ι → (Fin k → ℝ) → Fin k → ℝthis:∀ {k : ℕ} {P : Set (Fin k → ℝ)},
Convex ℝ P →
∀ (K : Subdivision P) (lbl : (Fin k → ℝ) → Fin k → ℝ),
(∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl q ∈ P) →
∃ G, ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑(G p) ∈ (convexHull ℝ) (lbl '' ↑σ)α:ιS:Finset (Fin k → ℝ)K:Subdivision ((convexHull ℝ) ↑S)hlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ (convexHull ℝ) ↑Shface:∀ (α : ι),
ρ α ≠ 0 →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ ((convexHull ℝ) ↑S) Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ Convex ℝ ((convexHull ℝ) ↑S) ; All goals completed! 🐙 ) K ( lbl α ) ( hlblP α ) ) ⟩;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)⊢ ∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Qk:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)⊢ ∀ D ∈ K.complex.facets,
∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p';
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)⊢ ∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ι⊢ ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0⊢ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q;
intro Q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑PhQ:IsBoundarySubpolyhedron Q⊢ ∀ p ∈ Q, (g α) p ∈ Q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑PhQ:IsBoundarySubpolyhedron Qp:↑P⊢ p ∈ Q → (g α) p ∈ Q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑PhQ:IsBoundarySubpolyhedron Qp:↑Php:p ∈ Q⊢ (g α) p ∈ Q
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)⊢ (g α) p ∈ Q;
obtain ⟨σ, hσ⟩ : ∃ σ ∈ K.complex.faces, (p : Fin k → ℝ) ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)⊢ ∃ σ ∈ K.complex.faces, ↑p ∈ (convexHull ℝ) ↑σ
have h_space : p.val ∈ K.complex.space := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)⊢ ∃ σ ∈ K.complex.faces, ↑p ∈ (convexHull ℝ) ↑σ
All goals completed! 🐙;
All goals completed! 🐙;
-- Write `(p:_) = ∑_{q∈σ} w q • q` with `w ≥ 0`, `∑ w = 1` (from `Finset.convexHull_eq`).
obtain ⟨w, hw_nonneg, hw_sum, hw_eq⟩ : ∃ w : (Fin k → ℝ) → ℝ, (∀ q ∈ σ, 0 ≤ w q) ∧ (∑ q ∈ σ, w q = 1) ∧ (p : Fin k → ℝ) = ∑ q ∈ σ, w q • q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σ⊢ ∃ w, (∀ q ∈ σ, 0 ≤ w q) ∧ ∑ q ∈ σ, w q = 1 ∧ ↑p = ∑ q ∈ σ, w q • q
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑p⊢ ∃ w, (∀ q ∈ σ, 0 ≤ w q) ∧ ∑ q ∈ σ, w q = 1 ∧ ↑p = ∑ q ∈ σ, w q • q;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∃ w, (∀ q ∈ σ, 0 ≤ w q) ∧ ∑ q ∈ σ, w q = 1 ∧ ↑p = ∑ q ∈ σ, w q • q;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∀ q ∈ σ, 0 ≤ (fun q => ∑ i with z i = q, w i) qk:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∑ q ∈ σ, (fun q => ∑ i with z i = q, w i) q = 1k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ↑p = ∑ q ∈ σ, (fun q => ∑ i with z i = q, w i) q • q;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∀ q ∈ σ, 0 ≤ (fun q => ∑ i with z i = q, w i) q All goals completed! 🐙;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∑ q ∈ σ, (fun q => ∑ i with z i = q, w i) q = 1 k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∀ i ∈ Finset.univ, z i ∈ σ;
All goals completed! 🐙;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ↑p = ∑ q ∈ σ, (fun q => ∑ i with z i = q, w i) q • q k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∑ i, w i • z i = ∑ x_1 ∈ σ, (∑ a, if z a = x_1 then w a else 0) • x_1;
k:ℕι✝:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php✝:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = ↑pι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σhp:∑ i, w i • z i = ↑p⊢ ∑ i, w i • z i = ∑ x, if z x ∈ σ then w x • z x else 0;
All goals completed! 🐙;
-- Let `τ := σ.filter (fun q => 0 < w q)`; then `(p:_) = ∑_{q∈τ} w q • q` (zero-weight terms drop), the weights on `τ` are strictly positive and sum to 1, `(p:_) ∈ convexHull ℝ ↑τ`, and `τ ∈ faces` (sub-Finset of a face, nonempty, by `isRelLowerSet_faces`).
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}⊢ (g α) p ∈ Q
have hτ_pos : ∀ q ∈ τ, 0 < w q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
All goals completed! 🐙
have hτ_sum : ∑ q ∈ τ, w q = 1 := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w q⊢ ∀ x ∈ σ, w x ≠ 0 → 0 < w x;
All goals completed! 🐙
have hτ_eq : (p : Fin k → ℝ) = ∑ q ∈ τ, w q • q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1⊢ ∀ x ∈ σ, w x • x ≠ 0 → 0 < w x;
exact fun q hq hq' => lt_of_le_of_ne ( hw_nonneg q hq ) ( Ne.symm <| k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1q:Fin k → ℝhq:q ∈ σhq':w q • q ≠ 0⊢ w q ≠ 0 All goals completed! 🐙 )
have hτ_face : τ ∈ K.complex.faces := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
have hτ_nonempty : τ.Nonempty := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
exact Finset.nonempty_of_ne_empty ( k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • q⊢ τ ≠ ∅ k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh✝:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qh:τ = ∅⊢ False; All goals completed! 🐙 );
All goals completed! 🐙;
-- By `extreme_convexHull_support hFext hPc τ (τ⊆σ⊆P) w (positivity) (sum=1) ((p:_)∈F)` we get `↑τ ⊆ F`, i.e. every `q ∈ τ` lies in `F`.
have hτ_subset_F : (τ : Set (Fin k → ℝ)) ⊆ Subtype.val '' Q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
apply extreme_convexHull_support hF.right (k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faces⊢ Convex ℝ P
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace Xρ:PartitionOfUnity ι Xlbl:ι → (Fin k → ℝ) → Fin k → ℝα:ιh:¬ρ α = 0σ:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1τ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1S:Finset (Fin k → ℝ)K:Subdivision ((convexHull ℝ) ↑S)hlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ (convexHull ℝ) ↑Shface:∀ (α : ι),
ρ α ≠ 0 →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ ((convexHull ℝ) ↑S) Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑((convexHull ℝ) ↑S), ↑((convexHull ℝ) ↑S))hg:∀ (α : ι),
∀ σ ∈ K.complex.faces,
∀ (p : ↑((convexHull ℝ) ↑S)), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)Q:Set ↑((convexHull ℝ) ↑S)p:↑((convexHull ℝ) ↑S)hp:p ∈ QF:∃ S_1, Subtype.val '' Q = (convexHull ℝ) ↑S_1hF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ ((convexHull ℝ) ↑S) ∧ IsExtreme ℝ ((convexHull ℝ) ↑S) (Subtype.val '' Q)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σhw_eq:↑p = ∑ q ∈ σ, w q • qhτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faces⊢ Convex ℝ ((convexHull ℝ) ↑S); All goals completed! 🐙;) τ (k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faces⊢ ↑τ ⊆ P
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.facesthis:K.complex.space = P⊢ ↑τ ⊆ P;
All goals completed! 🐙) w (k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faces⊢ ∀ q ∈ τ, 0 < w q
All goals completed! 🐙) hτ_sum (k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faces⊢ ∑ q ∈ τ, w q • q ∈ Subtype.val '' Q
All goals completed! 🐙);
-- Hence `lbl α '' ↑τ ⊆ F`, so `convexHull ℝ (lbl α '' ↑τ) ⊆ convexHull ℝ F = F` (`convexHull_min`, `F` convex as a convexHull).
have hlbl_subset_F : lbl α '' (τ : Set (Fin k → ℝ)) ⊆ Subtype.val '' Q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
All goals completed! 🐙;
have hconvexHull_subset_F : convexHull ℝ (lbl α '' (τ : Set (Fin k → ℝ))) ⊆ Subtype.val '' Q := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
exact convexHull_min hlbl_subset_F ( k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' Q⊢ Convex ℝ (Subtype.val '' Q) k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QhF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QS:Finset (Fin k → ℝ)hS:Subtype.val '' Q = (convexHull ℝ) ↑S⊢ Convex ℝ (Subtype.val '' Q) ; All goals completed! 🐙 );
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Qthis:↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑τ)⊢ (g α) p ∈ Qk:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ↑p ∈ (convexHull ℝ) ↑τ;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Qthis:↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑τ)⊢ (g α) p ∈ Q All goals completed! 🐙;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ↑p ∈ (convexHull ℝ) ↑τ k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∑ q ∈ τ, w q • q ∈ (convexHull ℝ) ↑τ;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∑ q ∈ τ, w q • q ∈ {x | ∃ ι t w z, (∀ i ∈ t, 0 ≤ w i) ∧ ∑ i ∈ t, w i = 1 ∧ (∀ i ∈ t, z i ∈ ↑τ) ∧ t.centerMass w z = x};
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∀ i ∈ τ, 0 ≤ w ik:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∑ i ∈ τ, w i = 1k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∀ i ∈ τ, (fun q => q) i ∈ ↑τk:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ (τ.centerMass w fun q => q) = ∑ q ∈ τ, w q • q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∀ i ∈ τ, 0 ≤ w ik:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∑ i ∈ τ, w i = 1k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∀ i ∈ τ, (fun q => q) i ∈ ↑τk:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ (τ.centerMass w fun q => q) = ∑ q ∈ τ, w q • q k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ (∑ x ∈ σ with 0 < w x, w x)⁻¹ • ∑ x ∈ σ with 0 < w x, w x • x = ∑ x ∈ σ with 0 < w x, w x • x;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∀ i ∈ σ, 0 < w i → 0 ≤ w i All goals completed! 🐙;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ ∑ x ∈ σ with 0 < w x, w x = 1 All goals completed! 🐙;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)α:ιh:¬ρ α = 0Q:Set ↑Pp:↑Php:p ∈ QF:∃ S, Subtype.val '' Q = (convexHull ℝ) ↑ShF:Subtype.val '' Q ⊆ intrinsicFrontier ℝ P ∧ IsExtreme ℝ P (Subtype.val '' Q)σ:Finset (Fin k → ℝ)hσ:σ ∈ K.complex.faces ∧ ↑p ∈ (convexHull ℝ) ↑σw:(Fin k → ℝ) → ℝhw_nonneg:∀ q ∈ σ, 0 ≤ w qhw_sum:∑ q ∈ σ, w q = 1hw_eq:↑p = ∑ q ∈ σ, w q • qτ:Finset (Fin k → ℝ) := {q ∈ σ | 0 < w q}hτ_def:τ = {q ∈ σ | 0 < w q}hτ_pos:∀ q ∈ τ, 0 < w qhτ_sum:∑ q ∈ τ, w q = 1hτ_eq:↑p = ∑ q ∈ τ, w q • qhτ_face:τ ∈ K.complex.faceshτ_subset_F:↑τ ⊆ Subtype.val '' Qhlbl_subset_F:lbl α '' ↑τ ⊆ Subtype.val '' QhconvexHull_subset_F:(convexHull ℝ) (lbl α '' ↑τ) ⊆ Subtype.val '' Q⊢ (∑ x ∈ σ with 0 < w x, w x)⁻¹ • ∑ x ∈ σ with 0 < w x, w x • x = ∑ x ∈ σ with 0 < w x, w x • x All goals completed! 🐙;
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)⊢ ∀ D ∈ K.complex.facets,
∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p' intro D k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facets⊢ ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p';
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p'
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p'
intro α k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ A⊢ ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p' k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑P⊢ ∀ (p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p' k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑P⊢ ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p' k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑Php:↑p ∈ (convexHull ℝ) ↑D⊢ ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p' k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑Php:↑p ∈ (convexHull ℝ) ↑Dhp':↑p' ∈ (convexHull ℝ) ↑D⊢ (g α) p = (g α) p'
have h_const : lbl α '' (D : Set (Fin k → ℝ)) = {lbl α (Classical.choose (Finset.card_pos.mp (k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑Php:↑p ∈ (convexHull ℝ) ↑Dhp':↑p' ∈ (convexHull ℝ) ↑D⊢ 0 < D.card
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑Php':↑p' ∈ (convexHull ℝ) ↑Dhp:D.card ≤ 0⊢ ↑p ∉ (convexHull ℝ) ↑D; All goals completed! 🐙; : 0 < D.card)))} := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
All goals completed! 🐙
k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'g:ι → C(↑P, ↑P)hg:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)D:Finset (Fin k → ℝ)hD:D ∈ K.complex.facetsA:Finset ιhA₁:A.card ≤ khA₂:∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'α:ιhα:α ∉ Ap:↑Pp':↑Php:↑p ∈ (convexHull ℝ) ↑Dhp':↑p' ∈ (convexHull ℝ) ↑Dpf✝:∃ x, x ∈ Dh_const:lbl α '' ↑D = {lbl α (Classical.choose pf✝)}⊢ (g α) p = (g α) p';
have h_const : convexHull ℝ (lbl α '' (D : Set (Fin k → ℝ))) = {lbl α (Classical.choose ‹∃ x, x ∈ D›)} := k:ℕι:Type u_1X:Type u_2inst✝:TopologicalSpace XP:Set (Fin k → ℝ)hP:IsPolyhedron Pρ:PartitionOfUnity ι XK:Subdivision Plbl:ι → (Fin k → ℝ) → Fin k → ℝhlblP:∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, lbl α q ∈ Phface:∀ (α : ι), ρ α ≠ 0 → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ σ ∈ K.complex.faces, ∀ q ∈ σ, q ∈ Q → lbl α q ∈ Qhcount:∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'⊢ ∃ g,
(∀ (α : ι), ρ α = 0 ∨ ∀ (Q : Set ↑P), IsBoundarySubpolyhedron Q → ∀ p ∈ Q, (g α) p ∈ Q) ∧
(∀ D ∈ K.complex.facets,
∃ A,
A.card ≤ k ∧ ∀ α ∉ A, ∀ (p p' : ↑P), ↑p ∈ (convexHull ℝ) ↑D → ↑p' ∈ (convexHull ℝ) ↑D → (g α) p = (g α) p') ∧
∀ (α : ι), ∀ σ ∈ K.complex.faces, ∀ (p : ↑P), ↑p ∈ (convexHull ℝ) ↑σ → ↑((g α) p) ∈ (convexHull ℝ) (lbl α '' ↑σ)
All goals completed! 🐙;
All goals completed! 🐙
end FamiliesOfMapsB01
end Submission
So Theorem 3.4 reduces to: if N > k, an admissible labelling family exists on some
subdivision of P. This is Step 5.