Zulip Chat Archive
Stream: mathlib4
Topic: !4#3622 Analysis.Convex.Jensen
Jeremy Tan (Apr 24 2023 at 13:01):
I have the following universe error at L129:
invalid occurrence of universe level 'u_4' at 'ConvexOn.exists_ge_of_mem_convexHull', it does not occur at the declaration type, nor it is explicit universe level provided by the user, occurring at expression
Exists.casesOn.{u_4 + 2}
(Eq.mp.{0}
(Eq.ndrec.{0, u_2 + 1} (Eq.refl.{1} (Membership.mem.{u_2, u_2} x (↑(convexHull.{u_1, u_2} 𝕜).toOrderHom s)))
(_root_.convexHull_eq.{u_1, u_2, u_4} s))
hx)
fun α h =>
Exists.casesOn.{u_4 + 1} h fun t h =>
Exists.casesOn.{max (u_4 + 1) (u_1 + 1)} h fun w h =>
Exists.casesOn.{max (u_4 + 1) (u_2 + 1)} h fun p h =>
Exists.casesOn.{0} h fun hw₀ h =>
Exists.casesOn.{0} h fun hw₁ h =>
Exists.casesOn.{0} h fun hp h =>
Eq.ndrec.{0, u_2 + 1}
(Exists.casesOn.{u_4 + 1}
(exists_ge_of_centerMass.{u_4, u_3, u_2, u_1} hf hw₀
(Eq.rec.{0, u_1 + 1} zero_lt_one.{u_1} (Eq.symm.{u_1 + 1} hw₁)) fun i hi =>
subset_convexHull.{u_1, u_2} 𝕜 s (hp i hi))
fun i h => And.casesOn.{0} h fun hit Hi => Exists.intro.{u_2 + 1} (p i) (And.intro (hp i hit) Hi))
h
at declaration body
fun {𝕜 : Type u_1} {E : Type u_2} {β : Type u_3} [LinearOrderedField 𝕜] [AddCommGroup E] [LinearOrderedAddCommGroup β]
[Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
(hf : ConvexOn 𝕜 (↑(convexHull 𝕜).toOrderHom s) f) {x : E} (hx : x ∈ ↑(convexHull 𝕜).toOrderHom s) =>
Exists.casesOn (Eq.mp (_root_.convexHull_eq s ▸ Eq.refl (x ∈ ↑(convexHull 𝕜).toOrderHom s)) hx)
fun (α : Type u_4)
(h :
∃ (t : Finset α),
∃ (w : α → 𝕜),
∃ (z : α → E),
∃ (x_1 : ∀ (i : α), i ∈ t → 0 ≤ w i),
∃ (x_2 : (Finset.sum t fun (i : α) => w i) = 1),
∃ (x_3 : ∀ (i : α), i ∈ t → z i ∈ s), centerMass t w z = x) =>
Exists.casesOn h
fun (t : Finset α)
(h :
∃ (w : α → 𝕜),
∃ (z : α → E),
∃ (x_1 : ∀ (i : α), i ∈ t → 0 ≤ w i),
∃ (x_2 : (Finset.sum t fun (i : α) => w i) = 1),
∃ (x_3 : ∀ (i : α), i ∈ t → z i ∈ s), centerMass t w z = x) =>
Exists.casesOn h
fun (w : α → 𝕜)
(h :
∃ (z : α → E),
∃ (x_1 : ∀ (i : α), i ∈ t → 0 ≤ w i),
∃ (x_2 : (Finset.sum t fun (i : α) => w i) = 1),
∃ (x_3 : ∀ (i : α), i ∈ t → z i ∈ s), centerMass t w z = x) =>
Exists.casesOn h
fun (p : α → E)
(h :
∃ (x_1 : ∀ (i : α), i ∈ t → 0 ≤ w i),
∃ (x_2 : (Finset.sum t fun (i : α) => w i) = 1),
∃ (x_3 : ∀ (i : α), i ∈ t → p i ∈ s), centerMass t w p = x) =>
Exists.casesOn h
fun (hw₀ : ∀ (i : α), i ∈ t → 0 ≤ w i)
(h :
∃ (x_1 : (Finset.sum t fun (i : α) => w i) = 1),
∃ (x_2 : ∀ (i : α), i ∈ t → p i ∈ s), centerMass t w p = x) =>
Exists.casesOn h
fun (hw₁ : (Finset.sum t fun (i : α) => w i) = 1)
(h : ∃ (x_1 : ∀ (i : α), i ∈ t → p i ∈ s), centerMass t w p = x) =>
Exists.casesOn h fun (hp : ∀ (i : α), i ∈ t → p i ∈ s) (h : centerMass t w p = x) =>
h ▸
Exists.casesOn
(exists_ge_of_centerMass hf hw₀ (Eq.symm hw₁ ▸ zero_lt_one) fun (i : α) (hi : i ∈ t) =>
subset_convexHull 𝕜 s (hp i hi))
fun (i : α) (h : i ∈ t ∧ f (centerMass t (fun (i : α) => w i) fun (i : α) => p i) ≤ f (p i)) =>
And.casesOn h
fun (hit : i ∈ t) (Hi : f (centerMass t (fun (i : α) => w i) fun (i : α) => p i) ≤ f (p i)) =>
Exists.intro (p i) { left := hp i hit, right := Hi }
How do I fix it?
Jeremy Tan (Apr 24 2023 at 13:02):
The file doesn't have any explicit universe declarations at all, which to me feels weird
Moritz Doll (Apr 24 2023 at 13:10):
for convexHull_eq
you have to give an explicit universe level for the type in the existential quantifier, see my fix for Analysis.Convex.Combination
Jeremy Tan (Apr 24 2023 at 13:29):
Right, that worked
Last updated: Dec 20 2023 at 11:08 UTC