5.b. The Quantile Labelling Family
This chapter assembles the labelling family from the quantile vertex of the previous chapter, following Sections 5.1, 5.3, and 5.4 of the informal proof: the data (coarse subdivision, thresholds, barycentric coordinate functionals), the consistency of the labelling, and the verification of admissibility, with the threshold-separation-versus-oscillation count as the general-position mechanism.
5.1 The data
-
A coarse subdivision. Let
T_0be any subdivision ofP(Theorem 7.1). (In the bi-Lipschitz case, Step 9, we will instead takeT_0of mesh\le \delta, using Theorem 8.5; nothing else changes.) -
Thresholds. Enumerate the
Nactive indices as\alpha_0, \dots, \alpha_{N-1}and sett_{\alpha_j} := (j+1)/(N+1). Then eacht_\alpha \in (0,1)and distinct active thresholds differ by at least\mathrm{gap} := 1/(N+1) > 0. -
Barycentric coordinate functionals. For each face
\sigmaofT_0(an affinely independent finite set), choose affine functionalsW_{\sigma,u} : \mathbb R^k \to \mathbb R, one per vertexu \in \sigma, whose restrictions to\operatorname{conv}(\sigma)are the barycentric coordinates: forq \in \operatorname{conv}(\sigma), allW_{\sigma,u}(q) \ge 0,\sum_{u\in\sigma} W_{\sigma,u}(q) = 1, and\sum_{u\in\sigma} W_{\sigma,u}(q)\,u = q. (Existence: prescribe the values\delta_{u,v}on the affinely independent set\sigma, as in Proposition 4.2. On\operatorname{conv}(\sigma), these values are the barycentric coordinates because an affine functional applied to a convex combination is the corresponding combination of its vertex values.) By affine independence, barycentric weights are unique: two weight systems on\sigmawith equal (unit) total mass representing the same point agree. -
A global vertex order. Fix the lexicographic order
\preceqon\mathbb R^k(any linear order would do). For a face\sigma, weightsw, and a vertexv \in \sigma, the cumulative weight is\mathrm{cum}_\sigma(w, v) \;:=\; \sum_{u \in \sigma,\; u \preceq v} w(u).
In Lean, the barycentric coordinate functionals are constructed from
prescribed-value affine maps and packaged, with their uniqueness, as follows
(the thresholds appear further down, as exists_thresholds):
open Set Geometry
open scoped Topology BigOperators
open _root_.FamiliesOfMapsB01
open Submission.Quantile Submission.Fine
namespace Submission
namespace FamiliesOfMapsB01
variable {k : ℕ}
/-
**Barycentric coordinate affine maps.** For an affinely independent finset `σ`, there
are affine functionals `W u : ℝᵏ →ᵃ ℝ` (one per `u`) whose values on the convex hull of `σ`
are exactly the (nonnegative, sum-one) barycentric coordinates that reconstruct the point.
-/
lemma exists_baryAffine (σ : Finset (Fin k → ℝ))
(hσ : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ))) :
∃ W : (Fin k → ℝ) → ((Fin k → ℝ) →ᵃ[ℝ] ℝ),
∀ q : Fin k → ℝ, q ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) →
(∀ u ∈ σ, 0 ≤ W u q) ∧ (∑ u ∈ σ, W u q = 1) ∧ (∑ u ∈ σ, W u q • u = q) := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.val⊢ ∃ W, ∀ q ∈ (convexHull ℝ) ↑σ, (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0⊢ ∃ W, ∀ q ∈ (convexHull ℝ) ↑σ, (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0q:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0q:Fin k → ℝhq:∃ ι x w z, (∀ (i : ι), 0 ≤ w i) ∧ ∑ i, w i = 1 ∧ (∀ (i : ι), z i ∈ ↑σ) ∧ ∑ i, w i • z i = q⊢ (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σ⊢ (∀ u ∈ σ, 0 ≤ (W u) (∑ i, w i • z i)) ∧
∑ u ∈ σ, (W u) (∑ i, w i • z i) = 1 ∧ ∑ u ∈ σ, (W u) (∑ i, w i • z i) • u = ∑ i, w i • z i;
-- By definition of $W$, we know that $(W u) (∑ i, w i • z i) = ∑ i, w i • (W u) (z i)$.
have hW_sum : ∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ i, w i • (W u) (z i) := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.val⊢ ∃ W, ∀ q ∈ (convexHull ℝ) ↑σ, (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q
intro u k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σu:Fin k → ℝhu:u ∈ σ⊢ (W u) (∑ i, w i • z i) = ∑ i, w i • (W u) (z i);
have hW_sum : ∀ (f : (Fin k → ℝ) →ᵃ[ℝ] ℝ) (s : Finset ι) (w : ι → ℝ) (z : ι → (Fin k → ℝ)), (∑ i ∈ s, w i = 1) → f (∑ i ∈ s, w i • z i) = ∑ i ∈ s, w i • f (z i) := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.val⊢ ∃ W, ∀ q ∈ (convexHull ℝ) ↑σ, (∀ u ∈ σ, 0 ≤ (W u) q) ∧ ∑ u ∈ σ, (W u) q = 1 ∧ ∑ u ∈ σ, (W u) q • u = q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw✝:ι → ℝz✝:ι → Fin k → ℝhw✝:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σu:Fin k → ℝhu:u ∈ σf:(Fin k → ℝ) →ᵃ[ℝ] ℝs:Finset ιw:ι → ℝz:ι → Fin k → ℝhw:∑ i ∈ s, w i = 1⊢ f (∑ i ∈ s, w i • z i) = ∑ i ∈ s, w i • f (z i); exact (k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw✝:ι → ℝz✝:ι → Fin k → ℝhw✝:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σu:Fin k → ℝhu:u ∈ σf:(Fin k → ℝ) →ᵃ[ℝ] ℝs:Finset ιw:ι → ℝz:ι → Fin k → ℝhw:∑ i ∈ s, w i = 1⊢ f (∑ i ∈ s, w i • z i) = ∑ i ∈ s, w i • f (z i)
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw✝:ι → ℝz✝:ι → Fin k → ℝhw✝:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ ↑σu:Fin k → ℝhu:u ∈ σf:(Fin k → ℝ) →ᵃ[ℝ] ℝs:Finset ιw:ι → ℝz:ι → Fin k → ℝhw:∑ i ∈ s, w i = 1⊢ (⇑f.linear + fun x => f 0) (∑ i ∈ s, w i • z i) = ∑ i ∈ s, w i • (⇑f.linear + fun x => f 0) (z i);
All goals completed! 🐙);
All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ (∀ u ∈ σ, 0 ≤ ∑ x with z x = u, w x) ∧
∑ x_1 ∈ σ, ∑ x with z x = x_1, w x = 1 ∧ ∑ x_1 ∈ σ, (∑ x with z x = x_1, w x) • x_1 = ∑ i, w i • z i;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∑ x_1 ∈ σ, ∑ x with z x = x_1, w x = 1k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∑ x_1 ∈ σ, (∑ x with z x = x_1, w x) • x_1 = ∑ i, w i • z i;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∑ x_1 ∈ σ, ∑ x with z x = x_1, w x = 1 k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∀ i ∈ Finset.univ, z i ∈ σ ; All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∑ x_1 ∈ σ, (∑ x with z x = x_1, w x) • x_1 = ∑ i, w i • z i k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ ∑ u ∈ σ, (∑ a, if z a = u then w a else 0) • u = ∑ i, w i • z i;
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valW:(Fin k → ℝ) → (Fin k → ℝ) →ᵃ[ℝ] ℝhW:∀ (u q : Fin k → ℝ), q ∈ σ → (W u) q = if q = u then 1 else 0ι:Typex:Fintype ιw:ι → ℝz:ι → Fin k → ℝhw:∀ (i : ι), 0 ≤ w ihw':∑ i, w i = 1hz:∀ (i : ι), z i ∈ σhW_sum:∀ u ∈ σ, (W u) (∑ i, w i • z i) = ∑ x with z x = u, w x⊢ (∑ x, if z x ∈ σ then w x • z x else 0) = ∑ i, w i • z i;
All goals completed! 🐙
open Classical in
/-- The chosen barycentric-coordinate affine maps for a face `σ` (junk `0` if `σ` is not
affinely independent). -/
noncomputable def Wf (σ : Finset (Fin k → ℝ)) : (Fin k → ℝ) → ((Fin k → ℝ) →ᵃ[ℝ] ℝ) :=
if h : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ)) then
Classical.choose (exists_baryAffine σ h)
else fun _ => 0
lemma Wf_spec (σ : Finset (Fin k → ℝ))
(hσ : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ)))
{q : Fin k → ℝ} (hq : q ∈ convexHull ℝ (σ : Set (Fin k → ℝ))) :
(∀ u ∈ σ, 0 ≤ Wf σ u q) ∧ (∑ u ∈ σ, Wf σ u q = 1) ∧ (∑ u ∈ σ, Wf σ u q • u = q) := k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ (∀ u ∈ σ, 0 ≤ (Wf σ u) q) ∧ ∑ u ∈ σ, (Wf σ u) q = 1 ∧ ∑ u ∈ σ, (Wf σ u) q • u = q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ (∀ u ∈ σ, 0 ≤ ((if h : AffineIndependent ℝ Subtype.val then Classical.choose ⋯ else fun x => 0) u) q) ∧
∑ u ∈ σ, ((if h : AffineIndependent ℝ Subtype.val then Classical.choose ⋯ else fun x => 0) u) q = 1 ∧
∑ u ∈ σ, ((if h : AffineIndependent ℝ Subtype.val then Classical.choose ⋯ else fun x => 0) u) q • u = q
k:ℕσ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ (∀ u ∈ σ, 0 ≤ (Classical.choose ⋯ u) q) ∧
∑ u ∈ σ, (Classical.choose ⋯ u) q = 1 ∧ ∑ u ∈ σ, (Classical.choose ⋯ u) q • u = q
All goals completed! 🐙
The Lipschitz bound on the cumulative-weight functionals, uniform over the finitely many faces of the coarse subdivision (used for the fineness choice in Section 5.4):
/-
An affine functional on `ℝⁿ` is Lipschitz.
-/
lemma affineMap_real_lipschitz (A : (Fin k → ℝ) →ᵃ[ℝ] ℝ) :
∃ C : ℝ, 0 ≤ C ∧ ∀ x y, |A x - A y| ≤ C * ‖x - y‖ := k:ℕA:(Fin k → ℝ) →ᵃ[ℝ] ℝ⊢ ∃ C, 0 ≤ C ∧ ∀ (x y : Fin k → ℝ), |A x - A y| ≤ C * ‖x - y‖
-- The linear part of an affine map is Lipschitz.
have h_linear_lipschitz : ∃ C : ℝ, 0 ≤ C ∧ ∀ x y : Fin k → ℝ, |A.linear (x - y)| ≤ C * ‖x - y‖ := k:ℕA:(Fin k → ℝ) →ᵃ[ℝ] ℝ⊢ ∃ C, 0 ≤ C ∧ ∀ (x y : Fin k → ℝ), |A x - A y| ≤ C * ‖x - y‖
k:ℕA:(Fin k → ℝ) →ᵃ[ℝ] ℝthis:∃ C, 0 < C ∧ ∀ (x : Fin k → ℝ), ‖(LinearMap.toContinuousLinearMap A.linear) x‖ ≤ C * ‖x‖⊢ ∃ C, 0 ≤ C ∧ ∀ (x y : Fin k → ℝ), |A.linear (x - y)| ≤ C * ‖x - y‖;
All goals completed! 🐙;
k:ℕA:(Fin k → ℝ) →ᵃ[ℝ] ℝh_linear_lipschitz:∃ C, 0 ≤ C ∧ ∀ (x y : Fin k → ℝ), |A.linear (x - y)| ≤ C * ‖x - y‖x✝:ℝa✝¹:Fin k → ℝa✝:Fin k → ℝ⊢ |A a✝¹ - A a✝| = |A.linear (a✝¹ - a✝)|;
k:ℕA:(Fin k → ℝ) →ᵃ[ℝ] ℝh_linear_lipschitz:∃ C, 0 ≤ C ∧ ∀ (x y : Fin k → ℝ), |A.linear (x - y)| ≤ C * ‖x - y‖x✝:ℝa✝¹:Fin k → ℝa✝:Fin k → ℝ⊢ |(⇑A.linear + fun x => (⇑A.linear + fun x => A 0) 0) a✝¹ - (⇑A.linear + fun x => (⇑A.linear + fun x => A 0) 0) a✝| =
|A.linear (a✝¹ - a✝)| ; All goals completed! 🐙
/-
**Cumulative-weight Lipschitz bound (one face).** As a function of the evaluation point,
the cumulative weight `cumWeight σ (Wf σ · q) v` is Lipschitz with a constant depending only
on `σ`.
-/
lemma cumWeight_lipschitz (σ : Finset (Fin k → ℝ)) :
∃ C : ℝ, 0 ≤ C ∧ ∀ (v : Fin k → ℝ) (x y : Fin k → ℝ),
|cumWeight σ (fun u => Wf σ u x) v - cumWeight σ (fun u => Wf σ u y) v|
≤ C * ‖x - y‖ := k:ℕσ:Finset (Fin k → ℝ)⊢ ∃ C,
0 ≤ C ∧
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
obtain ⟨C, hC⟩ : ∃ C : ℝ, 0 ≤ C ∧ ∀ u ∈ σ, ∀ x y, |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖ := k:ℕσ:Finset (Fin k → ℝ)⊢ ∃ C, 0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖
have h_lip : ∀ u ∈ σ, ∃ C : ℝ, 0 ≤ C ∧ ∀ x y, |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖ := k:ℕσ:Finset (Fin k → ℝ)⊢ ∃ C, 0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖
All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)C:(Fin k → ℝ) → ℝhC₁:∀ u ∈ σ, 0 ≤ C uhC₂:∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C u * ‖x - y‖⊢ ∃ C, 0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖;
All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ (∑ u ∈ σ, C) * ‖x - y‖;
k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ ∑ i ∈ σ, C * ‖x - y‖;
k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ ∑ i ∈ σ, |(Wf σ i) x - (Wf σ i) y|;
k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |∑ u ∈ σ with toLex u ≤ toLex v, (fun u => (Wf σ u) x) u - ∑ u ∈ σ with toLex u ≤ toLex v, (fun u => (Wf σ u) y) u| ≤
∑ i ∈ σ, |(Wf σ i) x - (Wf σ i) y|; k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |∑ x_1 ∈ σ with toLex x_1 ≤ toLex v, (Wf σ x_1) x - ∑ x ∈ σ with toLex x ≤ toLex v, (Wf σ x) y| ≤
∑ i ∈ σ, |(Wf σ i) x - (Wf σ i) y| ;
exact le_trans ( k:ℕσ:Finset (Fin k → ℝ)C:ℝhC:0 ≤ C ∧ ∀ u ∈ σ, ∀ (x y : Fin k → ℝ), |(Wf σ u) x - (Wf σ u) y| ≤ C * ‖x - y‖v:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ |∑ x_1 ∈ σ with toLex x_1 ≤ toLex v, (Wf σ x_1) x - ∑ x ∈ σ with toLex x ≤ toLex v, (Wf σ x) y| ≤
|∑ i ∈ σ with ?m.269 i, ((Wf σ i) x - (Wf σ i) y)| All goals completed! 🐙 ) ( Finset.abs_sum_le_sum_abs _ _ |> le_trans <| Finset.sum_le_sum_of_subset_of_nonneg ( Finset.filter_subset _ _ ) fun _ _ _ => abs_nonneg _ )
/-
**Global cumulative-weight Lipschitz bound.** Over the finitely many faces of a fixed
subdivision `T₀`, there is a uniform Lipschitz constant for all the cumulative-weight
coordinate functions.
-/
lemma exists_global_cumWeight_lipschitz {P : Set (Fin k → ℝ)} (T₀ : Subdivision P) :
∃ C : ℝ, 0 ≤ C ∧ ∀ σ ∈ T₀.complex.faces, ∀ (v : Fin k → ℝ) (x y : Fin k → ℝ),
|cumWeight σ (fun u => Wf σ u x) v - cumWeight σ (fun u => Wf σ u y) v|
≤ C * ‖x - y‖ := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision P⊢ ∃ C,
0 ≤ C ∧
∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
obtain ⟨C, hC⟩ : ∃ C : ℝ, ∀ σ ∈ T₀.complex.faces, ∀ v x y, |cumWeight σ (fun u => Wf σ u x) v - cumWeight σ (fun u => Wf σ u y) v| ≤ C * ‖x - y‖ := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision P⊢ ∃ C,
∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
have h_lipschitz : ∀ σ ∈ T₀.complex.faces, ∃ C : ℝ, ∀ v x y, |cumWeight σ (fun u => Wf σ u x) v - cumWeight σ (fun u => Wf σ u y) v| ≤ C * ‖x - y‖ := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision P⊢ ∃ C,
∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
intro σ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces⊢ ∃ C, ∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.facesthis:∃ C,
0 ≤ C ∧
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖⊢ ∃ C, ∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision PC:Finset (Fin k → ℝ) → ℝhC:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C σ * ‖x - y‖⊢ ∃ C,
∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision PC:Finset (Fin k → ℝ) → ℝhC:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C σ * ‖x - y‖⊢ ∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ),
|cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ sSup (C '' ↑⋯.toFinset) * ‖x - y‖;
exact fun σ hσ v x y => le_trans ( hC σ hσ v x y ) ( mul_le_mul_of_nonneg_right ( le_csSup ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision PC:Finset (Fin k → ℝ) → ℝhC:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C σ * ‖x - y‖σ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.facesv:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ BddAbove (C '' ↑⋯.toFinset) All goals completed! 🐙 ) ( Set.mem_image_of_mem _ ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision PC:Finset (Fin k → ℝ) → ℝhC:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C σ * ‖x - y‖σ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.facesv:Fin k → ℝx:Fin k → ℝy:Fin k → ℝ⊢ σ ∈ ↑⋯.toFinset All goals completed! 🐙 ) ) ) ( norm_nonneg _ ) );
All goals completed! 🐙
Every face of an iterated barycentric refinement lies in the closed cell of a single coarse face (Lemma 8.6, iterated):
/-
**Iterated refinement.** Every face of the `r`-fold barycentric subdivision of `S` lies
in the convex hull of a single face of `S`.
-/
lemma face_subset_coarse_hull {P : Set (Fin k → ℝ)} (S : Subdivision P) :
∀ (r : ℕ) (s : Finset (Fin k → ℝ)), s ∈ (barySub^[r] S).complex.faces →
∃ σ ∈ S.complex.faces, (s : Set (Fin k → ℝ)) ⊆ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)S:Subdivision P⊢ ∀ (r : ℕ), ∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ
intro r k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕs:Finset (Fin k → ℝ)⊢ s ∈ (barySub^[r] S).complex.faces → ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] S).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ;
k:ℕP:Set (Fin k → ℝ)S:Subdivision Ps:Finset (Fin k → ℝ)hs:s ∈ (barySub^[0] S).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σk:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r + 1] S).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ k:ℕP:Set (Fin k → ℝ)S:Subdivision Ps:Finset (Fin k → ℝ)hs:s ∈ (barySub^[0] S).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σk:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r + 1] S).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub (barySub^[r] S)).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ;
k:ℕP:Set (Fin k → ℝ)S:Subdivision Ps:Finset (Fin k → ℝ)hs:s ∈ S.complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub (barySub^[r] S)).complex.faces⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ obtain ⟨τ, hτ⟩ : ∃ τ ∈ (barySub^[r] S).complex.faces, (s : Set (Fin k → ℝ)) ⊆ convexHull ℝ (τ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub (barySub^[r] S)).complex.faces⊢ ∃ τ ∈ (barySub^[r] S).complex.faces, ↑s ⊆ (convexHull ℝ) ↑τ
k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub (barySub^[r] S)).complex.facesthis:∃ σ ∈ (barySub^[r] S).complex.faces, ∀ a ∈ s, a ∈ (convexHull ℝ) ↑σ⊢ ∃ τ ∈ (barySub^[r] S).complex.faces, ↑s ⊆ (convexHull ℝ) ↑τ; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)S:Subdivision Pr:ℕih:∀ s ∈ (barySub^[r] S).complex.faces, ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σs:Finset (Fin k → ℝ)hs:s ∈ (barySub (barySub^[r] S)).complex.facesτ:Finset (Fin k → ℝ)hτ:τ ∈ (barySub^[r] S).complex.faces ∧ ↑s ⊆ (convexHull ℝ) ↑τσ:Finset (Fin k → ℝ)hσ₁:σ ∈ S.complex.faceshσ₂:↑τ ⊆ (convexHull ℝ) ↑σ⊢ ∃ σ ∈ S.complex.faces, ↑s ⊆ (convexHull ℝ) ↑σ;
All goals completed! 🐙
5.3 The labelling and its consistency
Since the space of T_0 is P, choose for each q \in P a carrier face
\mathrm{cf}(q) of T_0 with q \in \operatorname{conv}(\mathrm{cf}(q)). Define,
for active \alpha,
\ell_\alpha(q) \;:=\; \mathrm{qv}_{\mathrm{cf}(q)}\bigl(W_{\mathrm{cf}(q),\cdot}(q),\; t_\alpha\bigr) \qquad (q \in P),
i.e. the quantile vertex of the carrier face for the barycentric weights of q and
the threshold t_\alpha; and \ell_\alpha :\equiv p_0 for inactive \alpha.
Lemma 5.3.1
Lemma 5.3.1 (consistency). Let \sigma, \sigma' be faces of T_0 with
q \in \operatorname{conv}(\sigma) \cap \operatorname{conv}(\sigma'), and
0 < t \le 1. Then the quantile vertices of q computed in \sigma and in \sigma'
(each with its own barycentric weights) coincide.
Proof. By the complex axiom, q \in \operatorname{conv}(\sigma \cap \sigma'); set
\delta := \sigma \cap \sigma' (nonempty, hence a face of T_0). The barycentric
weights of q with respect to \sigma vanish on \sigma \smallsetminus \delta and
restrict on \delta to the barycentric weights with respect to \delta: indeed, the
system "(weights of q w.r.t. \delta) extended by zero" is a competing weight
system on \sigma representing q with total mass 1, so by uniqueness of barycentric
coordinates it is the \sigma-system. By Lemma 5.2.2, the quantile in \sigma
equals the quantile in \delta computed with the \sigma-weights; by Lemma 5.2.3
(the cumulative weights over \delta of the \sigma-weights and the
\delta-weights agree termwise), that equals the quantile in \delta with the
\delta-weights. Symmetrically for \sigma'. \blacksquare
The Lean proof factors this through three lemmas: the quantile depends only on the threshold predicate (Lemma 5.2.3), the barycentric weights restrict correctly to subfaces, and the support lemma (Lemma 5.2.2) from the previous chapter:
/-
**Quantile depends only on the filter.** If the two weight functions induce the same
threshold-reaching predicate on `T`, they pick the same quantile vertex.
-/
lemma quantileV_filter_congr (T : Finset (Fin k → ℝ)) (w w' : (Fin k → ℝ) → ℝ) (t : ℝ)
(h : ∀ v ∈ T, (t ≤ cumWeight T w v) ↔ (t ≤ cumWeight T w' v)) :
quantileV T w t = quantileV T w' t := k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' v⊢ quantileV T w t = quantileV T w' t
k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' v⊢ (if h : {v ∈ T | t ≤ cumWeight T w v}.Nonempty then
ofLex ((Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w v})).min' ⋯)
else 0) =
if h : {v ∈ T | t ≤ cumWeight T w' v}.Nonempty then
ofLex ((Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w' v})).min' ⋯)
else 0;
k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' vh_congr_thm✝:∀ {b c : Prop} {α : Type} {x : Decidable b} [inst : Decidable c] {x_1 : b → α} {u : c → α} {y : ¬b → α} {v : ¬c → α}
(h₁ : b = c), (∀ (h : c), x_1 ⋯ = u h) → (∀ (h : ¬c), y ⋯ = v h) → dite b x_1 y = dite c u vh✝:{v ∈ T | t ≤ cumWeight T w' v}.Nonempty⊢ (Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w v})).min' ⋯ =
(Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w' v})).min' ⋯k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' v⊢ {v ∈ T | t ≤ cumWeight T w v} = {v ∈ T | t ≤ cumWeight T w' v};
k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' vh_congr_thm✝:∀ {b c : Prop} {α : Type} {x : Decidable b} [inst : Decidable c] {x_1 : b → α} {u : c → α} {y : ¬b → α} {v : ¬c → α}
(h₁ : b = c), (∀ (h : c), x_1 ⋯ = u h) → (∀ (h : ¬c), y ⋯ = v h) → dite b x_1 y = dite c u vh✝:{v ∈ T | t ≤ cumWeight T w' v}.Nonempty⊢ Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w v}) = Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w' v})k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' v⊢ {v ∈ T | t ≤ cumWeight T w v} = {v ∈ T | t ≤ cumWeight T w' v};
k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' vh_congr_thm✝:∀ {b c : Prop} {α : Type} {x : Decidable b} [inst : Decidable c] {x_1 : b → α} {u : c → α} {y : ¬b → α} {v : ¬c → α}
(h₁ : b = c), (∀ (h : c), x_1 ⋯ = u h) → (∀ (h : ¬c), y ⋯ = v h) → dite b x_1 y = dite c u vh✝:{v ∈ T | t ≤ cumWeight T w' v}.Nonempty⊢ Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w v}) = Finset.image (⇑toLex) ({v ∈ T | t ≤ cumWeight T w' v}) All goals completed! 🐙;
k:ℕT:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝw':(Fin k → ℝ) → ℝt:ℝh:∀ v ∈ T, t ≤ cumWeight T w v ↔ t ≤ cumWeight T w' v⊢ {v ∈ T | t ≤ cumWeight T w v} = {v ∈ T | t ≤ cumWeight T w' v} All goals completed! 🐙
/-
**Support inside a subface.** If `q ∈ convexHull δ` for `δ ⊆ σ` (both faces of the same
complex, hence affinely independent), then the barycentric weights of `q` with respect to `σ`
vanish off `δ` and agree with those for `δ` on `δ`.
-/
lemma Wf_eq_on_subface {σ δ : Finset (Fin k → ℝ)}
(hσ : AffineIndependent ℝ ((↑) : σ → (Fin k → ℝ)))
(hδ : AffineIndependent ℝ ((↑) : δ → (Fin k → ℝ)))
(hδσ : δ ⊆ σ) {q : Fin k → ℝ} (hq : q ∈ convexHull ℝ (δ : Set (Fin k → ℝ))) :
(∀ u ∈ σ, u ∉ δ → Wf σ u q = 0) ∧ (∀ u ∈ δ, Wf σ u q = Wf δ u q) := k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ (∀ u ∈ σ, u ∉ δ → (Wf σ u) q = 0) ∧ ∀ u ∈ δ, (Wf σ u) q = (Wf δ u) q
obtain ⟨w₁, hw₁⟩ : ∃ w₁ : (Fin k → ℝ) → ℝ, (∀ u ∈ σ, 0 ≤ w₁ u) ∧ (∑ u ∈ σ, w₁ u = 1) ∧ (∑ u ∈ σ, w₁ u • u = q) ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ (∀ u ∈ δ, w₁ u = Wf δ u q) := k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∃ w₁,
(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) q
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ σ, 0 ≤ (fun u => if u ∈ δ then (Wf δ u) q else 0) uk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ u ∈ σ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u = 1k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ u ∈ σ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u • u = qk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ σ, u ∉ δ → (fun u => if u ∈ δ then (Wf δ u) q else 0) u = 0k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ δ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u = (Wf δ u) q k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ σ, 0 ≤ (fun u => if u ∈ δ then (Wf δ u) q else 0) uk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ u ∈ σ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u = 1k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ u ∈ σ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u • u = qk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ σ, u ∉ δ → (fun u => if u ∈ δ then (Wf δ u) q else 0) u = 0k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ δ, (fun u => if u ∈ δ then (Wf δ u) q else 0) u = (Wf δ u) q All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∀ u ∈ σ, 0 ≤ if u ∈ δ then (Wf δ u) q else 0 intro u k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δu:Fin k → ℝhu:u ∈ σ⊢ 0 ≤ if u ∈ δ then (Wf δ u) q else 0; k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δu:Fin k → ℝhu:u ∈ σh✝:u ∈ δ⊢ 0 ≤ (Wf δ u) qk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δu:Fin k → ℝhu:u ∈ σh✝:u ∉ δ⊢ 0 ≤ 0 k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δu:Fin k → ℝhu:u ∈ σh✝:u ∈ δ⊢ 0 ≤ (Wf δ u) qk:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δu:Fin k → ℝhu:u ∈ σh✝:u ∉ δ⊢ 0 ≤ 0 All goals completed! 🐙 ;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ i ∈ σ ∩ δ, (Wf δ i) q = 1 k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ i ∈ δ, (Wf δ i) q = 1 ; All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ i ∈ σ ∩ δ, (Wf δ i) q • i = q k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ ∑ i ∈ δ, (Wf δ i) q • i = q;
All goals completed! 🐙;
have hw₁_eq : ∀ u ∈ σ, w₁ u = Wf σ u q := k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ (∀ u ∈ σ, u ∉ δ → (Wf σ u) q = 0) ∧ ∀ u ∈ δ, (Wf σ u) q = (Wf δ u) q
have hqσ : q ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δ⊢ (∀ u ∈ σ, u ∉ δ → (Wf σ u) q = 0) ∧ ∀ u ∈ δ, (Wf σ u) q = (Wf δ u) q
All goals completed! 🐙
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, w₁ v = 1k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, (Wf σ v) q = 1k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, w₁ v • v = ∑ v ∈ σ, (Wf σ v) q • v;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, w₁ v = 1 All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, (Wf σ v) q = 1 All goals completed! 🐙;
k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σ⊢ ∑ v ∈ σ, w₁ v • v = ∑ v ∈ σ, (Wf σ v) q • v k:ℕσ:Finset (Fin k → ℝ)δ:Finset (Fin k → ℝ)hσ:AffineIndependent ℝ Subtype.valhδ:AffineIndependent ℝ Subtype.valhδσ:δ ⊆ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑δw₁:(Fin k → ℝ) → ℝhw₁:(∀ u ∈ σ, 0 ≤ w₁ u) ∧
∑ u ∈ σ, w₁ u = 1 ∧ ∑ u ∈ σ, w₁ u • u = q ∧ (∀ u ∈ σ, u ∉ δ → w₁ u = 0) ∧ ∀ u ∈ δ, w₁ u = (Wf δ u) qhqσ:q ∈ (convexHull ℝ) ↑σthis:(∀ u ∈ σ, 0 ≤ (Wf σ u) q) ∧ ∑ u ∈ σ, (Wf σ u) q = 1 ∧ ∑ u ∈ σ, (Wf σ u) q • u = q⊢ ∑ v ∈ σ, w₁ v • v = ∑ v ∈ σ, (Wf σ v) q • v; All goals completed! 🐙;
All goals completed! 🐙
/-
**Consistency of the quantile labelling.** For `q` lying in the convex hulls of two faces
`σ`, `σ'` of the complex of `T₀`, the quantile vertex computed in `σ` equals the one computed
in `σ'`. (Both equal the quantile computed in the common subface `σ ∩ σ'`.)
-/
lemma quantile_consistent {P : Set (Fin k → ℝ)} (T₀ : Subdivision P)
{σ σ' : Finset (Fin k → ℝ)} (hσ : σ ∈ T₀.complex.faces) (hσ' : σ' ∈ T₀.complex.faces)
{q : Fin k → ℝ} (hqσ : q ∈ convexHull ℝ (σ : Set (Fin k → ℝ)))
(hqσ' : q ∈ convexHull ℝ (σ' : Set (Fin k → ℝ)))
{t : ℝ} (ht0 : 0 < t) (ht1 : t ≤ 1) :
quantileV σ (fun u => Wf σ u q) t = quantileV σ' (fun u => Wf σ' u q) t := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ quantileV σ (fun u => (Wf σ u) q) t = quantileV σ' (fun u => (Wf σ' u) q) t
obtain ⟨δ, hδ⟩ : ∃ δ : Finset (Fin k → ℝ), δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ convexHull ℝ (δ : Set (Fin k → ℝ)) ∧ δ ∈ T₀.complex.faces := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces
have h_inter : q ∈ convexHull ℝ ((σ ∩ σ' : Finset (Fin k → ℝ)) : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ (convexHull ℝ) ↑(σ ∩ σ') = (convexHull ℝ) (↑σ ∩ ↑σ');
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1h_inter:q ∈ (convexHull ℝ) ↑(σ ∩ σ')hδ_empty:(σ ∩ σ').Nonempty⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1h_inter:q ∈ (convexHull ℝ) ↑(σ ∩ σ')hδ_empty:¬(σ ∩ σ').Nonempty⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1h_inter:q ∈ (convexHull ℝ) ↑(σ ∩ σ')hδ_empty:(σ ∩ σ').Nonempty⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1h_inter:q ∈ (convexHull ℝ) ↑(σ ∩ σ')hδ_empty:¬(σ ∩ σ').Nonempty⊢ ∃ δ ⊆ σ, δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces All goals completed! 🐙;
have h_eq : quantileV σ (fun u => Wf σ u q) t = quantileV δ (fun u => Wf σ u q) t := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ quantileV σ (fun u => (Wf σ u) q) t = quantileV σ' (fun u => (Wf σ' u) q) t
apply quantileV_eq_of_support_subset hδ.1 (fun u => Wf σ u q) t ht0 ht1 (fun u hu => (Wf_spec σ (T₀.complex.indep hσ) hqσ).1 u hu) (k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces⊢ ∑ v ∈ σ, (fun u => (Wf σ u) q) v = 1
All goals completed! 🐙) (k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces⊢ δ.Nonempty
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ = ∅⊢ δ ⊆ σ → δ ⊆ σ' → q ∈ (convexHull ℝ) ↑δ → δ ∉ T₀.complex.faces; All goals completed! 🐙;) (k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.faces⊢ ∀ v ∈ σ, v ∉ δ → (fun u => (Wf σ u) q) v = 0
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesthis:(∀ u ∈ σ, u ∉ δ → (Wf σ u) q = 0) ∧ ∀ u ∈ δ, (Wf σ u) q = (Wf δ u) q⊢ ∀ v ∈ σ, v ∉ δ → (fun u => (Wf σ u) q) v = 0; All goals completed! 🐙;)
have h_eq' : quantileV σ' (fun u => Wf σ' u q) t = quantileV δ (fun u => Wf σ' u q) t := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1⊢ quantileV σ (fun u => (Wf σ u) q) t = quantileV σ' (fun u => (Wf σ' u) q) t
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∀ v ∈ σ', 0 ≤ (Wf σ' v) qk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∑ v ∈ σ', (Wf σ' v) q = 1k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ δ.Nonemptyk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∀ v ∈ σ', v ∉ δ → (Wf σ' v) q = 0;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∀ v ∈ σ', 0 ≤ (Wf σ' v) q k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) tthis:(∀ u ∈ σ', 0 ≤ (Wf σ' u) q) ∧ ∑ u ∈ σ', (Wf σ' u) q = 1 ∧ ∑ u ∈ σ', (Wf σ' u) q • u = q⊢ ∀ v ∈ σ', 0 ≤ (Wf σ' v) q ; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∑ v ∈ σ', (Wf σ' v) q = 1 k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) tthis:(∀ u ∈ σ', 0 ≤ (Wf σ' u) q) ∧ ∑ u ∈ σ', (Wf σ' u) q = 1 ∧ ∑ u ∈ σ', (Wf σ' u) q • u = q⊢ ∑ v ∈ σ', (Wf σ' v) q = 1;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ δ.Nonempty k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) tht0:δ = ∅⊢ t ≤ 0; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) t⊢ ∀ v ∈ σ', v ∉ δ → (Wf σ' v) q = 0 All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) t⊢ quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf δ u) q) tk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) t⊢ ∀ v ∈ δ, t ≤ cumWeight δ (fun u => (Wf σ u) q) v ↔ t ≤ cumWeight δ (fun u => (Wf δ u) q) v;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) t⊢ quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf δ u) q) t k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) t⊢ ∀ v ∈ δ, t ≤ cumWeight δ (fun u => (Wf σ' u) q) v ↔ t ≤ cumWeight δ (fun u => (Wf δ u) q) v;
intro v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δ⊢ t ≤ cumWeight δ (fun u => (Wf σ' u) q) v ↔ t ≤ cumWeight δ (fun u => (Wf δ u) q) v; k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δ⊢ t ≤ ∑ u ∈ δ with toLex u ≤ toLex v, (Wf σ' u) q ↔ t ≤ ∑ u ∈ δ with toLex u ≤ toLex v, (Wf δ u) q ; k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δ⊢ (t ≤ ∑ a ∈ δ, if toLex a ≤ toLex v then (Wf σ' a) q else 0) ↔ t ≤ ∑ a ∈ δ, if toLex a ≤ toLex v then (Wf δ a) q else 0 ;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δthis:(∀ u ∈ σ', u ∉ δ → (Wf σ' u) q = 0) ∧ ∀ u ∈ δ, (Wf σ' u) q = (Wf δ u) q⊢ (t ≤ ∑ a ∈ δ, if toLex a ≤ toLex v then (Wf σ' a) q else 0) ↔ t ≤ ∑ a ∈ δ, if toLex a ≤ toLex v then (Wf δ a) q else 0; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) t⊢ ∀ v ∈ δ, t ≤ cumWeight δ (fun u => (Wf σ u) q) v ↔ t ≤ cumWeight δ (fun u => (Wf δ u) q) v intro v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δ⊢ t ≤ cumWeight δ (fun u => (Wf σ u) q) v ↔ t ≤ cumWeight δ (fun u => (Wf δ u) q) v; k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pσ:Finset (Fin k → ℝ)σ':Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faceshσ':σ' ∈ T₀.complex.facesq:Fin k → ℝhqσ:q ∈ (convexHull ℝ) ↑σhqσ':q ∈ (convexHull ℝ) ↑σ't:ℝht0:0 < tht1:t ≤ 1δ:Finset (Fin k → ℝ)hδ:δ ⊆ σ ∧ δ ⊆ σ' ∧ q ∈ (convexHull ℝ) ↑δ ∧ δ ∈ T₀.complex.facesh_eq:quantileV σ (fun u => (Wf σ u) q) t = quantileV δ (fun u => (Wf σ u) q) th_eq':quantileV σ' (fun u => (Wf σ' u) q) t = quantileV δ (fun u => (Wf σ' u) q) tv:Fin k → ℝhv:v ∈ δ⊢ t ≤ ∑ u ∈ δ with toLex u ≤ toLex v, (Wf σ u) q ↔ t ≤ ∑ u ∈ δ with toLex u ≤ toLex v, (Wf δ u) q ;
All goals completed! 🐙
In particular \ell_\alpha(q) is independent of the choice of carrier face, and can
be computed in any face of T_0 whose closed cell contains q.
5.4 The fine subdivision and verification of (L1)–(L3)
Each W_{\sigma,u} is affine on \mathbb R^k, hence Lipschitz; summing, each
function q \mapsto \mathrm{cum}_\sigma(W_{\sigma,\cdot}(q), v) is Lipschitz; and
since T_0 has finitely many faces (each with finitely many vertices) there is a
single constant C \ge 0 such that
\bigl|\mathrm{cum}_\sigma(W_{\sigma,\cdot}(q),v) - \mathrm{cum}_\sigma(W_{\sigma,\cdot}(q'),v)\bigr| \;\le\; C\,\|q - q'\|
for all faces \sigma of T_0, all v, and all q, q' \in \mathbb R^k.
Choose \varepsilon > 0 with C\varepsilon < \mathrm{gap}, and let
K := the r-fold barycentric subdivision of T_0, with r large enough that K
has mesh \le \varepsilon (Theorem 8.5): every two vertices of a common face of K
are within \varepsilon. Note (Lemma 8.6, iterated) that every face of K lies in
the closed cell of a single face of T_0.
We verify that \{\ell_\alpha\} is admissible on K.
We verify that \{\ell_\alpha\} is admissible on K. The counting argument
for (L3) rests on two Lean lemmas: the cumulative weight at the lex-greatest
vertex is the total weight (so the threshold predicate never varies there), and
the abstract straddle count:
/-- The cumulative weight at the lexicographically greatest vertex of `σ` is the total weight. -/
lemma cumWeight_lex_top {σ : Finset (Fin k → ℝ)} {w : (Fin k → ℝ) → ℝ} {vmax : Fin k → ℝ}
(hmax : ∀ u ∈ σ, toLex u ≤ toLex vmax) :
cumWeight σ w vmax = ∑ u ∈ σ, w u := k:ℕσ:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝvmax:Fin k → ℝhmax:∀ u ∈ σ, toLex u ≤ toLex vmax⊢ cumWeight σ w vmax = ∑ u ∈ σ, w u
k:ℕσ:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝvmax:Fin k → ℝhmax:∀ u ∈ σ, toLex u ≤ toLex vmax⊢ ∑ u ∈ σ with toLex u ≤ toLex vmax, w u = ∑ u ∈ σ, w u
k:ℕσ:Finset (Fin k → ℝ)w:(Fin k → ℝ) → ℝvmax:Fin k → ℝhmax:∀ u ∈ σ, toLex u ≤ toLex vmax⊢ ∀ u ∈ σ, toLex u ≤ toLex vmax
All goals completed! 🐙
/-
**Abstract counting bound (general position of thresholds).** If each index `α ∈ A`
"straddles" some `v ∈ V` (its threshold `t α` separates the values of `g v` over the finite
set `D`), the values of `g v` over `D` oscillate by less than the threshold gap, and the
thresholds of distinct indices in `A` are at least `gap` apart, then `A` injects into `V`.
-/
lemma straddle_count {κ : Type*} (D V : Finset (Fin k → ℝ)) (A : Finset κ)
(g : (Fin k → ℝ) → (Fin k → ℝ) → ℝ) (t : κ → ℝ) (gap C ε : ℝ)
(hCε : C * ε < gap)
(hosc : ∀ (v : Fin k → ℝ), ∀ q ∈ D, ∀ q' ∈ D, |g v q - g v q'| ≤ C * ε)
(hstr : ∀ α ∈ A, ∃ v ∈ V, (∃ q ∈ D, g v q < t α) ∧ (∃ q' ∈ D, t α ≤ g v q'))
(hsep : ∀ α ∈ A, ∀ β ∈ A, α ≠ β → gap ≤ |t α - t β|) :
A.card ≤ V.card := k:ℕκ:Type u_1D:Finset (Fin k → ℝ)V:Finset (Fin k → ℝ)A:Finset κg:(Fin k → ℝ) → (Fin k → ℝ) → ℝt:κ → ℝgap:ℝC:ℝε:ℝhCε:C * ε < gaphosc:∀ (v q : Fin k → ℝ), q ∈ D → ∀ q' ∈ D, |g v q - g v q'| ≤ C * εhstr:∀ α ∈ A, ∃ v ∈ V, (∃ q ∈ D, g v q < t α) ∧ ∃ q' ∈ D, t α ≤ g v q'hsep:∀ α ∈ A, ∀ β ∈ A, α ≠ β → gap ≤ |t α - t β|⊢ A.card ≤ V.card
k:ℕκ:Type u_1D:Finset (Fin k → ℝ)V:Finset (Fin k → ℝ)A:Finset κg:(Fin k → ℝ) → (Fin k → ℝ) → ℝt:κ → ℝgap:ℝC:ℝε:ℝhCε:C * ε < gaphosc:∀ (v q : Fin k → ℝ), q ∈ D → ∀ q' ∈ D, |g v q - g v q'| ≤ C * εhsep:∀ α ∈ A, ∀ β ∈ A, α ≠ β → gap ≤ |t α - t β|v:κ → Fin k → ℝhv:∀ α ∈ A, v α ∈ Vhv':∀ α ∈ A, ∃ q ∈ D, g (v α) q < t αhv'':∀ α ∈ A, ∃ q' ∈ D, t α ≤ g (v α) q'⊢ A.card ≤ V.card;
have h_inj : ∀ α β, α ∈ A → β ∈ A → α ≠ β → v α ≠ v β := k:ℕκ:Type u_1D:Finset (Fin k → ℝ)V:Finset (Fin k → ℝ)A:Finset κg:(Fin k → ℝ) → (Fin k → ℝ) → ℝt:κ → ℝgap:ℝC:ℝε:ℝhCε:C * ε < gaphosc:∀ (v q : Fin k → ℝ), q ∈ D → ∀ q' ∈ D, |g v q - g v q'| ≤ C * εhstr:∀ α ∈ A, ∃ v ∈ V, (∃ q ∈ D, g v q < t α) ∧ ∃ q' ∈ D, t α ≤ g v q'hsep:∀ α ∈ A, ∀ β ∈ A, α ≠ β → gap ≤ |t α - t β|⊢ A.card ≤ V.card
k:ℕκ:Type u_1D:Finset (Fin k → ℝ)V:Finset (Fin k → ℝ)A:Finset κg:(Fin k → ℝ) → (Fin k → ℝ) → ℝt:κ → ℝgap:ℝC:ℝε:ℝhCε:C * ε < gapv:κ → Fin k → ℝhosc:∀ (v q : Fin k → ℝ), q ∈ D → ∀ q' ∈ D, g v q' ≤ g v q + C * ε ∧ g v q ≤ C * ε + g v q'hsep:∀ α ∈ A, ∀ β ∈ A, ¬α = β → gap ≤ |t α - t β|hv:∀ α ∈ A, v α ∈ Vhv':∀ α ∈ A, ∃ q ∈ D, g (v α) q < t αhv'':∀ α ∈ A, ∃ q' ∈ D, t α ≤ g (v α) q'⊢ ∀ (α β : κ), α ∈ A → β ∈ A → ¬α = β → ¬v α = v β;
All goals completed! 🐙;
exact Finset.card_le_card ( show A.image v ⊆ V from Finset.image_subset_iff.mpr hv ) |> le_trans ( k:ℕκ:Type u_1D:Finset (Fin k → ℝ)V:Finset (Fin k → ℝ)A:Finset κg:(Fin k → ℝ) → (Fin k → ℝ) → ℝt:κ → ℝgap:ℝC:ℝε:ℝhCε:C * ε < gaphosc:∀ (v q : Fin k → ℝ), q ∈ D → ∀ q' ∈ D, |g v q - g v q'| ≤ C * εhsep:∀ α ∈ A, ∀ β ∈ A, α ≠ β → gap ≤ |t α - t β|v:κ → Fin k → ℝhv:∀ α ∈ A, v α ∈ Vhv':∀ α ∈ A, ∃ q ∈ D, g (v α) q < t αhv'':∀ α ∈ A, ∃ q' ∈ D, t α ≤ g (v α) q'h_inj:∀ (α β : κ), α ∈ A → β ∈ A → α ≠ β → v α ≠ v β⊢ A.card ≤ (Finset.image v A).card All goals completed! 🐙 )
(L1).
(L1). For active \alpha and q a vertex of K — in particular q \in P:
\ell_\alpha(q) is a vertex of the face \mathrm{cf}(q) of T_0 (the quantile
vertex exists by Lemma 5.2.1, since 0 < t_\alpha \le 1), hence lies in P. For
inactive \alpha, \ell_\alpha(q) = p_0 \in P.
/-
**Condition (1): the labelling stays in `P`.**
-/
lemma quantile_cond1 {P : Set (Fin k → ℝ)} (T₀ : Subdivision P) (r : ℕ)
{ι : Type*} (active : Finset ι) (t : ι → ℝ)
(cf : (Fin k → ℝ) → Finset (Fin k → ℝ))
(lbl : ι → (Fin k → ℝ) → (Fin k → ℝ))
(hcf : ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)))
(htrange : ∀ α ∈ active, 0 < t α ∧ t α < 1)
(hlblA : ∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => Wf (cf q) u q) (t α))
(hlblImem : ∀ α, α ∉ active → ∀ q : Fin k → ℝ, lbl α q ∈ P) :
∀ α, ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, lbl α q ∈ P := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ P⊢ ∀ (α : ι), ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, lbl α q ∈ P
intro α k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)⊢ s ∈ (barySub^[r] T₀).complex.faces → ∀ q ∈ s, lbl α q ∈ P k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.faces⊢ ∀ q ∈ s, lbl α q ∈ P k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝ⊢ q ∈ s → lbl α q ∈ P k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ s⊢ lbl α q ∈ P;
-- First, establish that q is in P. Since q is in s (a face of the r-th barycentric subdivision of T₀), we have q ∈ ((barySub^[r] T₀).complex).space. But ((barySub^[r] T₀).complex).space = P by the space_eq property of the subdivision. So q ∈ P.
have hqP : q ∈ P := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ P⊢ ∀ (α : ι), ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, lbl α q ∈ P
exact (barySub^[r] T₀).complex.subset_space hs hq |> fun h => k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ sh:q ∈ (barySub^[r] T₀).complex.space⊢ q ∈ P All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phα:α ∈ active⊢ lbl α q ∈ Pk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phα:α ∉ active⊢ lbl α q ∈ P k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phα:α ∈ active⊢ lbl α q ∈ Pk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phα:α ∉ active⊢ lbl α q ∈ P All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ active⊢ q ∈ P → quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) ∈ P;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ P⊢ quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) ∈ P;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)⊢ quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) ∈ P;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) ∈ P;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ P = T₀.complex.spacek:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ {v ∈ cf q | t α ≤ cumWeight (cf q) (fun u => (Wf (cf q) u) q) v}.Nonempty;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ P = T₀.complex.space All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ {v ∈ cf q | t α ≤ cumWeight (cf q) (fun u => (Wf (cf q) u) q) v}.Nonempty k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ t α ≤ 1k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∀ v ∈ cf q, 0 ≤ (Wf (cf q) v) qk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∑ v ∈ cf q, (Wf (cf q) v) q = 1k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ (cf q).Nonempty;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ t α ≤ 1 All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∀ v ∈ cf q, 0 ≤ (Wf (cf q) v) q All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∑ v ∈ cf q, (Wf (cf q) v) q = 1 All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ (cf q).Nonempty exact Finset.nonempty_of_ne_empty ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ cf q ≠ ∅ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shα:α ∈ activehqP:q ∈ Phσ:cf q ∈ T₀.complex.faceshqσ:q ∈ (convexHull ℝ) ↑(cf q)this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = qh:cf q = ∅⊢ False; All goals completed! 🐙 )
(L2).
(L2). Let \alpha be active, Q an extreme subset of P, and q a vertex of
K lying in Q. Write q as the barycentric combination of the vertices of
\mathrm{cf}(q) and discard zero weights, leaving a positively weighted convex
combination of a subset s_0 \subseteq \mathrm{cf}(q) of points of P. By Lemma 4.1,
s_0 \subseteq Q. The quantile vertex has strictly positive weight (Lemma 5.2.1),
hence belongs to s_0 \subseteq Q. So \ell_\alpha(q) \in Q.
/-
**Condition (2): active labellings are face-respecting.**
-/
lemma quantile_cond2 {P : Set (Fin k → ℝ)} (hPc : Convex ℝ P) (T₀ : Subdivision P) (r : ℕ)
{ι : Type*} (active : Finset ι) (t : ι → ℝ)
(cf : (Fin k → ℝ) → Finset (Fin k → ℝ))
(lbl : ι → (Fin k → ℝ) → (Fin k → ℝ))
(hcf : ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)))
(htrange : ∀ α ∈ active, 0 < t α ∧ t α < 1)
(hlblA : ∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => Wf (cf q) u q) (t α)) :
∀ α ∈ active, ∀ Q : Set (Fin k → ℝ), IsExtreme ℝ P Q →
∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active,
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ Q⊢ lbl α q ∈ Q
have hqP : q ∈ P := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active,
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ Qthis:↑s ⊆ (barySub^[r] T₀).complex.space⊢ q ∈ P;
convert T₀.space_eq ▸ ( barySub^[r] T₀ ).space_eq ▸ this ( k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ Qthis:↑s ⊆ (barySub^[r] T₀).complex.space⊢ ?m.125 ∈ ↑s All goals completed! 🐙 ) using 1;
All goals completed! 🐙
have hcfq : cf q ∈ T₀.complex.faces := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active,
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
All goals completed! 🐙
have hqcfq : q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active,
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
All goals completed! 🐙;
-- Let `s0 := cf q |>.filter (fun v => 0 < Wf (cf q) v q)`.
k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ lbl α q ∈ Q
have hs0_subset : (s0 : Set (Fin k → ℝ)) ⊆ Q := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active,
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
apply extreme_convexHull_support hQ hPc s0 (k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ ↑s0 ⊆ P
have hs0_subset : (cf q : Set (Fin k → ℝ)) ⊆ P := k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ ↑s0 ⊆ P
exact T₀.complex.subset_space hcfq |> fun h => h.trans ( k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}h:↑(cf q) ⊆ T₀.complex.space⊢ T₀.complex.space ⊆ P All goals completed! 🐙 );
All goals completed! 🐙) (fun v => Wf (cf q) v q) (k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ ∀ q_1 ∈ s0, 0 < (fun v => (Wf (cf q) v) q) q_1
All goals completed! 🐙) (k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ ∑ q_1 ∈ s0, (fun v => (Wf (cf q) v) q) q_1 = 1
have := Wf_spec ( cf q ) ( k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ AffineIndependent ℝ Subtype.val
All goals completed! 🐙 ) hqcfq;
k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∀ x ∈ cf q, (Wf (cf q) x) q ≠ 0 → 0 < (Wf (cf q) x) q;
All goals completed! 🐙) (k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ ∑ q_1 ∈ s0, (fun v => (Wf (cf q) v) q) q_1 • q_1 ∈ Q
have := Wf_spec ( cf q ) ( k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}⊢ AffineIndependent ℝ Subtype.val
All goals completed! 🐙 ) hqcfq;
k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∑ x ∈ cf q, (fun v => (Wf (cf (∑ u ∈ cf q, (Wf (cf q) u) q • u)) v) (∑ u ∈ cf q, (Wf (cf q) u) q • u)) x • x ∈ Qk:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∀ x ∈ cf q,
(fun v => (Wf (cf (∑ u ∈ cf q, (Wf (cf q) u) q • u)) v) (∑ u ∈ cf q, (Wf (cf q) u) q • u)) x • x ≠ 0 →
0 < (Wf (cf q) x) q ; k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ ∀ x ∈ cf q,
(fun v => (Wf (cf (∑ u ∈ cf q, (Wf (cf q) u) q • u)) v) (∑ u ∈ cf q, (Wf (cf q) u) q • u)) x • x ≠ 0 →
0 < (Wf (cf q) x) q;
exact fun x hx hx' => lt_of_le_of_ne ( this.1 x hx ) ( Ne.symm <| k:ℕP:Set (Fin k → ℝ)hPc:Convex ℝ PT₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ activeQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ QhqP:q ∈ Phcfq:cf q ∈ T₀.complex.faceshqcfq:q ∈ (convexHull ℝ) ↑(cf q)s0:Finset (Fin k → ℝ) := {v ∈ cf q | 0 < (Wf (cf q) v) q}hs0_def:s0 = {v ∈ cf q | 0 < (Wf (cf q) v) q}this:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = qx:Fin k → ℝhx:x ∈ cf qhx':(fun v => (Wf (cf (∑ u ∈ cf q, (Wf (cf q) u) q • u)) v) (∑ u ∈ cf q, (Wf (cf q) u) q • u)) x • x ≠ 0⊢ (Wf (cf q) x) q ≠ 0 All goals completed! 🐙 ));
All goals completed! 🐙
(L3).
(L3). Fix a facet D of K and let \sigma be a face of T_0 with
D \subseteq \operatorname{conv}(\sigma). Let v_{\max} be the \preceq-greatest
vertex of \sigma. Define
A \;:=\; \{\alpha \text{ active} : \ell_\alpha \text{ is not constant on } D\}.
(Inactive labellings are globally constant, so this is the right exceptional set; it
remains to bound |A| \le k.)
First, by consistency (Lemma 5.3.1), for every q \in D the label \ell_\alpha(q)
equals the quantile vertex of q computed in \sigma.
Claim: each \alpha \in A "straddles" some vertex v \in \sigma \smallsetminus \{v_{\max}\}, meaning: there are q, q' \in D with
\mathrm{cum}_\sigma(W_{\sigma,\cdot}(q), v) \;<\; t_\alpha \;\le\; \mathrm{cum}_\sigma(W_{\sigma,\cdot}(q'), v).
Indeed, if for every v \in \sigma the predicate
"t_\alpha \le \mathrm{cum}_\sigma(W_{\sigma,\cdot}(\cdot), v)" were constant on D,
then by Lemma 5.2.3 the quantile vertex would be constant on D, contradicting
\alpha \in A. And at v = v_{\max} the cumulative weight is the total weight, which
is 1 \ge t_\alpha for every q \in D — the predicate never varies there — so the
straddled vertex can be taken \ne v_{\max}.
Claim: distinct \alpha \ne \beta in A straddle distinct vertices. The points of
D are vertices of a common face of K, hence pairwise within \varepsilon; by the
Lipschitz bound, for each fixed v the values
\mathrm{cum}_\sigma(W_{\sigma,\cdot}(q), v), q \in D, all lie in an interval of
length \le C\varepsilon. If \alpha straddles v, then t_\alpha lies in the
interval \bigl(\min_{q\in D} \mathrm{cum}_\sigma(W_{\sigma,\cdot}(q),v),\; \max_{q\in D}\mathrm{cum}_\sigma(W_{\sigma,\cdot}(q),v)\bigr], of length
\le C\varepsilon. If \beta \ne \alpha straddled the same v, then
|t_\alpha - t_\beta| \le C\varepsilon < \mathrm{gap}, contradicting the threshold
separation.
So \alpha \mapsto (\text{a straddled vertex}) injects A into
\sigma \smallsetminus \{v_{\max}\}, giving
|A| \le |\sigma| - 1 \le k, since a face of a subdivision in \mathbb R^k, being
affinely independent, has at most k+1 vertices. This proves (L3), completing the
admissible labelling family, hence (via Step 4) Theorem 3.4, hence Theorem A.
\blacksquare
/-
**Condition (3): per-facet `≤ k` mixing bound.**
-/
lemma quantile_cond3 {P : Set (Fin k → ℝ)} (T₀ : Subdivision P) (r : ℕ)
{ι : Type*} (active : Finset ι) (t : ι → ℝ) (gap C ε : ℝ)
(cf : (Fin k → ℝ) → Finset (Fin k → ℝ))
(lbl : ι → (Fin k → ℝ) → (Fin k → ℝ))
(hmesh : MeshLE (barySub^[r] T₀) ε)
(hcf : ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)))
(hC0 : 0 ≤ C)
(hClip : ∀ σ ∈ T₀.complex.faces, ∀ (v x y : Fin k → ℝ),
|cumWeight σ (fun u => Wf σ u x) v - cumWeight σ (fun u => Wf σ u y) v| ≤ C * ‖x - y‖)
(hCε : C * ε < gap)
(htrange : ∀ α ∈ active, 0 < t α ∧ t α < 1)
(htsep : ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|)
(hlblA : ∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => Wf (cf q) u q) (t α))
(hlblI : ∀ α, α ∉ active → ∀ q q' : Fin k → ℝ, lbl α q = lbl α q') :
∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A : Finset ι, A.card ≤ k ∧
∀ α, α ∉ A → ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q' := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro D k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facets⊢ ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
obtain ⟨σ, hσ⟩ : ∃ σ ∈ T₀.complex.faces, (D : Set (Fin k → ℝ)) ⊆ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facets⊢ ∃ σ ∈ T₀.complex.faces, ↑D ⊆ (convexHull ℝ) ↑σ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facets⊢ D ∈ (barySub^[?r] T₀).complex.facesk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facets⊢ ℕ;
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σ⊢ ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q';
obtain ⟨vmax, hvmax⟩ : ∃ vmax ∈ σ, ∀ u ∈ σ, toLex u ≤ toLex vmax := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σ⊢ ∃ vmax ∈ σ, ∀ u ∈ σ, toLex u ≤ toLex vmax
exact Finset.exists_max_image σ toLex ( Finset.nonempty_of_ne_empty ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σ⊢ σ ≠ ∅ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetshσ:∅ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑∅⊢ False; exact k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetshσ:∅ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑∅⊢ False k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetshσ:∅ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑∅this:∅.Nonempty⊢ False; All goals completed! 🐙 ) );
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmax⊢ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ kk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmax⊢ ∀ α ∉ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q';
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmax⊢ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ k have hA_card : ∀ α ∈ active.filter (fun α => ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'), ∃ v ∈ σ.erase vmax, (∃ q ∈ D, cumWeight σ (fun u => Wf σ u q) v < t α) ∧ (∃ q' ∈ D, t α ≤ cumWeight σ (fun u => Wf σ u q') v) := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro α k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}⊢ ∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v
obtain ⟨q, hqD, q', hq'D, hne⟩ : ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q' := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}⊢ ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'
All goals completed! 🐙
have hlblσ : ∀ q ∈ D, lbl α q = quantileV σ (fun u => Wf σ u q) (t α) := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro q k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q✝:Fin k → ℝhqD✝:q✝ ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhne:lbl α q✝ ≠ lbl α q'q:Fin k → ℝhqD:q ∈ D⊢ lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)
have hqP : q ∈ P := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
have hqP : q ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q✝:Fin k → ℝhqD✝:q✝ ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhne:lbl α q✝ ≠ lbl α q'q:Fin k → ℝhqD:q ∈ DhqP:q ∈ (convexHull ℝ) ↑σ⊢ q ∈ P;
exact T₀.complex.convexHull_subset_space hσ.1 hqP |> fun h => k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q✝:Fin k → ℝhqD✝:q✝ ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhne:lbl α q✝ ≠ lbl α q'q:Fin k → ℝhqD:q ∈ DhqP:q ∈ (convexHull ℝ) ↑σh:q ∈ T₀.complex.space⊢ q ∈ P All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q✝:Fin k → ℝhqD✝:q✝ ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhne:lbl α q✝ ≠ lbl α q'q:Fin k → ℝhqD:q ∈ DhqP:q ∈ P⊢ lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α);
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhne:lbl α q ≠ lbl α q'hlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)⊢ ∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t α⊢ lbl α q = lbl α q';
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t α⊢ ∀ v ∈ σ, t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v;
intro v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αv:Fin k → ℝhv:v ∈ σ⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v; k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αv:Fin k → ℝhv:v ∈ σhv':v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') vk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αv:Fin k → ℝhv:v ∈ σhv':¬v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αv:Fin k → ℝhv:v ∈ σhv':v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') vk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxα:ιhα:α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}q:Fin k → ℝhqD:q ∈ Dq':Fin k → ℝhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αv:Fin k → ℝhv:v ∈ σhv':¬v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝα:ιq:Fin k → ℝq':Fin k → ℝv:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhα:α ∈ active ∧ ∃ q ∈ D, ∃ q' ∈ D, ¬lbl α q = lbl α q'hqD:q ∈ Dhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ (v : Fin k → ℝ),
¬v = vmax →
v ∈ σ → ∀ x ∈ D, cumWeight σ (fun u => (Wf σ u) x) v < t α → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αhv:v ∈ σhv':¬v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v ;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝα:ιq:Fin k → ℝq':Fin k → ℝv:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhα:α ∈ active ∧ ∃ q ∈ D, ∃ q' ∈ D, ¬lbl α q = lbl α q'hqD:q ∈ Dhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ (v : Fin k → ℝ),
¬v = vmax →
v ∈ σ → ∀ x ∈ D, cumWeight σ (fun u => (Wf σ u) x) v < t α → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αhv':v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) vmax ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') vmax k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝα:ιq:Fin k → ℝq':Fin k → ℝv:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhα:α ∈ active ∧ ∃ q ∈ D, ∃ q' ∈ D, ¬lbl α q = lbl α q'hqD:q ∈ Dhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ (v : Fin k → ℝ),
¬v = vmax →
v ∈ σ → ∀ x ∈ D, cumWeight σ (fun u => (Wf σ u) x) v < t α → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αhv':v = vmax⊢ t α ≤ ∑ u ∈ σ, (Wf σ u) q ↔ t α ≤ ∑ u ∈ σ, (Wf σ u) q';
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝα:ιq:Fin k → ℝq':Fin k → ℝv:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhα:α ∈ active ∧ ∃ q ∈ D, ∃ q' ∈ D, ¬lbl α q = lbl α q'hqD:q ∈ Dhq'D:q' ∈ Dhlblσ:∀ q ∈ D, lbl α q = quantileV σ (fun u => (Wf σ u) q) (t α)hne:∀ (v : Fin k → ℝ),
¬v = vmax →
v ∈ σ → ∀ x ∈ D, cumWeight σ (fun u => (Wf σ u) x) v < t α → ∀ q' ∈ D, cumWeight σ (fun u => (Wf σ u) q') v < t αhv:v ∈ σhv':¬v = vmax⊢ t α ≤ cumWeight σ (fun u => (Wf σ u) q) v ↔ t α ≤ cumWeight σ (fun u => (Wf σ u) q') v All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vthis:{α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ (σ.erase vmax).card⊢ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ kk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ (v q : Fin k → ℝ),
q ∈ D →
∀ q' ∈ D,
|(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤
C * εk:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q < t α) ∧
∃ q' ∈ D, t α ≤ (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∀ β ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}, α ≠ β → gap ≤ |t α - t β|;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vthis:{α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ (σ.erase vmax).card⊢ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ k have := T₀.complex.indep ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vthis:{α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}.card ≤ (σ.erase vmax).card⊢ ?m.1080 ∈ T₀.complex.faces All goals completed! 🐙 ) ; k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ active,
∀ x ∈ D,
∀ x_1 ∈ D,
¬lbl α x = lbl α x_1 →
∃ v,
(¬v = vmax ∧ v ∈ σ) ∧
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vthis✝:{x ∈ active | ∃ q ∈ D, ∃ q' ∈ D, ¬lbl x q = lbl x q'}.card ≤ σ.card - 1this:AffineIndependent ℝ Subtype.val⊢ {x ∈ active | ∃ q ∈ D, ∃ q' ∈ D, ¬lbl x q = lbl x q'}.card ≤ k ;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1D:Finset (Fin k → ℝ)σ:Finset (Fin k → ℝ)vmax:Fin k → ℝhtsep:∀ α ∈ active, ∀ β ∈ active, ¬α = β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hD:D ∈ (barySub^[r] T₀).complex.facetshσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ active,
∀ x ∈ D,
∀ x_1 ∈ D,
¬lbl α x = lbl α x_1 →
∃ v,
(¬v = vmax ∧ v ∈ σ) ∧
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vthis✝¹:{x ∈ active | ∃ q ∈ D, ∃ q' ∈ D, ¬lbl x q = lbl x q'}.card ≤ σ.card - 1this✝:AffineIndependent ℝ Subtype.valthis:σ.card ≤ k + 1⊢ {x ∈ active | ∃ q ∈ D, ∃ q' ∈ D, ¬lbl x q = lbl x q'}.card ≤ k; All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ (v q : Fin k → ℝ),
q ∈ D →
∀ q' ∈ D,
|(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤
C * ε intro v k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝ⊢ q ∈ D →
∀ q' ∈ D,
|(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤
C * ε k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝhq:q ∈ D⊢ ∀ q' ∈ D,
|(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤ C * ε k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝhq:q ∈ Dq':Fin k → ℝ⊢ q' ∈ D →
|(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤ C * ε k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝhq:q ∈ Dq':Fin k → ℝhq':q' ∈ D⊢ |(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤ C * ε
have h_dist : ‖q - q'‖ ≤ ε := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'⊢ ∀ D ∈ (barySub^[r] T₀).complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
exact hmesh D ( k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝhq:q ∈ Dq':Fin k → ℝhq':q' ∈ D⊢ D ∈ (barySub^[r] T₀).complex.faces All goals completed! 🐙 ) q hq q' hq'
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') vv:Fin k → ℝq:Fin k → ℝhq:q ∈ Dq':Fin k → ℝhq':q' ∈ Dh_dist:‖q - q'‖ ≤ ε⊢ |(fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q - (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q'| ≤ C * ε;
All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q < t α) ∧
∃ q' ∈ D, t α ≤ (fun v q => cumWeight σ (fun u => (Wf σ u) q) v) v q' All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmaxhA_card:∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∃ v ∈ σ.erase vmax,
(∃ q ∈ D, cumWeight σ (fun u => (Wf σ u) q) v < t α) ∧ ∃ q' ∈ D, t α ≤ cumWeight σ (fun u => (Wf σ u) q') v⊢ ∀ α ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'},
∀ β ∈ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}, α ≠ β → gap ≤ |t α - t β| All goals completed! 🐙;
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝgap:ℝC:ℝε:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh:MeshLE (barySub^[r] T₀) εhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)hC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖hCε:C * ε < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'D:Finset (Fin k → ℝ)hD:D ∈ (barySub^[r] T₀).complex.facetsσ:Finset (Fin k → ℝ)hσ:σ ∈ T₀.complex.faces ∧ ↑D ⊆ (convexHull ℝ) ↑σvmax:Fin k → ℝhvmax:vmax ∈ σ ∧ ∀ u ∈ σ, toLex u ≤ toLex vmax⊢ ∀ α ∉ {α ∈ active | ∃ q ∈ D, ∃ q' ∈ D, lbl α q ≠ lbl α q'}, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q' All goals completed! 🐙
Two further lemmas prepare the bi-Lipschitz refinement of Part III: a vertex of a face is within the mesh bound of every point of its closed cell, and each active label of a vertex is within the coarse mesh of that vertex:
/-- A vertex of `σ` is within the mesh bound of any point of `convexHull σ`. -/
lemma dist_le_of_mem_hull_of_mesh {σ : Finset (Fin k → ℝ)} {δ : ℝ}
(hmesh : ∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δ) {v : Fin k → ℝ} (hv : v ∈ σ)
{q : Fin k → ℝ} (hq : q ∈ convexHull ℝ (σ : Set (Fin k → ℝ))) :
dist v q ≤ δ := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ dist v q ≤ δ
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝhq:q ∈ {x | ∃ w, (∀ y ∈ σ, 0 ≤ w y) ∧ ∑ y ∈ σ, w y = 1 ∧ σ.centerMass w id = x}⊢ dist v q ≤ δ
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = q⊢ dist v q ≤ δ
have hqc : q = ∑ u ∈ σ, w u • u := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ dist v q ≤ δ
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = q⊢ ∑ i ∈ σ, w i • id i = ∑ u ∈ σ, w u • u; All goals completed! 🐙
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • u⊢ ‖v - ∑ u ∈ σ, w u • u‖ ≤ δ
have key : v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u) := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝhq:q ∈ (convexHull ℝ) ↑σ⊢ dist v q ≤ δ
All goals completed! 🐙
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)⊢ ‖∑ u ∈ σ, w u • (v - u)‖ ≤ δ
calc ‖∑ u ∈ σ, w u • (v - u)‖ ≤ ∑ u ∈ σ, ‖w u • (v - u)‖ := norm_sum_le _ _
_ = ∑ u ∈ σ, w u * ‖v - u‖ := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)⊢ ∑ u ∈ σ, ‖w u • (v - u)‖ = ∑ u ∈ σ, w u * ‖v - u‖
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)u:Fin k → ℝhu:u ∈ σ⊢ ‖w u • (v - u)‖ = w u * ‖v - u‖
All goals completed! 🐙
_ ≤ ∑ u ∈ σ, w u * δ := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)⊢ ∑ u ∈ σ, w u * ‖v - u‖ ≤ ∑ u ∈ σ, w u * δ
k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)u:Fin k → ℝhu:u ∈ σ⊢ w u * ‖v - u‖ ≤ w u * δ
All goals completed! 🐙
_ = δ := k:ℕσ:Finset (Fin k → ℝ)δ:ℝhmesh:∀ u ∈ σ, ∀ w ∈ σ, ‖u - w‖ ≤ δv:Fin k → ℝhv:v ∈ σq:Fin k → ℝw:(Fin k → ℝ) → ℝhw0:∀ y ∈ σ, 0 ≤ w yhw1:∑ y ∈ σ, w y = 1hcomb:σ.centerMass w id = qhqc:q = ∑ u ∈ σ, w u • ukey:v - ∑ u ∈ σ, w u • u = ∑ u ∈ σ, w u • (v - u)⊢ ∑ u ∈ σ, w u * δ = δ All goals completed! 🐙
/-- **Closeness of the quantile labelling.** On a coarse subdivision of mesh `≤ δ`, each
active label of a vertex is within `δ` of that vertex. -/
lemma quantile_cond4 {P : Set (Fin k → ℝ)} (T₀ : Subdivision P) (r : ℕ)
{ι : Type*} (active : Finset ι) (t : ι → ℝ) (δ : ℝ)
(cf : (Fin k → ℝ) → Finset (Fin k → ℝ))
(lbl : ι → (Fin k → ℝ) → (Fin k → ℝ))
(hmesh0 : MeshLE T₀ δ)
(hcf : ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)))
(htrange : ∀ α ∈ active, 0 < t α ∧ t α < 1)
(hlblA : ∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => Wf (cf q) u q) (t α)) :
∀ α ∈ active, ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, dist (lbl α q) q ≤ δ := k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)⊢ ∀ α ∈ active, ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, dist (lbl α q) q ≤ δ
intro α k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ active⊢ ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, dist (lbl α q) q ≤ δ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)⊢ s ∈ (barySub^[r] T₀).complex.faces → ∀ q ∈ s, dist (lbl α q) q ≤ δ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.faces⊢ ∀ q ∈ s, dist (lbl α q) q ≤ δ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝ⊢ q ∈ s → dist (lbl α q) q ≤ δ k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ s⊢ dist (lbl α q) q ≤ δ
have hqP : q ∈ P :=
(barySub^[r] T₀).complex.subset_space hs hq |> fun h => k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ sh:q ∈ (barySub^[r] T₀).complex.space⊢ q ∈ P
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)⊢ dist (lbl α q) q ≤ δ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)⊢ dist (quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)) q ≤ δ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)hindep:AffineIndependent ℝ Subtype.val⊢ dist (quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)) q ≤ δ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)hindep:AffineIndependent ℝ Subtype.valhne:(cf q).Nonempty⊢ dist (quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)) q ≤ δ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)hindep:AffineIndependent ℝ Subtype.valhne:(cf q).Nonemptyhspec:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = q⊢ dist (quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)) q ≤ δ
k:ℕP:Set (Fin k → ℝ)T₀:Subdivision Pr:ℕι:Type u_1active:Finset ιt:ι → ℝδ:ℝcf:(Fin k → ℝ) → Finset (Fin k → ℝ)lbl:ι → (Fin k → ℝ) → Fin k → ℝhmesh0:MeshLE T₀ δhcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)htrange:∀ α ∈ active, 0 < t α ∧ t α < 1hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∈ actives:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ Phcf1:cf q ∈ T₀.complex.faceshcf2:q ∈ (convexHull ℝ) ↑(cf q)hindep:AffineIndependent ℝ Subtype.valhne:(cf q).Nonemptyhspec:(∀ u ∈ cf q, 0 ≤ (Wf (cf q) u) q) ∧ ∑ u ∈ cf q, (Wf (cf q) u) q = 1 ∧ ∑ u ∈ cf q, (Wf (cf q) u) q • u = qhmem:quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) ∈ cf q⊢ dist (quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)) q ≤ δ
All goals completed! 🐙
Finally the thresholds, and the assembly of the whole labelling family:
/-- An enumeration of a finset by distinct naturals below its cardinality. -/
lemma exists_rank_inj {ι : Type*} (active : Finset ι) :
∃ rank : ι → ℕ, (∀ α ∈ active, rank α < active.card) ∧
(∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β) := ι:Type u_1active:Finset ι⊢ ∃ rank, (∀ α ∈ active, rank α < active.card) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β
classical
ι:Type u_1active:Finset ι⊢ ∀ α ∈ active, (fun α => List.idxOf α active.toList) α < active.cardι:Type u_1active:Finset ι⊢ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β
ι:Type u_1active:Finset ι⊢ ∀ α ∈ active, (fun α => List.idxOf α active.toList) α < active.card intro α ι:Type u_1active:Finset ια:ιhα:α ∈ active⊢ (fun α => List.idxOf α active.toList) α < active.card
have : α ∈ active.toList := ι:Type u_1active:Finset ι⊢ ∃ rank, (∀ α ∈ active, rank α < active.card) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β All goals completed! 🐙
ι:Type u_1active:Finset ια:ιhα:α ∈ activethis:α ∈ active.toListh:List.idxOf α active.toList < active.toList.length⊢ (fun α => List.idxOf α active.toList) α < active.card
All goals completed! 🐙
ι:Type u_1active:Finset ι⊢ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β intro α ι:Type u_1active:Finset ια:ιhα:α ∈ active⊢ ∀ β ∈ active, α ≠ β → (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β ι:Type u_1active:Finset ια:ιhα:α ∈ activeβ:ι⊢ β ∈ active → α ≠ β → (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β ι:Type u_1active:Finset ια:ιhα:α ∈ activeβ:ιhβ:β ∈ active⊢ α ≠ β → (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β ι:Type u_1active:Finset ια:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ β⊢ (fun α => List.idxOf α active.toList) α ≠ (fun α => List.idxOf α active.toList) β ι:Type u_1active:Finset ια:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βh:(fun α => List.idxOf α active.toList) α = (fun α => List.idxOf α active.toList) β⊢ False
ι:Type u_1active:Finset ια:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βh:(fun α => List.idxOf α active.toList) α = (fun α => List.idxOf α active.toList) β⊢ α = β
have hαl : α ∈ active.toList := ι:Type u_1active:Finset ι⊢ ∃ rank, (∀ α ∈ active, rank α < active.card) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β All goals completed! 🐙
All goals completed! 🐙
/-- Distinct thresholds in `(0,1)` for the active indices, with a uniform separation `gap`. -/
lemma exists_thresholds {ι : Type*} (active : Finset ι) :
∃ (t : ι → ℝ) (gap : ℝ), 0 < gap ∧
(∀ α ∈ active, 0 < t α ∧ t α < 1) ∧
(∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|) := ι:Type u_1active:Finset ι⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|
refine ⟨fun α => ((rank α : ℝ) + 1)/(active.card + 1), 1/(active.card + 1), ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β⊢ 0 < 1 / (↑active.card + 1) All goals completed! 🐙, ?_, ?_⟩
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β⊢ ∀ α ∈ active,
0 < (fun α => (↑(rank α) + 1) / (↑active.card + 1)) α ∧ (fun α => (↑(rank α) + 1) / (↑active.card + 1)) α < 1 intro α ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ active⊢ 0 < (fun α => (↑(rank α) + 1) / (↑active.card + 1)) α ∧ (fun α => (↑(rank α) + 1) / (↑active.card + 1)) α < 1
have h : (rank α : ℝ) < active.card := ι:Type u_1active:Finset ι⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β| All goals completed! 🐙
refine ⟨ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeh:↑(rank α) < ↑active.card⊢ 0 < (fun α => (↑(rank α) + 1) / (↑active.card + 1)) α All goals completed! 🐙, ?_⟩
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeh:↑(rank α) < ↑active.card⊢ ↑(rank α) + 1 < ↑active.card + 1; All goals completed! 🐙
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank β⊢ ∀ α ∈ active,
∀ β ∈ active,
α ≠ β →
1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β| intro α ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ active⊢ ∀ β ∈ active,
α ≠ β →
1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β| ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ι⊢ β ∈ active →
α ≠ β →
1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β| ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ active⊢ α ≠ β →
1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β| ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ β⊢ 1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β|
have hneI : ((rank α : ℤ) - rank β) ≠ 0 := ι:Type u_1active:Finset ι⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ β⊢ ↑(rank α) ≠ ↑(rank β); All goals completed! 🐙
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βhneI:↑(rank α) - ↑(rank β) ≠ 0h1:1 ≤ |↑(rank α) - ↑(rank β)|⊢ 1 / (↑active.card + 1) ≤
|(fun α => (↑(rank α) + 1) / (↑active.card + 1)) α - (fun α => (↑(rank α) + 1) / (↑active.card + 1)) β|
have hdiff : (1:ℝ) ≤ |(rank α : ℝ) - rank β| := ι:Type u_1active:Finset ι⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βhneI:↑(rank α) - ↑(rank β) ≠ 0h1:1 ≤ |↑(rank α) - ↑(rank β)|this:↑1 ≤ ↑|↑(rank α) - ↑(rank β)|⊢ 1 ≤ |↑(rank α) - ↑(rank β)|
rwa [Int.cast_one, Int.cast_abs, Int.cast_sub, Int.cast_natCast, Int.cast_natCastι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βhneI:↑(rank α) - ↑(rank β) ≠ 0h1:1 ≤ |↑(rank α) - ↑(rank β)|this:1 ≤ |↑(rank α) - ↑(rank β)|⊢ 1 ≤ |↑(rank α) - ↑(rank β)| at this
have hpos : (0:ℝ) < active.card + 1 := ι:Type u_1active:Finset ι⊢ ∃ t gap, 0 < gap ∧ (∀ α ∈ active, 0 < t α ∧ t α < 1) ∧ ∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β| All goals completed! 🐙
ι:Type u_1active:Finset ιrank:ι → ℕhlt:∀ α ∈ active, rank α < active.cardhinj:∀ α ∈ active, ∀ β ∈ active, α ≠ β → rank α ≠ rank βα:ιhα:α ∈ activeβ:ιhβ:β ∈ activehαβ:α ≠ βhneI:↑(rank α) - ↑(rank β) ≠ 0h1:1 ≤ |↑(rank α) - ↑(rank β)|hdiff:1 ≤ |↑(rank α) - ↑(rank β)|hpos:0 < ↑active.card + 1⊢ 1 ≤ |↑(rank α) - ↑(rank β)|
All goals completed! 🐙
/-- **The cumulative-mass ("quantile") labelling family.** When there are more than `k`
active cover indices, a fine iterated barycentric refinement of any coarse subdivision admits
a quantile labelling family with the three properties required by `labellings_exist`. -/
theorem quantile_labellings_exist
{P : Set (Fin k → ℝ)} (hP : IsPolyhedron P)
{ι : Type*} (active : Finset ι) (isActive : ι → Prop)
(hactive : ∀ α, α ∈ active ↔ isActive α)
(hcard : ¬ active.card ≤ k) :
∃ (K : Subdivision P) (lbl : ι → (Fin k → ℝ) → (Fin k → ℝ)),
(∀ α, ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ α, isActive α → ∀ Q : Set (Fin k → ℝ), IsExtreme ℝ P Q →
∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
(∀ D ∈ K.complex.facets, ∃ A : Finset ι, A.card ≤ k ∧
∀ α, α ∉ A → ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q') := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ k⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
classical
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision P⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
have hPc : Convex ℝ P := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ k⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q' k:ℕι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kS:Finset (Fin k → ℝ)T₀:Subdivision ((convexHull ℝ) ↑S)⊢ Convex ℝ ((convexHull ℝ) ↑S); All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:P.Nonempty⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:P.Nonempty⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q' k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ P⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
obtain ⟨ε, hεpos, hCε⟩ : ∃ ε : ℝ, 0 < ε ∧ C * ε < gap :=
⟨gap / (C + 1), k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖⊢ 0 < gap / (C + 1) All goals completed! 🐙, k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖⊢ C * (gap / (C + 1)) < gap
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖⊢ C * gap < gap * (C + 1); All goals completed! 🐙⟩
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) ε⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
obtain ⟨cf, hcf⟩ : ∃ cf : (Fin k → ℝ) → Finset (Fin k → ℝ),
∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ convexHull ℝ (cf q : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) ε⊢ ∃ cf, ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)
have h : ∀ q ∈ P, ∃ σ ∈ T₀.complex.faces, q ∈ convexHull ℝ (σ : Set (Fin k → ℝ)) := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) ε⊢ ∃ cf, ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)
intro q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εq:Fin k → ℝhq:q ∈ P⊢ ∃ σ ∈ T₀.complex.faces, q ∈ (convexHull ℝ) ↑σ
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)⊢ ∃ cf, ∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
have hlblA : ∀ α ∈ active, ∀ q ∈ P,
lbl α q = quantileV (cf q) (fun u => Wf (cf q) u q) (t α) := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ k⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0α:ιhα:α ∈ active⊢ ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0α:ιhα:α ∈ activeq:Fin k → ℝ⊢ q ∈ P → lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0α:ιhα:α ∈ activeq:Fin k → ℝa✝:q ∈ P⊢ lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α); k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0α:ιhα:α ∈ activeq:Fin k → ℝa✝:q ∈ P⊢ (fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0) α q =
quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α); All goals completed! 🐙
have hlblI : ∀ α, α ∉ active → ∀ q q' : Fin k → ℝ, lbl α q = lbl α q' := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ k⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∉ active⊢ ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q' k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∉ activeq:Fin k → ℝ⊢ ∀ (q' : Fin k → ℝ), lbl α q = lbl α q' k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∉ activeq:Fin k → ℝq':Fin k → ℝ⊢ lbl α q = lbl α q'; k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)α:ιhα:α ∉ activeq:Fin k → ℝq':Fin k → ℝ⊢ (fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0) α q =
(fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0) α q'; All goals completed! 🐙
have hlblImem : ∀ α, α ∉ active → ∀ q : Fin k → ℝ, lbl α q ∈ P := k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ k⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q'
intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'α:ιhα:α ∉ active⊢ ∀ (q : Fin k → ℝ), lbl α q ∈ P k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'α:ιhα:α ∉ activeq:Fin k → ℝ⊢ lbl α q ∈ P; k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'α:ιhα:α ∉ activeq:Fin k → ℝ⊢ (fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0) α q ∈ P; k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'α:ιhα:α ∉ activeq:Fin k → ℝ⊢ p0 ∈ P; All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ P⊢ ∀ (α : ι),
isActive α →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q
intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive α⊢ ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)⊢ IsExtreme ℝ P Q → ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Q⊢ ∀ s ∈ (barySub^[r] T₀).complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)⊢ s ∈ (barySub^[r] T₀).complex.faces → ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.faces⊢ ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝ⊢ q ∈ s → q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ s⊢ q ∈ Q → lbl α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ Pp0:Fin k → ℝhp0:p0 ∈ Pt:ι → ℝgap:ℝhgap:0 < gaphtrange:∀ α ∈ active, 0 < t α ∧ t α < 1htsep:∀ α ∈ active, ∀ β ∈ active, α ≠ β → gap ≤ |t α - t β|C:ℝhC0:0 ≤ ChClip:∀ σ ∈ T₀.complex.faces,
∀ (v x y : Fin k → ℝ), |cumWeight σ (fun u => (Wf σ u) x) v - cumWeight σ (fun u => (Wf σ u) y) v| ≤ C * ‖x - y‖ε:ℝhεpos:0 < εhCε:C * ε < gapr:ℕhmesh:MeshLE (barySub^[r] T₀) εcf:(Fin k → ℝ) → Finset (Fin k → ℝ)hcf:∀ q ∈ P, cf q ∈ T₀.complex.faces ∧ q ∈ (convexHull ℝ) ↑(cf q)lbl:ι → (Fin k → ℝ) → Fin k → ℝ := fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlbl:lbl = fun α => if α ∈ active then fun q => quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α) else fun x => p0hlblA:∀ α ∈ active, ∀ q ∈ P, lbl α q = quantileV (cf q) (fun u => (Wf (cf q) u) q) (t α)hlblI:∀ α ∉ active, ∀ (q q' : Fin k → ℝ), lbl α q = lbl α q'hlblImem:∀ α ∉ active, ∀ (q : Fin k → ℝ), lbl α q ∈ Pα:ιhia:isActive αQ:Set (Fin k → ℝ)hQ:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ (barySub^[r] T₀).complex.facesq:Fin k → ℝhq:q ∈ shqQ:q ∈ Q⊢ lbl α q ∈ Q
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∃ K lbl,
(∀ (α : ι), ∀ s ∈ K.complex.faces, ∀ q ∈ s, lbl α q ∈ P) ∧
(∀ (α : ι),
isActive α → ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ K.complex.faces, ∀ q ∈ s, q ∈ Q → lbl α q ∈ Q) ∧
∀ D ∈ K.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, lbl α q = lbl α q' k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ (α : ι), ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, (fun x x_1 => 0) α q ∈ Pk:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ (α : ι),
isActive α →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Qk:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ D ∈ T₀.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, (fun x x_1 => 0) α q = (fun x x_1 => 0) α q'
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ (α : ι), ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, (fun x x_1 => 0) α q ∈ P intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)⊢ s ∈ T₀.complex.faces → ∀ q ∈ s, (fun x x_1 => 0) α q ∈ P k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.faces⊢ ∀ q ∈ s, (fun x x_1 => 0) α q ∈ P k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝ⊢ q ∈ s → (fun x x_1 => 0) α q ∈ P k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ s⊢ (fun x x_1 => 0) α q ∈ P
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ s⊢ False
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ P⊢ False
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ shqP:q ∈ ∅⊢ False
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ (α : ι),
isActive α →
∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q intro α k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝:isActive α⊢ ∀ (Q : Set (Fin k → ℝ)), IsExtreme ℝ P Q → ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝:isActive αQ:Set (Fin k → ℝ)⊢ IsExtreme ℝ P Q → ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝¹:isActive αQ:Set (Fin k → ℝ)a✝:IsExtreme ℝ P Q⊢ ∀ s ∈ T₀.complex.faces, ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝¹:isActive αQ:Set (Fin k → ℝ)a✝:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)⊢ s ∈ T₀.complex.faces → ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝¹:isActive αQ:Set (Fin k → ℝ)a✝:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.faces⊢ ∀ q ∈ s, q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝¹:isActive αQ:Set (Fin k → ℝ)a✝:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝ⊢ q ∈ s → q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝¹:isActive αQ:Set (Fin k → ℝ)a✝:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ s⊢ q ∈ Q → (fun x x_1 => 0) α q ∈ Q k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝²:isActive αQ:Set (Fin k → ℝ)a✝¹:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ sa✝:q ∈ Q⊢ (fun x x_1 => 0) α q ∈ Q
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝²:isActive αQ:Set (Fin k → ℝ)a✝¹:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ sa✝:q ∈ Q⊢ False
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝²:isActive αQ:Set (Fin k → ℝ)a✝¹:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ sa✝:q ∈ QhqP:q ∈ P⊢ False
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonemptyα:ιa✝²:isActive αQ:Set (Fin k → ℝ)a✝¹:IsExtreme ℝ P Qs:Finset (Fin k → ℝ)hs:s ∈ T₀.complex.facesq:Fin k → ℝhq:q ∈ sa✝:q ∈ QhqP:q ∈ ∅⊢ False
All goals completed! 🐙
k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.Nonempty⊢ ∀ D ∈ T₀.complex.facets, ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, (fun x x_1 => 0) α q = (fun x x_1 => 0) α q' intro D k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.NonemptyD:Finset (Fin k → ℝ)a✝:D ∈ T₀.complex.facets⊢ ∃ A, A.card ≤ k ∧ ∀ α ∉ A, ∀ q ∈ D, ∀ q' ∈ D, (fun x x_1 => 0) α q = (fun x x_1 => 0) α q'
exact ⟨∅, k:ℕP:Set (Fin k → ℝ)hP:IsPolyhedron Pι:Type u_1active:Finset ιisActive:ι → Prophactive:∀ (α : ι), α ∈ active ↔ isActive αhcard:¬active.card ≤ kT₀:Subdivision PhPc:Convex ℝ PhPne:¬P.NonemptyD:Finset (Fin k → ℝ)a✝:D ∈ T₀.complex.facets⊢ ∅.card ≤ k All goals completed! 🐙, fun α _ q _ q' _ => rfl⟩
end FamiliesOfMapsB01
end Submission
The theorem quantile_labellings_exist above packages exactly the admissible
family (L1)–(L3); fed through the affine realization of the
realization chapter, it yields Theorem 3.4.