analysis.convex.star ⟷ Mathlib.Analysis.Convex.Star

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -137,7 +137,7 @@ theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x
 #print starConvex_iInter /-
 theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
-  sInter_range s β–Έ starConvex_sInter <| forall_range_iff.2 h
+  sInter_range s β–Έ starConvex_sInter <| forall_mem_range.2 h
 #align star_convex_Inter starConvex_iInter
 -/
 
@@ -205,10 +205,10 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
   refine' ⟨fun h y hy a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha := ha.eq_or_lt
-  Β· rw [zero_add] at hab 
+  Β· rw [zero_add] at hab
     rwa [hab, one_smul, zero_smul, zero_add]
   obtain rfl | hb := hb.eq_or_lt
-  Β· rw [add_zero] at hab 
+  Β· rw [add_zero] at hab
     rwa [hab, one_smul, zero_smul, add_zero]
   exact h hy ha hb hab
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
@@ -222,9 +222,9 @@ theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
   refine' ⟨fun h y hy _ a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha' := ha.eq_or_lt
-  Β· rw [zero_add] at hab ; rwa [hab, zero_smul, one_smul, zero_add]
+  Β· rw [zero_add] at hab; rwa [hab, zero_smul, one_smul, zero_add]
   obtain rfl | hb' := hb.eq_or_lt
-  Β· rw [add_zero] at hab ; rwa [hab, zero_smul, one_smul, add_zero]
+  Β· rw [add_zero] at hab; rwa [hab, zero_smul, one_smul, add_zero]
   obtain rfl | hxy := eq_or_ne x y
   Β· rwa [Convex.combo_self hab]
   exact h hy hxy ha' hb' hab
@@ -316,7 +316,7 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
   by
   intro y hy a b ha hb hab
   have h := hs hy ha hb hab
-  rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h 
+  rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h
 #align star_convex.preimage_add_right StarConvex.preimage_add_right
 -/
 
@@ -325,7 +325,7 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
 theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
     StarConvex π•œ x ((fun x => x + z) ⁻¹' s) :=
   by
-  rw [add_comm] at hs 
+  rw [add_comm] at hs
   simpa only [add_comm] using hs.preimage_add_right
 #align star_convex.preimage_add_left StarConvex.preimage_add_left
 -/
@@ -375,7 +375,7 @@ theorem StarConvex.affinity (hs : StarConvex π•œ x s) (z : E) (c : π•œ) :
     StarConvex π•œ (z + c β€’ x) ((fun x => z + c β€’ x) '' s) :=
   by
   have h := (hs.smul c).add_left z
-  rwa [← image_smul, image_image] at h 
+  rwa [← image_smul, image_image] at h
 #align star_convex.affinity StarConvex.affinity
 -/
 
@@ -493,14 +493,14 @@ theorem starConvex_iff_div :
   ⟨fun h y hy a b ha hb hab => by
     apply h hy
     Β· have ha' := mul_le_mul_of_nonneg_left ha (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha' 
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha'
     Β· have hb' := mul_le_mul_of_nonneg_left hb (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb' 
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb'
     Β· rw [← add_div]
       exact div_self hab.ne', fun h y hy a b ha hb hab =>
     by
     have h' := h hy ha hb
-    rw [hab, div_one, div_one] at h' 
+    rw [hab, div_one, div_one] at h'
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
 -/
Diff
@@ -536,16 +536,16 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
   · refine' hs.out hx hy (mem_Icc.2 ⟨_, _⟩)
     calc
       x = a β€’ x + b β€’ x := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := add_le_add_left (smul_le_smul_of_nonneg hxy hb) _
+      _ ≀ a β€’ x + b β€’ y := add_le_add_left (smul_le_smul_of_nonneg_left hxy hb) _
     calc
-      a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hxy ha) _
+      a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg_left hxy ha) _
       _ = y := Convex.combo_self hab _
   · refine' hs.out hy hx (mem_Icc.2 ⟨_, _⟩)
     calc
       y = a β€’ y + b β€’ y := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hyx ha) _
+      _ ≀ a β€’ x + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg_left hyx ha) _
     calc
-      a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg hyx hb) _
+      a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg_left hyx hb) _
       _ = x := Convex.combo_self hab _
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 -/
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
 -/
-import Mathbin.Analysis.Convex.Segment
+import Analysis.Convex.Segment
 
 #align_import analysis.convex.star from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
 
Diff
@@ -557,7 +557,7 @@ theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Se
 #align star_convex_iff_ord_connected starConvex_iff_ordConnected
 -/
 
-alias starConvex_iff_ordConnected ↔ StarConvex.ordConnected _
+alias ⟨StarConvex.ordConnected, _⟩ := starConvex_iff_ordConnected
 #align star_convex.ord_connected StarConvex.ordConnected
 
 end OrdConnected
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.convex.star
-! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Segment
 
+#align_import analysis.convex.star from "leanprover-community/mathlib"@"cb3ceec8485239a61ed51d944cb9a95b68c6bafc"
+
 /-!
 # Star-convex sets
 
Diff
@@ -78,6 +78,7 @@ def StarConvex : Prop :=
 
 variable {π•œ x s} {t : Set E}
 
+#print starConvex_iff_segment_subset /-
 theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ [x -[π•œ] y] βŠ† s :=
   by
   constructor
@@ -86,16 +87,22 @@ theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y 
   Β· rintro h y hy a b ha hb hab
     exact h hy ⟨a, b, ha, hb, hab, rfl⟩
 #align star_convex_iff_segment_subset starConvex_iff_segment_subset
+-/
 
+#print StarConvex.segment_subset /-
 theorem StarConvex.segment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) : [x -[π•œ] y] βŠ† s :=
   starConvex_iff_segment_subset.1 h hy
 #align star_convex.segment_subset StarConvex.segment_subset
+-/
 
+#print StarConvex.openSegment_subset /-
 theorem StarConvex.openSegment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) :
     openSegment π•œ x y βŠ† s :=
   (openSegment_subset_segment π•œ x y).trans (h.segment_subset hy)
 #align star_convex.open_segment_subset StarConvex.openSegment_subset
+-/
 
+#print starConvex_iff_pointwise_add_subset /-
 /-- Alternative definition of star-convexity, in terms of pointwise set operations. -/
 theorem starConvex_iff_pointwise_add_subset :
     StarConvex π•œ x s ↔ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ a β€’ {x} + b β€’ s βŠ† s :=
@@ -106,16 +113,23 @@ theorem starConvex_iff_pointwise_add_subset :
   rintro hA a b ha hb hab w ⟨au, bv, ⟨u, rfl : u = x, rfl⟩, ⟨v, hv, rfl⟩, rfl⟩
   exact hA hv ha hb hab
 #align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subset
+-/
 
+#print starConvex_empty /-
 theorem starConvex_empty (x : E) : StarConvex π•œ x βˆ… := fun y hy => hy.elim
 #align star_convex_empty starConvex_empty
+-/
 
+#print starConvex_univ /-
 theorem starConvex_univ (x : E) : StarConvex π•œ x univ := fun _ _ _ _ _ _ _ => trivial
 #align star_convex_univ starConvex_univ
+-/
 
+#print StarConvex.inter /-
 theorem StarConvex.inter (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s ∩ t) :=
   fun y hy a b ha hb hab => ⟨hs hy.left ha hb hab, ht hy.right ha hb hab⟩
 #align star_convex.inter StarConvex.inter
+-/
 
 #print starConvex_sInter /-
 theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
@@ -130,12 +144,14 @@ theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConve
 #align star_convex_Inter starConvex_iInter
 -/
 
+#print StarConvex.union /-
 theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s βˆͺ t) :=
   by
   rintro y (hy | hy) a b ha hb hab
   Β· exact Or.inl (hs hy ha hb hab)
   Β· exact Or.inr (ht hy ha hb hab)
 #align star_convex.union StarConvex.union
+-/
 
 #print starConvex_iUnion /-
 theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
@@ -156,15 +172,19 @@ theorem starConvex_sUnion {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print StarConvex.prod /-
 theorem StarConvex.prod {y : F} {s : Set E} {t : Set F} (hs : StarConvex π•œ x s)
     (ht : StarConvex π•œ y t) : StarConvex π•œ (x, y) (s Γ—Λ’ t) := fun y hy a b ha hb hab =>
   ⟨hs hy.1 ha hb hab, ht hy.2 ha hb hab⟩
 #align star_convex.prod StarConvex.prod
+-/
 
+#print starConvex_pi /-
 theorem starConvex_pi {ΞΉ : Type _} {E : ΞΉ β†’ Type _} [βˆ€ i, AddCommMonoid (E i)] [βˆ€ i, SMul π•œ (E i)]
     {x : βˆ€ i, E i} {s : Set ΞΉ} {t : βˆ€ i, Set (E i)} (ht : βˆ€ ⦃i⦄, i ∈ s β†’ StarConvex π•œ (x i) (t i)) :
     StarConvex π•œ x (s.pi t) := fun y hy a b ha hb hab i hi => ht hi (hy i hi) ha hb hab
 #align star_convex_pi starConvex_pi
+-/
 
 end SMul
 
@@ -172,13 +192,16 @@ section Module
 
 variable [Module π•œ E] [Module π•œ F] {x y z : E} {s : Set E}
 
+#print StarConvex.mem /-
 theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   by
   obtain ⟨y, hy⟩ := h
   convert hs hy zero_le_one le_rfl (add_zero 1)
   rw [one_smul, zero_smul, add_zero]
 #align star_convex.mem StarConvex.mem
+-/
 
+#print starConvex_iff_forall_pos /-
 theorem starConvex_iff_forall_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
   by
@@ -192,7 +215,9 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
     rwa [hab, one_smul, zero_smul, add_zero]
   exact h hy ha hb hab
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
+-/
 
+#print starConvex_iff_forall_ne_pos /-
 theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔
       βˆ€ ⦃y⦄, y ∈ s β†’ x β‰  y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
@@ -207,6 +232,7 @@ theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
   Β· rwa [Convex.combo_self hab]
   exact h hy hxy ha' hb' hab
 #align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_pos
+-/
 
 #print starConvex_iff_openSegment_subset /-
 theorem starConvex_iff_openSegment_subset (hx : x ∈ s) :
@@ -216,12 +242,15 @@ theorem starConvex_iff_openSegment_subset (hx : x ∈ s) :
 #align star_convex_iff_open_segment_subset starConvex_iff_openSegment_subset
 -/
 
+#print starConvex_singleton /-
 theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
   by
   rintro y (rfl : y = x) a b ha hb hab
   exact Convex.combo_self hab _
 #align star_convex_singleton starConvex_singleton
+-/
 
+#print StarConvex.linear_image /-
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
   by
@@ -229,29 +258,39 @@ theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F
   obtain ⟨y', hy', rfl⟩ := hy
   exact ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align star_convex.linear_image StarConvex.linear_image
+-/
 
+#print StarConvex.is_linear_image /-
 theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf : IsLinearMap π•œ f) :
     StarConvex π•œ (f x) (f '' s) :=
   hs.linear_image <| hf.mk' f
 #align star_convex.is_linear_image StarConvex.is_linear_image
+-/
 
+#print StarConvex.linear_preimage /-
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
   intro y hy a b ha hb hab
   rw [mem_preimage, f.map_add, f.map_smul, f.map_smul]
   exact hs hy ha hb hab
 #align star_convex.linear_preimage StarConvex.linear_preimage
+-/
 
+#print StarConvex.is_linear_preimage /-
 theorem StarConvex.is_linear_preimage {s : Set F} {f : E β†’ F} (hs : StarConvex π•œ (f x) s)
     (hf : IsLinearMap π•œ f) : StarConvex π•œ x (preimage f s) :=
   hs.linear_preimage <| hf.mk' f
 #align star_convex.is_linear_preimage StarConvex.is_linear_preimage
+-/
 
+#print StarConvex.add /-
 theorem StarConvex.add {t : Set E} (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x + y) (s + t) := by rw [← add_image_prod];
   exact (hs.prod ht).is_linear_image IsLinearMap.isLinearMap_add
 #align star_convex.add StarConvex.add
+-/
 
+#print StarConvex.add_left /-
 theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (z + x) ((fun x => z + x) '' s) :=
   by
@@ -260,7 +299,9 @@ theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
   refine' ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, _⟩
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_left StarConvex.add_left
+-/
 
+#print StarConvex.add_right /-
 theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (x + z) ((fun x => x + z) '' s) :=
   by
@@ -269,7 +310,9 @@ theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
   refine' ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, _⟩
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_right StarConvex.add_right
+-/
 
+#print StarConvex.preimage_add_right /-
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
     StarConvex π•œ x ((fun x => z + x) ⁻¹' s) :=
@@ -278,7 +321,9 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
   have h := hs hy ha hb hab
   rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h 
 #align star_convex.preimage_add_right StarConvex.preimage_add_right
+-/
 
+#print StarConvex.preimage_add_left /-
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
     StarConvex π•œ x ((fun x => x + z) ⁻¹' s) :=
@@ -286,6 +331,7 @@ theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
   rw [add_comm] at hs 
   simpa only [add_comm] using hs.preimage_add_right
 #align star_convex.preimage_add_left StarConvex.preimage_add_left
+-/
 
 end Module
 
@@ -295,10 +341,12 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x y : E}
 
+#print StarConvex.sub' /-
 theorem StarConvex.sub' {s : Set (E Γ— E)} (hs : StarConvex π•œ (x, y) s) :
     StarConvex π•œ (x - y) ((fun x : E Γ— E => x.1 - x.2) '' s) :=
   hs.is_linear_image IsLinearMap.isLinearMap_sub
 #align star_convex.sub' StarConvex.sub'
+-/
 
 end AddCommGroup
 
@@ -312,21 +360,27 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {x : E} {s : Set E}
 
+#print StarConvex.smul /-
 theorem StarConvex.smul (hs : StarConvex π•œ x s) (c : π•œ) : StarConvex π•œ (c β€’ x) (c β€’ s) :=
   hs.linear_image <| LinearMap.lsmul _ _ c
 #align star_convex.smul StarConvex.smul
+-/
 
+#print StarConvex.preimage_smul /-
 theorem StarConvex.preimage_smul {c : π•œ} (hs : StarConvex π•œ (c β€’ x) s) :
     StarConvex π•œ x ((fun z => c β€’ z) ⁻¹' s) :=
   hs.linear_preimage (LinearMap.lsmul _ _ c)
 #align star_convex.preimage_smul StarConvex.preimage_smul
+-/
 
+#print StarConvex.affinity /-
 theorem StarConvex.affinity (hs : StarConvex π•œ x s) (z : E) (c : π•œ) :
     StarConvex π•œ (z + c β€’ x) ((fun x => z + c β€’ x) '' s) :=
   by
   have h := (hs.smul c).add_left z
   rwa [← image_smul, image_image] at h 
 #align star_convex.affinity StarConvex.affinity
+-/
 
 end AddCommMonoid
 
@@ -340,6 +394,7 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 
+#print starConvex_zero_iff /-
 theorem starConvex_zero_iff :
     StarConvex π•œ 0 s ↔ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃a : π•œβ¦„, 0 ≀ a β†’ a ≀ 1 β†’ a β€’ x ∈ s :=
   by
@@ -351,6 +406,7 @@ theorem starConvex_zero_iff :
   Β· rw [smul_zero, zero_add]
     exact h hb (by rw [← hab]; exact le_add_of_nonneg_left ha)
 #align star_convex_zero_iff starConvex_zero_iff
+-/
 
 end AddCommMonoid
 
@@ -358,6 +414,7 @@ section AddCommGroup
 
 variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y : E} {s t : Set E}
 
+#print StarConvex.add_smul_mem /-
 theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ y ∈ s :=
   by
@@ -366,11 +423,15 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
   rw [h]
   exact hs hy (sub_nonneg_of_le ht₁) htβ‚€ (sub_add_cancel _ _)
 #align star_convex.add_smul_mem StarConvex.add_smul_mem
+-/
 
+#print StarConvex.smul_mem /-
 theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : t β€’ x ∈ s := by simpa using hs.add_smul_mem (by simpa using hx) htβ‚€ ht₁
 #align star_convex.smul_mem StarConvex.smul_mem
+-/
 
+#print StarConvex.add_smul_sub_mem /-
 theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ (y - x) ∈ s :=
   by
@@ -378,7 +439,9 @@ theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t
   rw [segment_eq_image']
   exact mem_image_of_mem _ ⟨htβ‚€, htβ‚βŸ©
 #align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_mem
+-/
 
+#print StarConvex.affine_preimage /-
 /-- The preimage of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (f ⁻¹' s) := by
@@ -386,7 +449,9 @@ theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : Star
   rw [mem_preimage, Convex.combo_affine_apply hab]
   exact hs hy ha hb hab
 #align star_convex.affine_preimage StarConvex.affine_preimage
+-/
 
+#print StarConvex.affine_image /-
 /-- The image of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarConvex π•œ x s) :
     StarConvex π•œ (f x) (f '' s) :=
@@ -395,14 +460,19 @@ theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarCon
   refine' ⟨a β€’ x + b β€’ y', ⟨hs hy' ha hb hab, _⟩⟩
   rw [Convex.combo_affine_apply hab, hy'f]
 #align star_convex.affine_image StarConvex.affine_image
+-/
 
+#print StarConvex.neg /-
 theorem StarConvex.neg (hs : StarConvex π•œ x s) : StarConvex π•œ (-x) (-s) := by rw [← image_neg];
   exact hs.is_linear_image IsLinearMap.isLinearMap_neg
 #align star_convex.neg StarConvex.neg
+-/
 
+#print StarConvex.sub /-
 theorem StarConvex.sub (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x - y) (s - t) := by simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
 #align star_convex.sub StarConvex.sub
+-/
 
 end AddCommGroup
 
@@ -416,6 +486,7 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
+#print starConvex_iff_div /-
 /-- Alternative definition of star-convexity, using division. -/
 theorem starConvex_iff_div :
     StarConvex π•œ x s ↔
@@ -435,12 +506,15 @@ theorem starConvex_iff_div :
     rw [hab, div_one, div_one] at h' 
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
+-/
 
+#print StarConvex.mem_smul /-
 theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) : x ∈ t β€’ s :=
   by
   rw [mem_smul_set_iff_inv_smul_memβ‚€ (zero_lt_one.trans_le ht).ne']
   exact hs.smul_mem hx (inv_nonneg.2 <| zero_le_one.trans ht) (inv_le_one ht)
 #align star_convex.mem_smul StarConvex.mem_smul
+-/
 
 end AddCommGroup
 
@@ -455,6 +529,7 @@ Relates `star_convex` and `set.ord_connected`.
 
 section OrdConnected
 
+#print Set.OrdConnected.starConvex /-
 theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid E] [Module π•œ E]
     [OrderedSMul π•œ E] {x : E} {s : Set E} (hs : s.OrdConnected) (hx : x ∈ s)
     (h : βˆ€ y ∈ s, x ≀ y ∨ y ≀ x) : StarConvex π•œ x s :=
@@ -476,11 +551,14 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
       a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg hyx hb) _
       _ = x := Convex.combo_self hab _
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
+-/
 
+#print starConvex_iff_ordConnected /-
 theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Set π•œ} (hx : x ∈ s) :
     StarConvex π•œ x s ↔ s.OrdConnected := by
   simp_rw [ord_connected_iff_uIcc_subset_left hx, starConvex_iff_segment_subset, segment_eq_uIcc]
 #align star_convex_iff_ord_connected starConvex_iff_ordConnected
+-/
 
 alias starConvex_iff_ordConnected ↔ StarConvex.ordConnected _
 #align star_convex.ord_connected StarConvex.ordConnected
Diff
@@ -465,20 +465,16 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
     calc
       x = a β€’ x + b β€’ x := (Convex.combo_self hab _).symm
       _ ≀ a β€’ x + b β€’ y := add_le_add_left (smul_le_smul_of_nonneg hxy hb) _
-      
     calc
       a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hxy ha) _
       _ = y := Convex.combo_self hab _
-      
   · refine' hs.out hy hx (mem_Icc.2 ⟨_, _⟩)
     calc
       y = a β€’ y + b β€’ y := (Convex.combo_self hab _).symm
       _ ≀ a β€’ x + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hyx ha) _
-      
     calc
       a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg hyx hb) _
       _ = x := Convex.combo_self hab _
-      
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 
 theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Set π•œ} (hx : x ∈ s) :
Diff
@@ -141,7 +141,7 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
 theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
-  rw [mem_Union] at hy⊒
+  rw [mem_Union] at hy ⊒
   obtain ⟨i, hy⟩ := hy
   exact ⟨i, hs i hy ha hb hab⟩
 #align star_convex_Union starConvex_iUnion
@@ -185,10 +185,10 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
   refine' ⟨fun h y hy a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha := ha.eq_or_lt
-  Β· rw [zero_add] at hab
+  Β· rw [zero_add] at hab 
     rwa [hab, one_smul, zero_smul, zero_add]
   obtain rfl | hb := hb.eq_or_lt
-  Β· rw [add_zero] at hab
+  Β· rw [add_zero] at hab 
     rwa [hab, one_smul, zero_smul, add_zero]
   exact h hy ha hb hab
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
@@ -200,9 +200,9 @@ theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
   refine' ⟨fun h y hy _ a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha' := ha.eq_or_lt
-  Β· rw [zero_add] at hab; rwa [hab, zero_smul, one_smul, zero_add]
+  Β· rw [zero_add] at hab ; rwa [hab, zero_smul, one_smul, zero_add]
   obtain rfl | hb' := hb.eq_or_lt
-  Β· rw [add_zero] at hab; rwa [hab, zero_smul, one_smul, add_zero]
+  Β· rw [add_zero] at hab ; rwa [hab, zero_smul, one_smul, add_zero]
   obtain rfl | hxy := eq_or_ne x y
   Β· rwa [Convex.combo_self hab]
   exact h hy hxy ha' hb' hab
@@ -276,14 +276,14 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
   by
   intro y hy a b ha hb hab
   have h := hs hy ha hb hab
-  rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h
+  rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h 
 #align star_convex.preimage_add_right StarConvex.preimage_add_right
 
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
     StarConvex π•œ x ((fun x => x + z) ⁻¹' s) :=
   by
-  rw [add_comm] at hs
+  rw [add_comm] at hs 
   simpa only [add_comm] using hs.preimage_add_right
 #align star_convex.preimage_add_left StarConvex.preimage_add_left
 
@@ -325,7 +325,7 @@ theorem StarConvex.affinity (hs : StarConvex π•œ x s) (z : E) (c : π•œ) :
     StarConvex π•œ (z + c β€’ x) ((fun x => z + c β€’ x) '' s) :=
   by
   have h := (hs.smul c).add_left z
-  rwa [← image_smul, image_image] at h
+  rwa [← image_smul, image_image] at h 
 #align star_convex.affinity StarConvex.affinity
 
 end AddCommMonoid
@@ -425,14 +425,14 @@ theorem starConvex_iff_div :
   ⟨fun h y hy a b ha hb hab => by
     apply h hy
     Β· have ha' := mul_le_mul_of_nonneg_left ha (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha'
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha' 
     Β· have hb' := mul_le_mul_of_nonneg_left hb (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb'
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb' 
     Β· rw [← add_div]
       exact div_self hab.ne', fun h y hy a b ha hb hab =>
     by
     have h' := h hy ha hb
-    rw [hab, div_one, div_one] at h'
+    rw [hab, div_one, div_one] at h' 
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
 
Diff
@@ -52,7 +52,7 @@ A nonempty open star-convex set in `ℝ^n` is diffeomorphic to the entire space.
 
 open Set
 
-open Convex Pointwise
+open scoped Convex Pointwise
 
 variable {π•œ E F : Type _}
 
Diff
@@ -78,12 +78,6 @@ def StarConvex : Prop :=
 
 variable {π•œ x s} {t : Set E}
 
-/- warning: star_convex_iff_segment_subset -> starConvex_iff_segment_subset is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (segment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{y : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (segment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_segment_subset starConvex_iff_segment_subsetβ‚“'. -/
 theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ [x -[π•œ] y] βŠ† s :=
   by
   constructor
@@ -93,33 +87,15 @@ theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y 
     exact h hy ⟨a, b, ha, hb, hab, rfl⟩
 #align star_convex_iff_segment_subset starConvex_iff_segment_subset
 
-/- warning: star_convex.segment_subset -> StarConvex.segment_subset is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (segment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (segment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.segment_subset StarConvex.segment_subsetβ‚“'. -/
 theorem StarConvex.segment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) : [x -[π•œ] y] βŠ† s :=
   starConvex_iff_segment_subset.1 h hy
 #align star_convex.segment_subset StarConvex.segment_subset
 
-/- warning: star_convex.open_segment_subset -> StarConvex.openSegment_subset is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.open_segment_subset StarConvex.openSegment_subsetβ‚“'. -/
 theorem StarConvex.openSegment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) :
     openSegment π•œ x y βŠ† s :=
   (openSegment_subset_segment π•œ x y).trans (h.segment_subset hy)
 #align star_convex.open_segment_subset StarConvex.openSegment_subset
 
-/- warning: star_convex_iff_pointwise_add_subset -> starConvex_iff_pointwise_add_subset is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) a (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) b s)) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) b) -> (Eq.{succ u2} π•œ (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHAdd.{u1} (Set.{u1} E) (Set.add.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))))) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) a (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x)) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) b s)) s))
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subsetβ‚“'. -/
 /-- Alternative definition of star-convexity, in terms of pointwise set operations. -/
 theorem starConvex_iff_pointwise_add_subset :
     StarConvex π•œ x s ↔ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ a β€’ {x} + b β€’ s βŠ† s :=
@@ -131,30 +107,12 @@ theorem starConvex_iff_pointwise_add_subset :
   exact hA hv ha hb hab
 #align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subset
 
-/- warning: star_convex_empty -> starConvex_empty is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
-Case conversion may be inaccurate. Consider using '#align star_convex_empty starConvex_emptyβ‚“'. -/
 theorem starConvex_empty (x : E) : StarConvex π•œ x βˆ… := fun y hy => hy.elim
 #align star_convex_empty starConvex_empty
 
-/- warning: star_convex_univ -> starConvex_univ is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Set.univ.{u2} E)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Set.univ.{u1} E)
-Case conversion may be inaccurate. Consider using '#align star_convex_univ starConvex_univβ‚“'. -/
 theorem starConvex_univ (x : E) : StarConvex π•œ x univ := fun _ _ _ _ _ _ _ => trivial
 #align star_convex_univ starConvex_univ
 
-/- warning: star_convex.inter -> StarConvex.inter is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t))
-Case conversion may be inaccurate. Consider using '#align star_convex.inter StarConvex.interβ‚“'. -/
 theorem StarConvex.inter (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s ∩ t) :=
   fun y hy a b ha hb hab => ⟨hs hy.left ha hb hab, ht hy.right ha hb hab⟩
 #align star_convex.inter StarConvex.inter
@@ -172,12 +130,6 @@ theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConve
 #align star_convex_Inter starConvex_iInter
 -/
 
-/- warning: star_convex.union -> StarConvex.union is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) s t))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) s t))
-Case conversion may be inaccurate. Consider using '#align star_convex.union StarConvex.unionβ‚“'. -/
 theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s βˆͺ t) :=
   by
   rintro y (hy | hy) a b ha hb hab
@@ -203,24 +155,12 @@ theorem starConvex_sUnion {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x
 #align star_convex_sUnion starConvex_sUnion
 -/
 
-/- warning: star_convex.prod -> StarConvex.prod is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : SMul.{u1, u2} π•œ E] [_inst_5 : SMul.{u1, u3} π•œ F] {x : E} {y : F} {s : Set.{u2} E} {t : Set.{u3} F}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 _inst_5 y t) -> (StarConvex.{u1, max u2 u3} π•œ (Prod.{u2, u3} E F) _inst_1 (Prod.addCommMonoid.{u2, u3} E F _inst_2 _inst_3) (Prod.smul.{u1, u2, u3} π•œ E F _inst_4 _inst_5) (Prod.mk.{u2, u3} E F x y) (Set.prod.{u2, u3} E F s t))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : AddCommMonoid.{u2} F] [_inst_4 : SMul.{u1, u3} π•œ E] [_inst_5 : SMul.{u1, u2} π•œ F] {x : E} {y : F} {s : Set.{u3} E} {t : Set.{u2} F}, (StarConvex.{u1, u3} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ F _inst_1 _inst_3 _inst_5 y t) -> (StarConvex.{u1, max u2 u3} π•œ (Prod.{u3, u2} E F) _inst_1 (Prod.instAddCommMonoidSum.{u3, u2} E F _inst_2 _inst_3) (Prod.smul.{u1, u3, u2} π•œ E F _inst_4 _inst_5) (Prod.mk.{u3, u2} E F x y) (Set.prod.{u3, u2} E F s t))
-Case conversion may be inaccurate. Consider using '#align star_convex.prod StarConvex.prodβ‚“'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem StarConvex.prod {y : F} {s : Set E} {t : Set F} (hs : StarConvex π•œ x s)
     (ht : StarConvex π•œ y t) : StarConvex π•œ (x, y) (s Γ—Λ’ t) := fun y hy a b ha hb hab =>
   ⟨hs hy.1 ha hb hab, ht hy.2 ha hb hab⟩
 #align star_convex.prod StarConvex.prod
 
-/- warning: star_convex_pi -> starConvex_pi is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} [_inst_1 : OrderedSemiring.{u1} π•œ] {ΞΉ : Type.{u2}} {E : ΞΉ -> Type.{u3}} [_inst_6 : forall (i : ΞΉ), AddCommMonoid.{u3} (E i)] [_inst_7 : forall (i : ΞΉ), SMul.{u1, u3} π•œ (E i)] {x : forall (i : ΞΉ), E i} {s : Set.{u2} ΞΉ} {t : forall (i : ΞΉ), Set.{u3} (E i)}, (forall {{i : ΞΉ}}, (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i s) -> (StarConvex.{u1, u3} π•œ (E i) _inst_1 (_inst_6 i) (_inst_7 i) (x i) (t i))) -> (StarConvex.{u1, max u2 u3} π•œ (forall (i : ΞΉ), E i) _inst_1 (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_6 i)) (Pi.instSMul.{u2, u3, u1} ΞΉ π•œ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_7 i)) x (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) s t))
-but is expected to have type
-  forall {π•œ : Type.{u1}} [_inst_1 : OrderedSemiring.{u1} π•œ] {ΞΉ : Type.{u3}} {E : ΞΉ -> Type.{u2}} [_inst_6 : forall (i : ΞΉ), AddCommMonoid.{u2} (E i)] [_inst_7 : forall (i : ΞΉ), SMul.{u1, u2} π•œ (E i)] {x : forall (i : ΞΉ), E i} {s : Set.{u3} ΞΉ} {t : forall (i : ΞΉ), Set.{u2} (E i)}, (forall {{i : ΞΉ}}, (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i s) -> (StarConvex.{u1, u2} π•œ (E i) _inst_1 (_inst_6 i) (_inst_7 i) (x i) (t i))) -> (StarConvex.{u1, max u3 u2} π•œ (forall (i : ΞΉ), E i) _inst_1 (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_6 i)) (Pi.instSMul.{u3, u2, u1} ΞΉ π•œ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_7 i)) x (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) s t))
-Case conversion may be inaccurate. Consider using '#align star_convex_pi starConvex_piβ‚“'. -/
 theorem starConvex_pi {ΞΉ : Type _} {E : ΞΉ β†’ Type _} [βˆ€ i, AddCommMonoid (E i)] [βˆ€ i, SMul π•œ (E i)]
     {x : βˆ€ i, E i} {s : Set ΞΉ} {t : βˆ€ i, Set (E i)} (ht : βˆ€ ⦃i⦄, i ∈ s β†’ StarConvex π•œ (x i) (t i)) :
     StarConvex π•œ x (s.pi t) := fun y hy a b ha hb hab i hi => ht hi (hy i hi) ha hb hab
@@ -232,12 +172,6 @@ section Module
 
 variable [Module π•œ E] [Module π•œ F] {x y z : E} {s : Set E}
 
-/- warning: star_convex.mem -> StarConvex.mem is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (Set.Nonempty.{u2} E s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (Set.Nonempty.{u1} E s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s)
-Case conversion may be inaccurate. Consider using '#align star_convex.mem StarConvex.memβ‚“'. -/
 theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   by
   obtain ⟨y, hy⟩ := h
@@ -245,9 +179,6 @@ theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   rw [one_smul, zero_smul, add_zero]
 #align star_convex.mem StarConvex.mem
 
-/- warning: star_convex_iff_forall_pos -> starConvex_iff_forall_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_pos starConvex_iff_forall_posβ‚“'. -/
 theorem starConvex_iff_forall_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
   by
@@ -262,9 +193,6 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
   exact h hy ha hb hab
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
 
-/- warning: star_convex_iff_forall_ne_pos -> starConvex_iff_forall_ne_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_posβ‚“'. -/
 theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔
       βˆ€ ⦃y⦄, y ∈ s β†’ x β‰  y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
@@ -288,21 +216,12 @@ theorem starConvex_iff_openSegment_subset (hx : x ∈ s) :
 #align star_convex_iff_open_segment_subset starConvex_iff_openSegment_subset
 -/
 
-/- warning: star_convex_singleton -> starConvex_singleton is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x)
-Case conversion may be inaccurate. Consider using '#align star_convex_singleton starConvex_singletonβ‚“'. -/
 theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
   by
   rintro y (rfl : y = x) a b ha hb hab
   exact Convex.combo_self hab _
 #align star_convex_singleton starConvex_singleton
 
-/- warning: star_convex.linear_image -> StarConvex.linear_image is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex.linear_image StarConvex.linear_imageβ‚“'. -/
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
   by
@@ -311,20 +230,11 @@ theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F
   exact ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align star_convex.linear_image StarConvex.linear_image
 
-/- warning: star_convex.is_linear_image -> StarConvex.is_linear_image is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (f x) (Set.image.{u2, u3} E F f s)))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall {f : E -> F}, (IsLinearMap.{u3, u2, u1} π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u3, u1} π•œ F _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ F (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ F (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ F (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (f x) (Set.image.{u2, u1} E F f s)))
-Case conversion may be inaccurate. Consider using '#align star_convex.is_linear_image StarConvex.is_linear_imageβ‚“'. -/
 theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf : IsLinearMap π•œ f) :
     StarConvex π•œ (f x) (f '' s) :=
   hs.linear_image <| hf.mk' f
 #align star_convex.is_linear_image StarConvex.is_linear_image
 
-/- warning: star_convex.linear_preimage -> StarConvex.linear_preimage is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex.linear_preimage StarConvex.linear_preimageβ‚“'. -/
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
   intro y hy a b ha hb hab
@@ -332,34 +242,16 @@ theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : Star
   exact hs hy ha hb hab
 #align star_convex.linear_preimage StarConvex.linear_preimage
 
-/- warning: star_convex.is_linear_preimage -> StarConvex.is_linear_preimage is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} {f : E -> F}, (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (f x) s) -> (IsLinearMap.{u1, u2, u3} π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F f s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} {f : E -> F}, (StarConvex.{u2, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ F (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ F (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (f x) s) -> (IsLinearMap.{u2, u1, u3} π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F f s))
-Case conversion may be inaccurate. Consider using '#align star_convex.is_linear_preimage StarConvex.is_linear_preimageβ‚“'. -/
 theorem StarConvex.is_linear_preimage {s : Set F} {f : E β†’ F} (hs : StarConvex π•œ (f x) s)
     (hf : IsLinearMap π•œ f) : StarConvex π•œ x (preimage f s) :=
   hs.linear_preimage <| hf.mk' f
 #align star_convex.is_linear_preimage StarConvex.is_linear_preimage
 
-/- warning: star_convex.add -> StarConvex.add is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x y) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) s t))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x y) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) s t))
-Case conversion may be inaccurate. Consider using '#align star_convex.add StarConvex.addβ‚“'. -/
 theorem StarConvex.add {t : Set E} (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x + y) (s + t) := by rw [← add_image_prod];
   exact (hs.prod ht).is_linear_image IsLinearMap.isLinearMap_add
 #align star_convex.add StarConvex.add
 
-/- warning: star_convex.add_left -> StarConvex.add_left is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.add_left StarConvex.add_leftβ‚“'. -/
 theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (z + x) ((fun x => z + x) '' s) :=
   by
@@ -369,12 +261,6 @@ theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_left StarConvex.add_left
 
-/- warning: star_convex.add_right -> StarConvex.add_right is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.add_right StarConvex.add_rightβ‚“'. -/
 theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (x + z) ((fun x => x + z) '' s) :=
   by
@@ -384,12 +270,6 @@ theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_right StarConvex.add_right
 
-/- warning: star_convex.preimage_add_right -> StarConvex.preimage_add_right is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.preimage_add_right StarConvex.preimage_add_rightβ‚“'. -/
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
     StarConvex π•œ x ((fun x => z + x) ⁻¹' s) :=
@@ -399,12 +279,6 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
   rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h
 #align star_convex.preimage_add_right StarConvex.preimage_add_right
 
-/- warning: star_convex.preimage_add_left -> StarConvex.preimage_add_left is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.preimage_add_left StarConvex.preimage_add_leftβ‚“'. -/
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
     StarConvex π•œ x ((fun x => x + z) ⁻¹' s) :=
@@ -421,12 +295,6 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x y : E}
 
-/- warning: star_convex.sub' -> StarConvex.sub' is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} (Prod.{u2, u2} E E)}, (StarConvex.{u1, u2} π•œ (Prod.{u2, u2} E E) _inst_1 (Prod.addCommMonoid.{u2, u2} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)) (Prod.smul.{u1, u2, u2} π•œ E E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (Prod.mk.{u2, u2} E E x y) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (Set.image.{u2, u2} (Prod.{u2, u2} E E) E (fun (x : Prod.{u2, u2} E E) => HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) (Prod.fst.{u2, u2} E E x) (Prod.snd.{u2, u2} E E x)) s))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} (Prod.{u2, u2} E E)}, (StarConvex.{u1, u2} π•œ (Prod.{u2, u2} E E) _inst_1 (Prod.instAddCommMonoidSum.{u2, u2} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)) (Prod.smul.{u1, u2, u2} π•œ E E (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (Prod.mk.{u2, u2} E E x y) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (Set.image.{u2, u2} (Prod.{u2, u2} E E) E (fun (x : Prod.{u2, u2} E E) => HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) (Prod.fst.{u2, u2} E E x) (Prod.snd.{u2, u2} E E x)) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.sub' StarConvex.sub'β‚“'. -/
 theorem StarConvex.sub' {s : Set (E Γ— E)} (hs : StarConvex π•œ (x, y) s) :
     StarConvex π•œ (x - y) ((fun x : E Γ— E => x.1 - x.2) '' s) :=
   hs.is_linear_image IsLinearMap.isLinearMap_sub
@@ -444,33 +312,15 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {x : E} {s : Set E}
 
-/- warning: star_convex.smul -> StarConvex.smul is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (c : π•œ), StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4))))) c s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (c : π•œ), StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))))) c s))
-Case conversion may be inaccurate. Consider using '#align star_convex.smul StarConvex.smulβ‚“'. -/
 theorem StarConvex.smul (hs : StarConvex π•œ x s) (c : π•œ) : StarConvex π•œ (c β€’ x) (c β€’ s) :=
   hs.linear_image <| LinearMap.lsmul _ _ c
 #align star_convex.smul StarConvex.smul
 
-/- warning: star_convex.preimage_smul -> StarConvex.preimage_smul is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E} {c : π•œ}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x) s) -> (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (z : E) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c z) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E} {c : π•œ}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x) s) -> (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (z : E) => HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c z) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.preimage_smul StarConvex.preimage_smulβ‚“'. -/
 theorem StarConvex.preimage_smul {c : π•œ} (hs : StarConvex π•œ (c β€’ x) s) :
     StarConvex π•œ x ((fun z => c β€’ z) ⁻¹' s) :=
   hs.linear_preimage (LinearMap.lsmul _ _ c)
 #align star_convex.preimage_smul StarConvex.preimage_smul
 
-/- warning: star_convex.affinity -> StarConvex.affinity is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (z : E) (c : π•œ), StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x)) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x)) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (z : E) (c : π•œ), StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x)) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x)) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.affinity StarConvex.affinityβ‚“'. -/
 theorem StarConvex.affinity (hs : StarConvex π•œ x s) (z : E) (c : π•œ) :
     StarConvex π•œ (z + c β€’ x) ((fun x => z + c β€’ x) '' s) :=
   by
@@ -490,12 +340,6 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 
-/- warning: star_convex_zero_iff -> starConvex_zero_iff is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
-Case conversion may be inaccurate. Consider using '#align star_convex_zero_iff starConvex_zero_iffβ‚“'. -/
 theorem starConvex_zero_iff :
     StarConvex π•œ 0 s ↔ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃a : π•œβ¦„, 0 ≀ a β†’ a ≀ 1 β†’ a β€’ x ∈ s :=
   by
@@ -514,12 +358,6 @@ section AddCommGroup
 
 variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y : E} {s t : Set E}
 
-/- warning: star_convex.add_smul_mem -> StarConvex.add_smul_mem is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_mem StarConvex.add_smul_memβ‚“'. -/
 theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ y ∈ s :=
   by
@@ -529,22 +367,10 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
   exact hs hy (sub_nonneg_of_le ht₁) htβ‚€ (sub_add_cancel _ _)
 #align star_convex.add_smul_mem StarConvex.add_smul_mem
 
-/- warning: star_convex.smul_mem -> StarConvex.smul_mem is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.smul_mem StarConvex.smul_memβ‚“'. -/
 theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : t β€’ x ∈ s := by simpa using hs.add_smul_mem (by simpa using hx) htβ‚€ ht₁
 #align star_convex.smul_mem StarConvex.smul_mem
 
-/- warning: star_convex.add_smul_sub_mem -> StarConvex.add_smul_sub_mem is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_memβ‚“'. -/
 theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ (y - x) ∈ s :=
   by
@@ -553,9 +379,6 @@ theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t
   exact mem_image_of_mem _ ⟨htβ‚€, htβ‚βŸ©
 #align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_mem
 
-/- warning: star_convex.affine_preimage -> StarConvex.affine_preimage is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex.affine_preimage StarConvex.affine_preimageβ‚“'. -/
 /-- The preimage of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (f ⁻¹' s) := by
@@ -564,9 +387,6 @@ theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : Star
   exact hs hy ha hb hab
 #align star_convex.affine_preimage StarConvex.affine_preimage
 
-/- warning: star_convex.affine_image -> StarConvex.affine_image is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex.affine_image StarConvex.affine_imageβ‚“'. -/
 /-- The image of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarConvex π•œ x s) :
     StarConvex π•œ (f x) (f '' s) :=
@@ -576,22 +396,10 @@ theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarCon
   rw [Convex.combo_affine_apply hab, hy'f]
 #align star_convex.affine_image StarConvex.affine_image
 
-/- warning: star_convex.neg -> StarConvex.neg is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (Neg.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))) x) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) x) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s))
-Case conversion may be inaccurate. Consider using '#align star_convex.neg StarConvex.negβ‚“'. -/
 theorem StarConvex.neg (hs : StarConvex π•œ x s) : StarConvex π•œ (-x) (-s) := by rw [← image_neg];
   exact hs.is_linear_image IsLinearMap.isLinearMap_neg
 #align star_convex.neg StarConvex.neg
 
-/- warning: star_convex.sub -> StarConvex.sub is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) s t))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) y t) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) x y) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
-Case conversion may be inaccurate. Consider using '#align star_convex.sub StarConvex.subβ‚“'. -/
 theorem StarConvex.sub (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x - y) (s - t) := by simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
 #align star_convex.sub StarConvex.sub
@@ -608,9 +416,6 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
-/- warning: star_convex_iff_div -> starConvex_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_div starConvex_iff_divβ‚“'. -/
 /-- Alternative definition of star-convexity, using division. -/
 theorem starConvex_iff_div :
     StarConvex π•œ x s ↔
@@ -631,12 +436,6 @@ theorem starConvex_iff_div :
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
 
-/- warning: star_convex.mem_smul -> StarConvex.mem_smul is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
-Case conversion may be inaccurate. Consider using '#align star_convex.mem_smul StarConvex.mem_smulβ‚“'. -/
 theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) : x ∈ t β€’ s :=
   by
   rw [mem_smul_set_iff_inv_smul_memβ‚€ (zero_lt_one.trans_le ht).ne']
@@ -656,12 +455,6 @@ Relates `star_convex` and `set.ord_connected`.
 
 section OrdConnected
 
-/- warning: set.ord_connected.star_convex -> Set.OrdConnected.starConvex is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : OrderedAddCommMonoid.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : OrderedSMul.{u1, u2} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3))] {x : E} {s : Set.{u2} E}, (Set.OrdConnected.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2)) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall (y : E), (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Or (LE.le.{u2} E (Preorder.toHasLe.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) x y) (LE.le.{u2} E (Preorder.toHasLe.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) y x))) -> (StarConvex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : OrderedAddCommMonoid.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2)] [_inst_4 : OrderedSMul.{u2, u1} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3))] {x : E} {s : Set.{u1} E}, (Set.OrdConnected.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2)) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall (y : E), (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Or (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) x y) (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) y x))) -> (StarConvex.{u2, u1} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s)
-Case conversion may be inaccurate. Consider using '#align set.ord_connected.star_convex Set.OrdConnected.starConvexβ‚“'. -/
 theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid E] [Module π•œ E]
     [OrderedSMul π•œ E] {x : E} {s : Set E} (hs : s.OrdConnected) (hx : x ∈ s)
     (h : βˆ€ y ∈ s, x ≀ y ∨ y ≀ x) : StarConvex π•œ x s :=
@@ -688,23 +481,11 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
       
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 
-/- warning: star_convex_iff_ord_connected -> starConvex_iff_ordConnected is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.Mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.hasMem.{u1} π•œ) x s) -> (Iff (StarConvex.{u1, u1} π•œ π•œ (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toAddCommGroup.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) x s) (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) s))
-but is expected to have type
-  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.instMembershipSet.{u1} π•œ) x s) -> (Iff (StarConvex.{u1, u1} π•œ π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Algebra.toSMul.{u1, u1} π•œ π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))) (DivisionSemiring.toSemiring.{u1} π•œ (Semifield.toDivisionSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))) (Algebra.id.{u1} π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) x s) (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) s))
-Case conversion may be inaccurate. Consider using '#align star_convex_iff_ord_connected starConvex_iff_ordConnectedβ‚“'. -/
 theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Set π•œ} (hx : x ∈ s) :
     StarConvex π•œ x s ↔ s.OrdConnected := by
   simp_rw [ord_connected_iff_uIcc_subset_left hx, starConvex_iff_segment_subset, segment_eq_uIcc]
 #align star_convex_iff_ord_connected starConvex_iff_ordConnected
 
-/- warning: star_convex.ord_connected -> StarConvex.ordConnected is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.Mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.hasMem.{u1} π•œ) x s) -> (StarConvex.{u1, u1} π•œ π•œ (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toAddCommGroup.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) x s) -> (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) s)
-but is expected to have type
-  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.instMembershipSet.{u1} π•œ) x s) -> (StarConvex.{u1, u1} π•œ π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Algebra.toSMul.{u1, u1} π•œ π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))) (DivisionSemiring.toSemiring.{u1} π•œ (Semifield.toDivisionSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))) (Algebra.id.{u1} π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) x s) -> (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) s)
-Case conversion may be inaccurate. Consider using '#align star_convex.ord_connected StarConvex.ordConnectedβ‚“'. -/
 alias starConvex_iff_ordConnected ↔ StarConvex.ordConnected _
 #align star_convex.ord_connected StarConvex.ordConnected
 
Diff
@@ -272,11 +272,9 @@ theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
   refine' ⟨fun h y hy _ a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha' := ha.eq_or_lt
-  Β· rw [zero_add] at hab
-    rwa [hab, zero_smul, one_smul, zero_add]
+  Β· rw [zero_add] at hab; rwa [hab, zero_smul, one_smul, zero_add]
   obtain rfl | hb' := hb.eq_or_lt
-  Β· rw [add_zero] at hab
-    rwa [hab, zero_smul, one_smul, add_zero]
+  Β· rw [add_zero] at hab; rwa [hab, zero_smul, one_smul, add_zero]
   obtain rfl | hxy := eq_or_ne x y
   Β· rwa [Convex.combo_self hab]
   exact h hy hxy ha' hb' hab
@@ -352,8 +350,7 @@ but is expected to have type
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x y) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) s t))
 Case conversion may be inaccurate. Consider using '#align star_convex.add StarConvex.addβ‚“'. -/
 theorem StarConvex.add {t : Set E} (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
-    StarConvex π•œ (x + y) (s + t) := by
-  rw [← add_image_prod]
+    StarConvex π•œ (x + y) (s + t) := by rw [← add_image_prod];
   exact (hs.prod ht).is_linear_image IsLinearMap.isLinearMap_add
 #align star_convex.add StarConvex.add
 
@@ -508,11 +505,7 @@ theorem starConvex_zero_iff :
     simpa only [sub_add_cancel, eq_self_iff_true, forall_true_left, zero_add, smul_zero] using
       h (sub_nonneg_of_le ha₁) haβ‚€
   Β· rw [smul_zero, zero_add]
-    exact
-      h hb
-        (by
-          rw [← hab]
-          exact le_add_of_nonneg_left ha)
+    exact h hb (by rw [← hab]; exact le_add_of_nonneg_left ha)
 #align star_convex_zero_iff starConvex_zero_iff
 
 end AddCommMonoid
@@ -589,9 +582,7 @@ lean 3 declaration is
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) x) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.neg StarConvex.negβ‚“'. -/
-theorem StarConvex.neg (hs : StarConvex π•œ x s) : StarConvex π•œ (-x) (-s) :=
-  by
-  rw [← image_neg]
+theorem StarConvex.neg (hs : StarConvex π•œ x s) : StarConvex π•œ (-x) (-s) := by rw [← image_neg];
   exact hs.is_linear_image IsLinearMap.isLinearMap_neg
 #align star_convex.neg StarConvex.neg
 
@@ -602,9 +593,7 @@ but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) y t) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) x y) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
 Case conversion may be inaccurate. Consider using '#align star_convex.sub StarConvex.subβ‚“'. -/
 theorem StarConvex.sub (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
-    StarConvex π•œ (x - y) (s - t) := by
-  simp_rw [sub_eq_add_neg]
-  exact hs.add ht.neg
+    StarConvex π•œ (x - y) (s - t) := by simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
 #align star_convex.sub StarConvex.sub
 
 end AddCommGroup
Diff
@@ -246,10 +246,7 @@ theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
 #align star_convex.mem StarConvex.mem
 
 /- warning: star_convex_iff_forall_pos -> starConvex_iff_forall_pos is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_pos starConvex_iff_forall_posβ‚“'. -/
 theorem starConvex_iff_forall_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
@@ -266,10 +263,7 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
 
 /- warning: star_convex_iff_forall_ne_pos -> starConvex_iff_forall_ne_pos is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_posβ‚“'. -/
 theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔
@@ -309,10 +303,7 @@ theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
 #align star_convex_singleton starConvex_singleton
 
 /- warning: star_convex.linear_image -> StarConvex.linear_image is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_image StarConvex.linear_imageβ‚“'. -/
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
@@ -334,10 +325,7 @@ theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf
 #align star_convex.is_linear_image StarConvex.is_linear_image
 
 /- warning: star_convex.linear_preimage -> StarConvex.linear_preimage is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_preimage StarConvex.linear_preimageβ‚“'. -/
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
@@ -573,10 +561,7 @@ theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t
 #align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_mem
 
 /- warning: star_convex.affine_preimage -> StarConvex.affine_preimage is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u1} F}, (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) s) -> (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u1} E F (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex.affine_preimage StarConvex.affine_preimageβ‚“'. -/
 /-- The preimage of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : StarConvex π•œ (f x) s) :
@@ -587,10 +572,7 @@ theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : Star
 #align star_convex.affine_preimage StarConvex.affine_preimage
 
 /- warning: star_convex.affine_image -> StarConvex.affine_image is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) (Set.image.{u2, u1} E ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex.affine_image StarConvex.affine_imageβ‚“'. -/
 /-- The image of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarConvex π•œ x s) :
@@ -638,10 +620,7 @@ section AddCommGroup
 variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
 /- warning: star_convex_iff_div -> starConvex_iff_div is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) b) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) y)) s)))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) b) -> (LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) a (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) x) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) b (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) y)) s)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_div starConvex_iff_divβ‚“'. -/
 /-- Alternative definition of star-convexity, using division. -/
 theorem starConvex_iff_div :
Diff
@@ -312,7 +312,7 @@ theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_image StarConvex.linear_imageβ‚“'. -/
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
@@ -337,7 +337,7 @@ theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_preimage StarConvex.linear_preimageβ‚“'. -/
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
Diff
@@ -312,7 +312,7 @@ theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_image StarConvex.linear_imageβ‚“'. -/
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
@@ -337,7 +337,7 @@ theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.linear_preimage StarConvex.linear_preimageβ‚“'. -/
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
Diff
@@ -576,7 +576,7 @@ theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u1} F}, (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) s) -> (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u1} E F (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u1} F}, (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) s) -> (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u1} E F (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.affine_preimage StarConvex.affine_preimageβ‚“'. -/
 /-- The preimage of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : StarConvex π•œ (f x) s) :
@@ -590,7 +590,7 @@ theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : Star
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
 but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) (Set.image.{u2, u1} E ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) (Set.image.{u2, u1} E ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.affine_image StarConvex.affine_imageβ‚“'. -/
 /-- The image of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarConvex π•œ x s) :
Diff
@@ -116,7 +116,7 @@ theorem StarConvex.openSegment_subset (h : StarConvex π•œ x s) {y : E} (hy : y
 
 /- warning: star_convex_iff_pointwise_add_subset -> starConvex_iff_pointwise_add_subset is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) a (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) b s)) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) a (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) b s)) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) b) -> (Eq.{succ u2} π•œ (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHAdd.{u1} (Set.{u1} E) (Set.add.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))))) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) a (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x)) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) b s)) s))
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subsetβ‚“'. -/
@@ -247,7 +247,7 @@ theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
 
 /- warning: star_convex_iff_forall_pos -> starConvex_iff_forall_pos is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
 but is expected to have type
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_pos starConvex_iff_forall_posβ‚“'. -/
@@ -267,7 +267,7 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
 
 /- warning: star_convex_iff_forall_ne_pos -> starConvex_iff_forall_ne_pos is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
 but is expected to have type
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_posβ‚“'. -/
@@ -507,7 +507,7 @@ variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 
 /- warning: star_convex_zero_iff -> starConvex_zero_iff is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
 Case conversion may be inaccurate. Consider using '#align star_convex_zero_iff starConvex_zero_iffβ‚“'. -/
@@ -535,7 +535,7 @@ variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y
 
 /- warning: star_convex.add_smul_mem -> StarConvex.add_smul_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_mem StarConvex.add_smul_memβ‚“'. -/
@@ -550,7 +550,7 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
 
 /- warning: star_convex.smul_mem -> StarConvex.smul_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.smul_mem StarConvex.smul_memβ‚“'. -/
@@ -560,7 +560,7 @@ theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ}
 
 /- warning: star_convex.add_smul_sub_mem -> StarConvex.add_smul_sub_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_memβ‚“'. -/
@@ -639,7 +639,7 @@ variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
 /- warning: star_convex_iff_div -> starConvex_iff_div is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) b) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) y)) s)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) b) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) y)) s)))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) b) -> (LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) a (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) x) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) b (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) y)) s)))
 Case conversion may be inaccurate. Consider using '#align star_convex_iff_div starConvex_iff_divβ‚“'. -/
@@ -665,7 +665,7 @@ theorem starConvex_iff_div :
 
 /- warning: star_convex.mem_smul -> StarConvex.mem_smul is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
 Case conversion may be inaccurate. Consider using '#align star_convex.mem_smul StarConvex.mem_smulβ‚“'. -/
@@ -690,7 +690,7 @@ section OrdConnected
 
 /- warning: set.ord_connected.star_convex -> Set.OrdConnected.starConvex is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : OrderedAddCommMonoid.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : OrderedSMul.{u1, u2} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3))] {x : E} {s : Set.{u2} E}, (Set.OrdConnected.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2)) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall (y : E), (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Or (LE.le.{u2} E (Preorder.toLE.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) x y) (LE.le.{u2} E (Preorder.toLE.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) y x))) -> (StarConvex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s)
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : OrderedAddCommMonoid.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : OrderedSMul.{u1, u2} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3))] {x : E} {s : Set.{u2} E}, (Set.OrdConnected.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2)) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall (y : E), (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Or (LE.le.{u2} E (Preorder.toHasLe.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) x y) (LE.le.{u2} E (Preorder.toHasLe.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) y x))) -> (StarConvex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s)
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : OrderedAddCommMonoid.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2)] [_inst_4 : OrderedSMul.{u2, u1} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3))] {x : E} {s : Set.{u1} E}, (Set.OrdConnected.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2)) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall (y : E), (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Or (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) x y) (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) y x))) -> (StarConvex.{u2, u1} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s)
 Case conversion may be inaccurate. Consider using '#align set.ord_connected.star_convex Set.OrdConnected.starConvexβ‚“'. -/
Diff
@@ -159,17 +159,17 @@ theorem StarConvex.inter (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   fun y hy a b ha hb hab => ⟨hs hy.left ha hb hab, ht hy.right ha hb hab⟩
 #align star_convex.inter StarConvex.inter
 
-#print starConvex_interβ‚› /-
-theorem starConvex_interβ‚› {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
+#print starConvex_sInter /-
+theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (β‹‚β‚€ S) := fun y hy a b ha hb hab s hs => h s hs (hy s hs) ha hb hab
-#align star_convex_sInter starConvex_interβ‚›
+#align star_convex_sInter starConvex_sInter
 -/
 
-#print starConvex_interα΅’ /-
-theorem starConvex_interα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
+#print starConvex_iInter /-
+theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
-  interβ‚›_range s β–Έ starConvex_interβ‚› <| forall_range_iff.2 h
-#align star_convex_Inter starConvex_interα΅’
+  sInter_range s β–Έ starConvex_sInter <| forall_range_iff.2 h
+#align star_convex_Inter starConvex_iInter
 -/
 
 /- warning: star_convex.union -> StarConvex.union is a dubious translation:
@@ -185,22 +185,22 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   Β· exact Or.inr (ht hy ha hb hab)
 #align star_convex.union StarConvex.union
 
-#print starConvex_unionα΅’ /-
-theorem starConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
+#print starConvex_iUnion /-
+theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
   rw [mem_Union] at hy⊒
   obtain ⟨i, hy⟩ := hy
   exact ⟨i, hs i hy ha hb hab⟩
-#align star_convex_Union starConvex_unionα΅’
+#align star_convex_Union starConvex_iUnion
 -/
 
-#print starConvex_unionβ‚› /-
-theorem starConvex_unionβ‚› {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x s) :
+#print starConvex_sUnion /-
+theorem starConvex_sUnion {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (⋃₀ S) := by
   rw [sUnion_eq_Union]
-  exact starConvex_unionα΅’ fun s => hS _ s.2
-#align star_convex_sUnion starConvex_unionβ‚›
+  exact starConvex_iUnion fun s => hS _ s.2
+#align star_convex_sUnion starConvex_sUnion
 -/
 
 /- warning: star_convex.prod -> StarConvex.prod is a dubious translation:
Diff
@@ -509,7 +509,7 @@ variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
 Case conversion may be inaccurate. Consider using '#align star_convex_zero_iff starConvex_zero_iffβ‚“'. -/
 theorem starConvex_zero_iff :
     StarConvex π•œ 0 s ↔ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃a : π•œβ¦„, 0 ≀ a β†’ a ≀ 1 β†’ a β€’ x ∈ s :=
@@ -537,7 +537,7 @@ variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_mem StarConvex.add_smul_memβ‚“'. -/
 theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ y ∈ s :=
@@ -552,7 +552,7 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.smul_mem StarConvex.smul_memβ‚“'. -/
 theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : t β€’ x ∈ s := by simpa using hs.add_smul_mem (by simpa using hx) htβ‚€ ht₁
@@ -562,7 +562,7 @@ theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ}
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_memβ‚“'. -/
 theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ (y - x) ∈ s :=
@@ -667,7 +667,7 @@ theorem starConvex_iff_div :
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
 but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
 Case conversion may be inaccurate. Consider using '#align star_convex.mem_smul StarConvex.mem_smulβ‚“'. -/
 theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) : x ∈ t β€’ s :=
   by
Diff
@@ -507,7 +507,7 @@ variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 
 /- warning: star_convex_zero_iff -> starConvex_zero_iff is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
 Case conversion may be inaccurate. Consider using '#align star_convex_zero_iff starConvex_zero_iffβ‚“'. -/
@@ -535,7 +535,7 @@ variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y
 
 /- warning: star_convex.add_smul_mem -> StarConvex.add_smul_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_mem StarConvex.add_smul_memβ‚“'. -/
@@ -550,7 +550,7 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
 
 /- warning: star_convex.smul_mem -> StarConvex.smul_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.smul_mem StarConvex.smul_memβ‚“'. -/
@@ -560,7 +560,7 @@ theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ}
 
 /- warning: star_convex.add_smul_sub_mem -> StarConvex.add_smul_sub_mem is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
 Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_memβ‚“'. -/
@@ -665,7 +665,7 @@ theorem starConvex_iff_div :
 
 /- warning: star_convex.mem_smul -> StarConvex.mem_smul is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
 Case conversion may be inaccurate. Consider using '#align star_convex.mem_smul StarConvex.mem_smulβ‚“'. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
 
 ! This file was ported from Lean 3 source module analysis.convex.star
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
+! leanprover-community/mathlib commit cb3ceec8485239a61ed51d944cb9a95b68c6bafc
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Analysis.Convex.Segment
 /-!
 # Star-convex sets
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This files defines star-convex sets (aka star domains, star-shaped set, radially convex set).
 
 A set is star-convex at `x` if every segment from `x` to a point in the set is contained in the set.
Diff
@@ -65,14 +65,22 @@ section SMul
 
 variable (π•œ) [SMul π•œ E] [SMul π•œ F] (x : E) (s : Set E)
 
+#print StarConvex /-
 /-- Star-convexity of sets. `s` is star-convex at `x` if every segment from `x` to a point in `s` is
 contained in `s`. -/
 def StarConvex : Prop :=
   βˆ€ ⦃y : E⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s
 #align star_convex StarConvex
+-/
 
 variable {π•œ x s} {t : Set E}
 
+/- warning: star_convex_iff_segment_subset -> starConvex_iff_segment_subset is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (segment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{y : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (segment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_segment_subset starConvex_iff_segment_subsetβ‚“'. -/
 theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ [x -[π•œ] y] βŠ† s :=
   by
   constructor
@@ -82,15 +90,33 @@ theorem starConvex_iff_segment_subset : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y 
     exact h hy ⟨a, b, ha, hb, hab, rfl⟩
 #align star_convex_iff_segment_subset starConvex_iff_segment_subset
 
+/- warning: star_convex.segment_subset -> StarConvex.segment_subset is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (segment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (segment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.segment_subset StarConvex.segment_subsetβ‚“'. -/
 theorem StarConvex.segment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) : [x -[π•œ] y] βŠ† s :=
   starConvex_iff_segment_subset.1 h hy
 #align star_convex.segment_subset StarConvex.segment_subset
 
+/- warning: star_convex.open_segment_subset -> StarConvex.openSegment_subset is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (forall {y : E}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x y) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.open_segment_subset StarConvex.openSegment_subsetβ‚“'. -/
 theorem StarConvex.openSegment_subset (h : StarConvex π•œ x s) {y : E} (hy : y ∈ s) :
     openSegment π•œ x y βŠ† s :=
   (openSegment_subset_segment π•œ x y).trans (h.segment_subset hy)
 #align star_convex.open_segment_subset StarConvex.openSegment_subset
 
+/- warning: star_convex_iff_pointwise_add_subset -> starConvex_iff_pointwise_add_subset is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) a (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E _inst_4) b s)) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedSemiring.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) b) -> (Eq.{succ u2} π•œ (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (Semiring.toOne.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))))) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHAdd.{u1} (Set.{u1} E) (Set.add.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))))) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) a (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x)) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E _inst_4)) b s)) s))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subsetβ‚“'. -/
 /-- Alternative definition of star-convexity, in terms of pointwise set operations. -/
 theorem starConvex_iff_pointwise_add_subset :
     StarConvex π•œ x s ↔ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ a β€’ {x} + b β€’ s βŠ† s :=
@@ -102,25 +128,53 @@ theorem starConvex_iff_pointwise_add_subset :
   exact hA hv ha hb hab
 #align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subset
 
+/- warning: star_convex_empty -> starConvex_empty is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
+Case conversion may be inaccurate. Consider using '#align star_convex_empty starConvex_emptyβ‚“'. -/
 theorem starConvex_empty (x : E) : StarConvex π•œ x βˆ… := fun y hy => hy.elim
 #align star_convex_empty starConvex_empty
 
+/- warning: star_convex_univ -> starConvex_univ is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Set.univ.{u2} E)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Set.univ.{u1} E)
+Case conversion may be inaccurate. Consider using '#align star_convex_univ starConvex_univβ‚“'. -/
 theorem starConvex_univ (x : E) : StarConvex π•œ x univ := fun _ _ _ _ _ _ _ => trivial
 #align star_convex_univ starConvex_univ
 
+/- warning: star_convex.inter -> StarConvex.inter is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t))
+Case conversion may be inaccurate. Consider using '#align star_convex.inter StarConvex.interβ‚“'. -/
 theorem StarConvex.inter (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s ∩ t) :=
   fun y hy a b ha hb hab => ⟨hs hy.left ha hb hab, ht hy.right ha hb hab⟩
 #align star_convex.inter StarConvex.inter
 
+#print starConvex_interβ‚› /-
 theorem starConvex_interβ‚› {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (β‹‚β‚€ S) := fun y hy a b ha hb hab s hs => h s hs (hy s hs) ha hb hab
 #align star_convex_sInter starConvex_interβ‚›
+-/
 
+#print starConvex_interα΅’ /-
 theorem starConvex_interα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
   interβ‚›_range s β–Έ starConvex_interβ‚› <| forall_range_iff.2 h
 #align star_convex_Inter starConvex_interα΅’
+-/
 
+/- warning: star_convex.union -> StarConvex.union is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : SMul.{u1, u2} π•œ E] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) s t))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : SMul.{u2, u1} π•œ E] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x t) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_4 x (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) s t))
+Case conversion may be inaccurate. Consider using '#align star_convex.union StarConvex.unionβ‚“'. -/
 theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s βˆͺ t) :=
   by
   rintro y (hy | hy) a b ha hb hab
@@ -128,6 +182,7 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   Β· exact Or.inr (ht hy ha hb hab)
 #align star_convex.union StarConvex.union
 
+#print starConvex_unionα΅’ /-
 theorem starConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
@@ -135,19 +190,34 @@ theorem starConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarCo
   obtain ⟨i, hy⟩ := hy
   exact ⟨i, hs i hy ha hb hab⟩
 #align star_convex_Union starConvex_unionα΅’
+-/
 
+#print starConvex_unionβ‚› /-
 theorem starConvex_unionβ‚› {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (⋃₀ S) := by
   rw [sUnion_eq_Union]
   exact starConvex_unionα΅’ fun s => hS _ s.2
 #align star_convex_sUnion starConvex_unionβ‚›
+-/
 
+/- warning: star_convex.prod -> StarConvex.prod is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : SMul.{u1, u2} π•œ E] [_inst_5 : SMul.{u1, u3} π•œ F] {x : E} {y : F} {s : Set.{u2} E} {t : Set.{u3} F}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 _inst_5 y t) -> (StarConvex.{u1, max u2 u3} π•œ (Prod.{u2, u3} E F) _inst_1 (Prod.addCommMonoid.{u2, u3} E F _inst_2 _inst_3) (Prod.smul.{u1, u2, u3} π•œ E F _inst_4 _inst_5) (Prod.mk.{u2, u3} E F x y) (Set.prod.{u2, u3} E F s t))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : AddCommMonoid.{u2} F] [_inst_4 : SMul.{u1, u3} π•œ E] [_inst_5 : SMul.{u1, u2} π•œ F] {x : E} {y : F} {s : Set.{u3} E} {t : Set.{u2} F}, (StarConvex.{u1, u3} π•œ E _inst_1 _inst_2 _inst_4 x s) -> (StarConvex.{u1, u2} π•œ F _inst_1 _inst_3 _inst_5 y t) -> (StarConvex.{u1, max u2 u3} π•œ (Prod.{u3, u2} E F) _inst_1 (Prod.instAddCommMonoidSum.{u3, u2} E F _inst_2 _inst_3) (Prod.smul.{u1, u3, u2} π•œ E F _inst_4 _inst_5) (Prod.mk.{u3, u2} E F x y) (Set.prod.{u3, u2} E F s t))
+Case conversion may be inaccurate. Consider using '#align star_convex.prod StarConvex.prodβ‚“'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem StarConvex.prod {y : F} {s : Set E} {t : Set F} (hs : StarConvex π•œ x s)
     (ht : StarConvex π•œ y t) : StarConvex π•œ (x, y) (s Γ—Λ’ t) := fun y hy a b ha hb hab =>
   ⟨hs hy.1 ha hb hab, ht hy.2 ha hb hab⟩
 #align star_convex.prod StarConvex.prod
 
+/- warning: star_convex_pi -> starConvex_pi is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} [_inst_1 : OrderedSemiring.{u1} π•œ] {ΞΉ : Type.{u2}} {E : ΞΉ -> Type.{u3}} [_inst_6 : forall (i : ΞΉ), AddCommMonoid.{u3} (E i)] [_inst_7 : forall (i : ΞΉ), SMul.{u1, u3} π•œ (E i)] {x : forall (i : ΞΉ), E i} {s : Set.{u2} ΞΉ} {t : forall (i : ΞΉ), Set.{u3} (E i)}, (forall {{i : ΞΉ}}, (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i s) -> (StarConvex.{u1, u3} π•œ (E i) _inst_1 (_inst_6 i) (_inst_7 i) (x i) (t i))) -> (StarConvex.{u1, max u2 u3} π•œ (forall (i : ΞΉ), E i) _inst_1 (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_6 i)) (Pi.instSMul.{u2, u3, u1} ΞΉ π•œ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_7 i)) x (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) s t))
+but is expected to have type
+  forall {π•œ : Type.{u1}} [_inst_1 : OrderedSemiring.{u1} π•œ] {ΞΉ : Type.{u3}} {E : ΞΉ -> Type.{u2}} [_inst_6 : forall (i : ΞΉ), AddCommMonoid.{u2} (E i)] [_inst_7 : forall (i : ΞΉ), SMul.{u1, u2} π•œ (E i)] {x : forall (i : ΞΉ), E i} {s : Set.{u3} ΞΉ} {t : forall (i : ΞΉ), Set.{u2} (E i)}, (forall {{i : ΞΉ}}, (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i s) -> (StarConvex.{u1, u2} π•œ (E i) _inst_1 (_inst_6 i) (_inst_7 i) (x i) (t i))) -> (StarConvex.{u1, max u3 u2} π•œ (forall (i : ΞΉ), E i) _inst_1 (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_6 i)) (Pi.instSMul.{u3, u2, u1} ΞΉ π•œ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => _inst_7 i)) x (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) s t))
+Case conversion may be inaccurate. Consider using '#align star_convex_pi starConvex_piβ‚“'. -/
 theorem starConvex_pi {ΞΉ : Type _} {E : ΞΉ β†’ Type _} [βˆ€ i, AddCommMonoid (E i)] [βˆ€ i, SMul π•œ (E i)]
     {x : βˆ€ i, E i} {s : Set ΞΉ} {t : βˆ€ i, Set (E i)} (ht : βˆ€ ⦃i⦄, i ∈ s β†’ StarConvex π•œ (x i) (t i)) :
     StarConvex π•œ x (s.pi t) := fun y hy a b ha hb hab i hi => ht hi (hy i hi) ha hb hab
@@ -159,6 +229,12 @@ section Module
 
 variable [Module π•œ E] [Module π•œ F] {x y z : E} {s : Set E}
 
+/- warning: star_convex.mem -> StarConvex.mem is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (Set.Nonempty.{u2} E s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (Set.Nonempty.{u1} E s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s)
+Case conversion may be inaccurate. Consider using '#align star_convex.mem StarConvex.memβ‚“'. -/
 theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   by
   obtain ⟨y, hy⟩ := h
@@ -166,6 +242,12 @@ theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   rw [one_smul, zero_smul, add_zero]
 #align star_convex.mem StarConvex.mem
 
+/- warning: star_convex_iff_forall_pos -> starConvex_iff_forall_pos is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_pos starConvex_iff_forall_posβ‚“'. -/
 theorem starConvex_iff_forall_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
   by
@@ -180,6 +262,12 @@ theorem starConvex_iff_forall_pos (hx : x ∈ s) :
   exact h hy ha hb hab
 #align star_convex_iff_forall_pos starConvex_iff_forall_pos
 
+/- warning: star_convex_iff_forall_ne_pos -> starConvex_iff_forall_ne_pos is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommMonoid.toPartialOrder.{u1} π•œ (OrderedSemiring.toOrderedAddCommMonoid.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocSemiring.toAddCommMonoidWithOne.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) a x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) b y)) s))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Iff (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : π•œ}} {{b : π•œ}}, (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) a) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedSemiring.toPartialOrder.{u1} π•œ _inst_1))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) b) -> (Eq.{succ u1} π•œ (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toAdd.{u1} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u1} π•œ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))))) a b) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) a x) (HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4))))) b y)) s))))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_posβ‚“'. -/
 theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
     StarConvex π•œ x s ↔
       βˆ€ ⦃y⦄, y ∈ s β†’ x β‰  y β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
@@ -197,18 +285,32 @@ theorem starConvex_iff_forall_ne_pos (hx : x ∈ s) :
   exact h hy hxy ha' hb' hab
 #align star_convex_iff_forall_ne_pos starConvex_iff_forall_ne_pos
 
+#print starConvex_iff_openSegment_subset /-
 theorem starConvex_iff_openSegment_subset (hx : x ∈ s) :
     StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ openSegment π•œ x y βŠ† s :=
   starConvex_iff_segment_subset.trans <|
     forallβ‚‚_congr fun y hy => (openSegment_subset_iff_segment_subset hx hy).symm
 #align star_convex_iff_open_segment_subset starConvex_iff_openSegment_subset
+-/
 
+/- warning: star_convex_singleton -> starConvex_singleton is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] (x : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] (x : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x)
+Case conversion may be inaccurate. Consider using '#align star_convex_singleton starConvex_singletonβ‚“'. -/
 theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} :=
   by
   rintro y (rfl : y = x) a b ha hb hab
   exact Convex.combo_self hab _
 #align star_convex_singleton starConvex_singleton
 
+/- warning: star_convex.linear_image -> StarConvex.linear_image is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (f : LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), StarConvex.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f x) (Set.image.{u2, u1} E ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} π•œ π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} π•œ π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} π•œ (Semiring.toNonAssocSemiring.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)))) f) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.linear_image StarConvex.linear_imageβ‚“'. -/
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
     StarConvex π•œ (f x) (s.image f) :=
   by
@@ -217,11 +319,23 @@ theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F
   exact ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align star_convex.linear_image StarConvex.linear_image
 
+/- warning: star_convex.is_linear_image -> StarConvex.is_linear_image is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (f x) (Set.image.{u2, u3} E F f s)))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall {f : E -> F}, (IsLinearMap.{u3, u2, u1} π•œ E F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u3, u1} π•œ F _inst_1 _inst_3 (SMulZeroClass.toSMul.{u3, u1} π•œ F (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ F (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1))) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ F (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ _inst_1)) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_3)) (Module.toMulActionWithZero.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ _inst_1) _inst_3 _inst_5)))) (f x) (Set.image.{u2, u1} E F f s)))
+Case conversion may be inaccurate. Consider using '#align star_convex.is_linear_image StarConvex.is_linear_imageβ‚“'. -/
 theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf : IsLinearMap π•œ f) :
     StarConvex π•œ (f x) (f '' s) :=
   hs.linear_image <| hf.mk' f
 #align star_convex.is_linear_image StarConvex.is_linear_image
 
+/- warning: star_convex.linear_preimage -> StarConvex.linear_preimage is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} π•œ (Semiring.toNonAssocSemiring.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)))) f) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} (f : LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5), (StarConvex.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) x) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} π•œ π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) E F _inst_2 _inst_3 _inst_4 _inst_5) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} π•œ π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u2} π•œ (Semiring.toNonAssocSemiring.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)))) f) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.linear_preimage StarConvex.linear_preimageβ‚“'. -/
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (s.Preimage f) := by
   intro y hy a b ha hb hab
@@ -229,17 +343,35 @@ theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : Star
   exact hs hy ha hb hab
 #align star_convex.linear_preimage StarConvex.linear_preimage
 
+/- warning: star_convex.is_linear_preimage -> StarConvex.is_linear_preimage is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} {f : E -> F}, (StarConvex.{u1, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} π•œ F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_3 _inst_5)))) (f x) s) -> (IsLinearMap.{u1, u2, u3} π•œ E F (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u3} E F f s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] [_inst_5 : Module.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3] {x : E} {s : Set.{u3} F} {f : E -> F}, (StarConvex.{u2, u3} π•œ F _inst_1 _inst_3 (SMulZeroClass.toSMul.{u2, u3} π•œ F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ F (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ F (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3)) (Module.toMulActionWithZero.{u2, u3} π•œ F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_3 _inst_5)))) (f x) s) -> (IsLinearMap.{u2, u1, u3} π•œ E F (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 f) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u3} E F f s))
+Case conversion may be inaccurate. Consider using '#align star_convex.is_linear_preimage StarConvex.is_linear_preimageβ‚“'. -/
 theorem StarConvex.is_linear_preimage {s : Set F} {f : E β†’ F} (hs : StarConvex π•œ (f x) s)
     (hf : IsLinearMap π•œ f) : StarConvex π•œ x (preimage f s) :=
   hs.linear_preimage <| hf.mk' f
 #align star_convex.is_linear_preimage StarConvex.is_linear_preimage
 
+/- warning: star_convex.add -> StarConvex.add is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x y) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) s t))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u1, u2} π•œ E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x y) (HAdd.hAdd.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHAdd.{u2} (Set.{u2} E) (Set.add.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))))) s t))
+Case conversion may be inaccurate. Consider using '#align star_convex.add StarConvex.addβ‚“'. -/
 theorem StarConvex.add {t : Set E} (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x + y) (s + t) := by
   rw [← add_image_prod]
   exact (hs.prod ht).is_linear_image IsLinearMap.isLinearMap_add
 #align star_convex.add StarConvex.add
 
+/- warning: star_convex.add_left -> StarConvex.add_left is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.add_left StarConvex.add_leftβ‚“'. -/
 theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (z + x) ((fun x => z + x) '' s) :=
   by
@@ -249,6 +381,12 @@ theorem StarConvex.add_left (hs : StarConvex π•œ x s) (z : E) :
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_left StarConvex.add_left
 
+/- warning: star_convex.add_right -> StarConvex.add_right is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x s) -> (forall (z : E), StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.add_right StarConvex.add_rightβ‚“'. -/
 theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
     StarConvex π•œ (x + z) ((fun x => x + z) '' s) :=
   by
@@ -258,6 +396,12 @@ theorem StarConvex.add_right (hs : StarConvex π•œ x s) (z : E) :
   rw [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul]
 #align star_convex.add_right StarConvex.add_right
 
+/- warning: star_convex.preimage_add_right -> StarConvex.preimage_add_right is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z x) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z x) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.preimage_add_right StarConvex.preimage_add_rightβ‚“'. -/
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
     StarConvex π•œ x ((fun x => z + x) ⁻¹' s) :=
@@ -267,6 +411,12 @@ theorem StarConvex.preimage_add_right (hs : StarConvex π•œ (z + x) s) :
   rwa [smul_add, smul_add, add_add_add_comm, ← add_smul, hab, one_smul] at h
 #align star_convex.preimage_add_right StarConvex.preimage_add_right
 
+/- warning: star_convex.preimage_add_left -> StarConvex.preimage_add_left is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) x z) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2] {x : E} {z : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s) -> (StarConvex.{u2, u1} π•œ E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) x z) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.preimage_add_left StarConvex.preimage_add_leftβ‚“'. -/
 /-- The translation of a star-convex set is also star-convex. -/
 theorem StarConvex.preimage_add_left (hs : StarConvex π•œ (x + z) s) :
     StarConvex π•œ x ((fun x => x + z) ⁻¹' s) :=
@@ -283,6 +433,12 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x y : E}
 
+/- warning: star_convex.sub' -> StarConvex.sub' is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} (Prod.{u2, u2} E E)}, (StarConvex.{u1, u2} π•œ (Prod.{u2, u2} E E) _inst_1 (Prod.addCommMonoid.{u2, u2} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)) (Prod.smul.{u1, u2, u2} π•œ E E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (Prod.mk.{u2, u2} E E x y) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (Set.image.{u2, u2} (Prod.{u2, u2} E E) E (fun (x : Prod.{u2, u2} E E) => HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) (Prod.fst.{u2, u2} E E x) (Prod.snd.{u2, u2} E E x)) s))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} (Prod.{u2, u2} E E)}, (StarConvex.{u1, u2} π•œ (Prod.{u2, u2} E E) _inst_1 (Prod.instAddCommMonoidSum.{u2, u2} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)) (Prod.smul.{u1, u2, u2} π•œ E E (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (Prod.mk.{u2, u2} E E x y) s) -> (StarConvex.{u1, u2} π•œ E _inst_1 (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u1, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (Set.image.{u2, u2} (Prod.{u2, u2} E E) E (fun (x : Prod.{u2, u2} E E) => HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) (Prod.fst.{u2, u2} E E x) (Prod.snd.{u2, u2} E E x)) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.sub' StarConvex.sub'β‚“'. -/
 theorem StarConvex.sub' {s : Set (E Γ— E)} (hs : StarConvex π•œ (x, y) s) :
     StarConvex π•œ (x - y) ((fun x : E Γ— E => x.1 - x.2) '' s) :=
   hs.is_linear_image IsLinearMap.isLinearMap_sub
@@ -300,15 +456,33 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {x : E} {s : Set E}
 
+/- warning: star_convex.smul -> StarConvex.smul is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (c : π•œ), StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x) (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4))))) c s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (c : π•œ), StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x) (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))))) c s))
+Case conversion may be inaccurate. Consider using '#align star_convex.smul StarConvex.smulβ‚“'. -/
 theorem StarConvex.smul (hs : StarConvex π•œ x s) (c : π•œ) : StarConvex π•œ (c β€’ x) (c β€’ s) :=
   hs.linear_image <| LinearMap.lsmul _ _ c
 #align star_convex.smul StarConvex.smul
 
+/- warning: star_convex.preimage_smul -> StarConvex.preimage_smul is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E} {c : π•œ}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x) s) -> (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x (Set.preimage.{u2, u2} E E (fun (z : E) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c z) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E} {c : π•œ}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x) s) -> (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x (Set.preimage.{u1, u1} E E (fun (z : E) => HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c z) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.preimage_smul StarConvex.preimage_smulβ‚“'. -/
 theorem StarConvex.preimage_smul {c : π•œ} (hs : StarConvex π•œ (c β€’ x) s) :
     StarConvex π•œ x ((fun z => c β€’ z) ⁻¹' s) :=
   hs.linear_preimage (LinearMap.lsmul _ _ c)
 #align star_convex.preimage_smul StarConvex.preimage_smul
 
+/- warning: star_convex.affinity -> StarConvex.affinity is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (z : E) (c : π•œ), StarConvex.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x)) (Set.image.{u2, u2} E E (fun (x : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ _inst_1)) _inst_2 _inst_4)))) c x)) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) x s) -> (forall (z : E) (c : π•œ), StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4)))) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x)) (Set.image.{u1, u1} E E (fun (x : E) => HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) z (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommSemiring.toCommMonoidWithZero.{u2} π•œ (OrderedCommSemiring.toCommSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ _inst_1)) _inst_2 _inst_4))))) c x)) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.affinity StarConvex.affinityβ‚“'. -/
 theorem StarConvex.affinity (hs : StarConvex π•œ x s) (z : E) (c : π•œ) :
     StarConvex π•œ (z + c β€’ x) ((fun x => z + c β€’ x) '' s) :=
   by
@@ -328,6 +502,12 @@ section AddCommMonoid
 
 variable [AddCommMonoid E] [SMulWithZero π•œ E] {s : Set E}
 
+/- warning: star_convex_zero_iff -> starConvex_zero_iff is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : SMulWithZero.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))] {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) a (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) _inst_3)) a x) s)))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) _inst_2 (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))) s) (forall {{x : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {{a : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) a (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) a x) s)))
+Case conversion may be inaccurate. Consider using '#align star_convex_zero_iff starConvex_zero_iffβ‚“'. -/
 theorem starConvex_zero_iff :
     StarConvex π•œ 0 s ↔ βˆ€ ⦃x : E⦄, x ∈ s β†’ βˆ€ ⦃a : π•œβ¦„, 0 ≀ a β†’ a ≀ 1 β†’ a β€’ x ∈ s :=
   by
@@ -350,6 +530,12 @@ section AddCommGroup
 
 variable [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {x y : E} {s t : Set E}
 
+/- warning: star_convex.add_smul_mem -> StarConvex.add_smul_mem is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t y)) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x y) s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t y)) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_mem StarConvex.add_smul_memβ‚“'. -/
 theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ y ∈ s :=
   by
@@ -359,10 +545,22 @@ theorem StarConvex.add_smul_mem (hs : StarConvex π•œ x s) (hy : x + y ∈ s) {t
   exact hs hy (sub_nonneg_of_le ht₁) htβ‚€ (sub_add_cancel _ _)
 #align star_convex.add_smul_mem StarConvex.add_smul_mem
 
+/- warning: star_convex.smul_mem -> StarConvex.smul_mem is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t x) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t x) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.smul_mem StarConvex.smul_memβ‚“'. -/
 theorem StarConvex.smul_mem (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : t β€’ x ∈ s := by simpa using hs.add_smul_mem (by simpa using hx) htβ‚€ ht₁
 #align star_convex.smul_mem StarConvex.smul_mem
 
+/- warning: star_convex.add_smul_sub_mem -> StarConvex.add_smul_sub_mem is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (OrderedRing.toOrderedAddCommGroup.{u1} π•œ _inst_1)))) t (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))))))))) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) x (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) t (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) y x))) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))))) t) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedRing.toPartialOrder.{u2} π•œ _inst_1))) t (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (OrderedRing.toRing.{u2} π•œ _inst_1)))))) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) x (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4))))) t (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) y x))) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_memβ‚“'. -/
 theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t : π•œ} (htβ‚€ : 0 ≀ t)
     (ht₁ : t ≀ 1) : x + t β€’ (y - x) ∈ s :=
   by
@@ -371,6 +569,12 @@ theorem StarConvex.add_smul_sub_mem (hs : StarConvex π•œ x s) (hy : y ∈ s) {t
   exact mem_image_of_mem _ ⟨htβ‚€, htβ‚βŸ©
 #align star_convex.add_smul_sub_mem StarConvex.add_smul_sub_mem
 
+/- warning: star_convex.affine_preimage -> StarConvex.affine_preimage is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u1} F}, (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) s) -> (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x (Set.preimage.{u2, u1} E F (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.affine_preimage StarConvex.affine_preimageβ‚“'. -/
 /-- The preimage of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : StarConvex π•œ (f x) s) :
     StarConvex π•œ x (f ⁻¹' s) := by
@@ -379,6 +583,12 @@ theorem StarConvex.affine_preimage (f : E →ᡃ[π•œ] F) {s : Set F} (hs : Star
   exact hs hy ha hb hab
 #align star_convex.affine_preimage StarConvex.affine_preimage
 
+/- warning: star_convex.affine_image -> StarConvex.affine_image is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] {x : E} (f : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u3} π•œ F (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} π•œ F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ F (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ F (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} π•œ F (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_5)))) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f x) (Set.image.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π•œ E E F F (OrderedRing.toRing.{u1} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) f) s))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u1} F] [_inst_4 : Module.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ F (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_3)] {x : E} (f : AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) {s : Set.{u2} E}, (StarConvex.{u3, u2} π•œ E (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) (SMulZeroClass.toSMul.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (MonoidWithZero.toZero.{u3} π•œ (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (Semiring.toMonoidWithZero.{u3} π•œ (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1))) (NegZeroClass.toZero.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3))))) (Module.toMulActionWithZero.{u3, u1} π•œ ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (OrderedSemiring.toSemiring.{u3} π•œ (OrderedRing.toOrderedSemiring.{u3} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) _inst_3) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f x) (Set.image.{u2, u1} E ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AffineMap.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u3, u2, u2, u1, u1} π•œ E E F F (OrderedRing.toRing.{u3} π•œ _inst_1) _inst_2 _inst_4 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_5 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_3))) f) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.affine_image StarConvex.affine_imageβ‚“'. -/
 /-- The image of a star-convex set under an affine map is star-convex. -/
 theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarConvex π•œ x s) :
     StarConvex π•œ (f x) (f '' s) :=
@@ -388,12 +598,24 @@ theorem StarConvex.affine_image (f : E →ᡃ[π•œ] F) {s : Set E} (hs : StarCon
   rw [Convex.combo_affine_apply hab, hy'f]
 #align star_convex.affine_image StarConvex.affine_image
 
+/- warning: star_convex.neg -> StarConvex.neg is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (Neg.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))) x) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) x) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s))
+Case conversion may be inaccurate. Consider using '#align star_convex.neg StarConvex.negβ‚“'. -/
 theorem StarConvex.neg (hs : StarConvex π•œ x s) : StarConvex π•œ (-x) (-s) :=
   by
   rw [← image_neg]
   exact hs.is_linear_image IsLinearMap.isLinearMap_neg
 #align star_convex.neg StarConvex.neg
 
+/- warning: star_convex.sub -> StarConvex.sub is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {y : E} {s : Set.{u2} E} {t : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) y t) -> (StarConvex.{u1, u2} π•œ E (OrderedRing.toOrderedSemiring.{u1} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (OrderedRing.toRing.{u1} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (HSub.hSub.{u2, u2, u2} E E E (instHSub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) x y) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) s t))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {y : E} {s : Set.{u1} E} {t : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) x s) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) y t) -> (StarConvex.{u2, u1} π•œ E (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ (OrderedRing.toOrderedSemiring.{u2} π•œ _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)))) (HSub.hSub.{u1, u1, u1} E E E (instHSub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))) x y) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
+Case conversion may be inaccurate. Consider using '#align star_convex.sub StarConvex.subβ‚“'. -/
 theorem StarConvex.sub (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
     StarConvex π•œ (x - y) (s - t) := by
   simp_rw [sub_eq_add_neg]
@@ -412,6 +634,12 @@ section AddCommGroup
 
 variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
+/- warning: star_convex_iff_div -> starConvex_iff_div is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, Iff (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) a) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) b) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HDiv.hDiv.{u1, u1, u1} π•œ π•œ π•œ (instHDiv.{u1} π•œ (DivInvMonoid.toHasDiv.{u1} π•œ (DivisionRing.toDivInvMonoid.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} π•œ π•œ π•œ (instHAdd.{u1} π•œ (Distrib.toHasAdd.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) a b)) y)) s)))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, Iff (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s) (forall {{y : E}}, (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (forall {{a : π•œ}} {{b : π•œ}}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) a) -> (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) b) -> (LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 0 (Zero.toOfNat0.{u2} π•œ (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))))) (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (HAdd.hAdd.{u1, u1, u1} E E E (instHAdd.{u1} E (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) a (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) x) (HSMul.hSMul.{u2, u1, u1} π•œ E E (instHSMul.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))) (HDiv.hDiv.{u2, u2, u2} π•œ π•œ π•œ (instHDiv.{u2} π•œ (LinearOrderedField.toDiv.{u2} π•œ _inst_1)) b (HAdd.hAdd.{u2, u2, u2} π•œ π•œ π•œ (instHAdd.{u2} π•œ (Distrib.toAdd.{u2} π•œ (NonUnitalNonAssocSemiring.toDistrib.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))))) a b)) y)) s)))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_div starConvex_iff_divβ‚“'. -/
 /-- Alternative definition of star-convexity, using division. -/
 theorem starConvex_iff_div :
     StarConvex π•œ x s ↔
@@ -432,6 +660,12 @@ theorem starConvex_iff_div :
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
 
+/- warning: star_convex.mem_smul -> StarConvex.mem_smul is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {x : E} {s : Set.{u2} E}, (StarConvex.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {t : π•œ}, (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (NonAssocRing.toAddGroupWithOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))))) t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (SMul.smul.{u1, u2} π•œ (Set.{u2} E) (Set.smulSet.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) t s)))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {x : E} {s : Set.{u1} E}, (StarConvex.{u2, u1} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall {t : π•œ}, (LE.le.{u2} π•œ (Preorder.toLE.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (OfNat.ofNat.{u2} π•œ 1 (One.toOfNat1.{u2} π•œ (NonAssocRing.toOne.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (DivisionRing.toRing.{u2} π•œ (Field.toDivisionRing.{u2} π•œ (LinearOrderedField.toField.{u2} π•œ _inst_1))))))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x (HSMul.hSMul.{u2, u1, u1} π•œ (Set.{u1} E) (Set.{u1} E) (instHSMul.{u2, u1} π•œ (Set.{u1} E) (Set.smulSet.{u2, u1} π•œ E (SMulZeroClass.toSMul.{u2, u1} π•œ E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π•œ E (DivisionSemiring.toSemiring.{u2} π•œ (Semifield.toDivisionSemiring.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))))) t s)))
+Case conversion may be inaccurate. Consider using '#align star_convex.mem_smul StarConvex.mem_smulβ‚“'. -/
 theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) : x ∈ t β€’ s :=
   by
   rw [mem_smul_set_iff_inv_smul_memβ‚€ (zero_lt_one.trans_le ht).ne']
@@ -451,6 +685,12 @@ Relates `star_convex` and `set.ord_connected`.
 
 section OrdConnected
 
+/- warning: set.ord_connected.star_convex -> Set.OrdConnected.starConvex is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : OrderedAddCommMonoid.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : OrderedSMul.{u1, u2} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3))] {x : E} {s : Set.{u2} E}, (Set.OrdConnected.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2)) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall (y : E), (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Or (LE.le.{u2} E (Preorder.toLE.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) x y) (LE.le.{u2} E (Preorder.toLE.{u2} E (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E _inst_2))) y x))) -> (StarConvex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) x s)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : OrderedAddCommMonoid.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2)] [_inst_4 : OrderedSMul.{u2, u1} π•œ E _inst_1 _inst_2 (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3))] {x : E} {s : Set.{u1} E}, (Set.OrdConnected.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2)) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (forall (y : E), (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Or (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) x y) (LE.le.{u1} E (Preorder.toLE.{u1} E (PartialOrder.toPreorder.{u1} E (OrderedAddCommMonoid.toPartialOrder.{u1} E _inst_2))) y x))) -> (StarConvex.{u2, u1} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{u2, u1} π•œ E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ E (MonoidWithZero.toZero.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (OrderedSemiring.toSemiring.{u2} π•œ _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2))) (Module.toMulActionWithZero.{u2, u1} π•œ E (OrderedSemiring.toSemiring.{u2} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) x s)
+Case conversion may be inaccurate. Consider using '#align set.ord_connected.star_convex Set.OrdConnected.starConvexβ‚“'. -/
 theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid E] [Module π•œ E]
     [OrderedSMul π•œ E] {x : E} {s : Set E} (hs : s.OrdConnected) (hx : x ∈ s)
     (h : βˆ€ y ∈ s, x ≀ y ∨ y ≀ x) : StarConvex π•œ x s :=
@@ -477,11 +717,23 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
       
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 
+/- warning: star_convex_iff_ord_connected -> starConvex_iff_ordConnected is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.Mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.hasMem.{u1} π•œ) x s) -> (Iff (StarConvex.{u1, u1} π•œ π•œ (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toAddCommGroup.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) x s) (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) s))
+but is expected to have type
+  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.instMembershipSet.{u1} π•œ) x s) -> (Iff (StarConvex.{u1, u1} π•œ π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Algebra.toSMul.{u1, u1} π•œ π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))) (DivisionSemiring.toSemiring.{u1} π•œ (Semifield.toDivisionSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))) (Algebra.id.{u1} π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) x s) (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) s))
+Case conversion may be inaccurate. Consider using '#align star_convex_iff_ord_connected starConvex_iff_ordConnectedβ‚“'. -/
 theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Set π•œ} (hx : x ∈ s) :
     StarConvex π•œ x s ↔ s.OrdConnected := by
   simp_rw [ord_connected_iff_uIcc_subset_left hx, starConvex_iff_segment_subset, segment_eq_uIcc]
 #align star_convex_iff_ord_connected starConvex_iff_ordConnected
 
+/- warning: star_convex.ord_connected -> StarConvex.ordConnected is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.Mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.hasMem.{u1} π•œ) x s) -> (StarConvex.{u1, u1} π•œ π•œ (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toAddCommGroup.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) x s) -> (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) s)
+but is expected to have type
+  forall {π•œ : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π•œ] {x : π•œ} {s : Set.{u1} π•œ}, (Membership.mem.{u1, u1} π•œ (Set.{u1} π•œ) (Set.instMembershipSet.{u1} π•œ) x s) -> (StarConvex.{u1, u1} π•œ π•œ (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1))))))) (Algebra.toSMul.{u1, u1} π•œ π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))) (DivisionSemiring.toSemiring.{u1} π•œ (Semifield.toDivisionSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))) (Algebra.id.{u1} π•œ (Semifield.toCommSemiring.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) x s) -> (Set.OrdConnected.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) s)
+Case conversion may be inaccurate. Consider using '#align star_convex.ord_connected StarConvex.ordConnectedβ‚“'. -/
 alias starConvex_iff_ordConnected ↔ StarConvex.ordConnected _
 #align star_convex.ord_connected StarConvex.ordConnected
 
Diff
@@ -421,9 +421,9 @@ theorem starConvex_iff_div :
   ⟨fun h y hy a b ha hb hab => by
     apply h hy
     Β· have ha' := mul_le_mul_of_nonneg_left ha (inv_pos.2 hab).le
-      rwa [mul_zero, ← div_eq_inv_mul] at ha'
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha'
     Β· have hb' := mul_le_mul_of_nonneg_left hb (inv_pos.2 hab).le
-      rwa [mul_zero, ← div_eq_inv_mul] at hb'
+      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb'
     Β· rw [← add_div]
       exact div_self hab.ne', fun h y hy a b ha hb hab =>
     by

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -450,16 +450,16 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
   intro y hy a b ha hb hab
   obtain hxy | hyx := h _ hy
   · refine' hs.out hx hy (mem_Icc.2 ⟨_, _⟩)
-    calc
-      x = a β€’ x + b β€’ x := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := by gcongr
+    Β· calc
+        x = a β€’ x + b β€’ x := (Convex.combo_self hab _).symm
+        _ ≀ a β€’ x + b β€’ y := by gcongr
     calc
       a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := by gcongr
       _ = y := Convex.combo_self hab _
   · refine' hs.out hy hx (mem_Icc.2 ⟨_, _⟩)
-    calc
-      y = a β€’ y + b β€’ y := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := by gcongr
+    Β· calc
+        y = a β€’ y + b β€’ y := (Convex.combo_self hab _).symm
+        _ ≀ a β€’ x + b β€’ y := by gcongr
     calc
       a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := by gcongr
       _ = x := Convex.combo_self hab _
chore: Remove ball and bex from lemma names (#10816)

ball for "bounded forall" and bex for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem and exists_mem in the few Set lemma names that mention them.

Also deprecate ball_image_of_ball, mem_image_elim, mem_image_elim_on since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image semi-implicit), have obscure names and are completely unused.

Diff
@@ -115,7 +115,7 @@ theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x
 
 theorem starConvex_iInter {ΞΉ : Sort*} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
-  sInter_range s β–Έ starConvex_sInter <| forall_range_iff.2 h
+  sInter_range s β–Έ starConvex_sInter <| forall_mem_range.2 h
 #align star_convex_Inter starConvex_iInter
 
 theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
 -/
+import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Analysis.Convex.Segment
 import Mathlib.Tactic.GCongr
 
refactor(*): change definition of Set.image2 etc (#9275)
  • Redefine Set.image2 to use βˆƒ a ∈ s, βˆƒ b ∈ t, f a b = c instead of βˆƒ a b, a ∈ s ∧ b ∈ t ∧ f a b = c.
  • Redefine Set.seq as Set.image2. The new definition is equal to the old one but rw [Set.seq] gives a different result.
  • Redefine Filter.mapβ‚‚ to use βˆƒ u ∈ f, βˆƒ v ∈ g, image2 m u v βŠ† s instead of βˆƒ u v, u ∈ f ∧ v ∈ g ∧ ...
  • Update lemmas like Set.mem_image2, Finset.mem_imageβ‚‚, Set.mem_mul, Finset.mem_div etc

The two reasons to make the change are:

  • βˆƒ a ∈ s, βˆƒ b ∈ t, _ is a simp-normal form, and
  • it looks a bit nicer.
Diff
@@ -94,7 +94,7 @@ theorem starConvex_iff_pointwise_add_subset :
   refine'
     ⟨_, fun h y hy a b ha hb hab =>
       h ha hb hab (add_mem_add (smul_mem_smul_set <| mem_singleton _) ⟨_, hy, rfl⟩)⟩
-  rintro hA a b ha hb hab w ⟨au, bv, ⟨u, rfl : u = x, rfl⟩, ⟨v, hv, rfl⟩, rfl⟩
+  rintro hA a b ha hb hab w ⟨au, ⟨u, rfl : u = x, rfl⟩, bv, ⟨v, hv, rfl⟩, rfl⟩
   exact hA hv ha hb hab
 #align star_convex_iff_pointwise_add_subset starConvex_iff_pointwise_add_subset
 
refactor: Deduplicate monotonicity of β€’ lemmas (#9179)

Remove the duplicates introduced in #8869 by sorting the lemmas in Algebra.Order.SMul into three files:

  • Algebra.Order.Module.Defs for the order isomorphism induced by scalar multiplication by a positivity element
  • Algebra.Order.Module.Pointwise for the order properties of scalar multiplication of sets. This file is new. I credit myself for https://github.com/leanprover-community/mathlib/pull/9078
  • Algebra.Order.Module.OrderedSMul: The material about OrderedSMul per se. Inherits the copyright header from Algebra.Order.SMul. This file should eventually be deleted.

I move each #align to the correct file. On top of that, I delete unused redundant OrderedSMul instances (they were useful in Lean 3, but not anymore) and eq_of_smul_eq_smul_of_pos_of_le/eq_of_smul_eq_smul_of_neg_of_le since those lemmas are weird and unused.

Diff
@@ -385,7 +385,7 @@ lemma starConvex_compl_Iic (h : x < y) : StarConvex π•œ y (Iic x)ᢜ := by
   refine (starConvex_iff_forall_pos <| by simp [h.not_le]).mpr fun z hz a b ha hb hab ↦ ?_
   rw [mem_compl_iff, mem_Iic] at hz ⊒
   contrapose! hz
-  refine (lt_of_smul_lt_smul_of_nonneg ?_ hb.le).le
+  refine (lt_of_smul_lt_smul_of_nonneg_left ?_ hb.le).le
   calc
     b β€’ z ≀ (a + b) β€’ x - a β€’ y := by rwa [le_sub_iff_add_le', hab, one_smul]
     _ < b β€’ x := by
feat(Analysis/SpecialFunctions/Complex/Arg): add definition for slit plane and API, and use it (#9116)

In preparation of future PRs dealing with estimates of the complex logarithm and its Taylor series, this introduces Complex.slitPlane for the set of complex numbers not on the closed negative real axis (in Analysis.SpecialFunctions.Complex.Arg), adds a bunch of API lemmas, and replaces hypotheses of the form 0 < x.re ∨ x.im β‰  0 by x ∈ slitPlane in several other files.

(We do not introduce a new file for that to avoid circular imports with Analysis.SpecialFunctions.Complex.Arg.)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -376,6 +376,28 @@ theorem StarConvex.sub (hs : StarConvex π•œ x s) (ht : StarConvex π•œ y t) :
 
 end AddCommGroup
 
+section OrderedAddCommGroup
+
+variable [OrderedAddCommGroup E] [Module π•œ E] [OrderedSMul π•œ E] {x y : E}
+
+/-- If `x < y`, then `(Set.Iic x)ᢜ` is star convex at `y`. -/
+lemma starConvex_compl_Iic (h : x < y) : StarConvex π•œ y (Iic x)ᢜ := by
+  refine (starConvex_iff_forall_pos <| by simp [h.not_le]).mpr fun z hz a b ha hb hab ↦ ?_
+  rw [mem_compl_iff, mem_Iic] at hz ⊒
+  contrapose! hz
+  refine (lt_of_smul_lt_smul_of_nonneg ?_ hb.le).le
+  calc
+    b β€’ z ≀ (a + b) β€’ x - a β€’ y := by rwa [le_sub_iff_add_le', hab, one_smul]
+    _ < b β€’ x := by
+      rw [add_smul, sub_lt_iff_lt_add']
+      gcongr
+
+/-- If `x < y`, then `(Set.Ici y)ᢜ` is star convex at `x`. -/
+lemma starConvex_compl_Ici (h : x < y) : StarConvex π•œ x (Ici y)ᢜ :=
+  starConvex_compl_Iic (E := Eα΅’α΅ˆ) h
+
+end OrderedAddCommGroup
+
 end OrderedRing
 
 section LinearOrderedField
@@ -417,9 +439,10 @@ end LinearOrderedField
 Relates `starConvex` and `Set.ordConnected`.
 -/
 
-
 section OrdConnected
 
+/-- If `s` is an order-connected set in an ordered module over an ordered semiring
+and all elements of `s` are comparable with `x ∈ s`, then `s` is `StarConvex` at `x`. -/
 theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid E] [Module π•œ E]
     [OrderedSMul π•œ E] {x : E} {s : Set E} (hs : s.OrdConnected) (hx : x ∈ s)
     (h : βˆ€ y ∈ s, x ≀ y ∨ y ≀ x) : StarConvex π•œ x s := by
chore(*): use rintro to golf some proofs (#9204)
Diff
@@ -201,10 +201,9 @@ theorem starConvex_singleton (x : E) : StarConvex π•œ x {x} := by
 #align star_convex_singleton starConvex_singleton
 
 theorem StarConvex.linear_image (hs : StarConvex π•œ x s) (f : E β†’β‚—[π•œ] F) :
-    StarConvex π•œ (f x) (s.image f) := by
-  intro y hy a b ha hb hab
-  obtain ⟨y', hy', rfl⟩ := hy
-  exact ⟨a β€’ x + b β€’ y', hs hy' ha hb hab, by rw [f.map_add, f.map_smul, f.map_smul]⟩
+    StarConvex π•œ (f x) (f '' s) := by
+  rintro _ ⟨y, hy, rfl⟩ a b ha hb hab
+  exact ⟨a β€’ x + b β€’ y, hs hy ha hb hab, by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align star_convex.linear_image StarConvex.linear_image
 
 theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf : IsLinearMap π•œ f) :
@@ -213,7 +212,7 @@ theorem StarConvex.is_linear_image (hs : StarConvex π•œ x s) {f : E β†’ F} (hf
 #align star_convex.is_linear_image StarConvex.is_linear_image
 
 theorem StarConvex.linear_preimage {s : Set F} (f : E β†’β‚—[π•œ] F) (hs : StarConvex π•œ (f x) s) :
-    StarConvex π•œ x (s.preimage f) := by
+    StarConvex π•œ x (f ⁻¹' s) := by
   intro y hy a b ha hb hab
   rw [mem_preimage, f.map_add, f.map_smul, f.map_smul]
   exact hs hy ha hb hab
feat: patch for new alias command (#6172)
Diff
@@ -447,7 +447,7 @@ theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Se
   simp_rw [ordConnected_iff_uIcc_subset_left hx, starConvex_iff_segment_subset, segment_eq_uIcc]
 #align star_convex_iff_ord_connected starConvex_iff_ordConnected
 
-alias starConvex_iff_ordConnected ↔ StarConvex.ordConnected _
+alias ⟨StarConvex.ordConnected, _⟩ := starConvex_iff_ordConnected
 #align star_convex.ord_connected StarConvex.ordConnected
 
 end OrdConnected
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -49,7 +49,7 @@ open Set
 
 open Convex Pointwise
 
-variable {π•œ E F : Type _}
+variable {π•œ E F : Type*}
 
 section OrderedSemiring
 
@@ -112,7 +112,7 @@ theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x
     StarConvex π•œ x (β‹‚β‚€ S) := fun _ hy _ _ ha hb hab s hs => h s hs (hy s hs) ha hb hab
 #align star_convex_sInter starConvex_sInter
 
-theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
+theorem starConvex_iInter {ΞΉ : Sort*} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
   sInter_range s β–Έ starConvex_sInter <| forall_range_iff.2 h
 #align star_convex_Inter starConvex_iInter
@@ -124,7 +124,7 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   Β· exact Or.inr (ht hy ha hb hab)
 #align star_convex.union StarConvex.union
 
-theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
+theorem starConvex_iUnion {ΞΉ : Sort*} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
   rw [mem_iUnion] at hy ⊒
@@ -143,7 +143,7 @@ theorem StarConvex.prod {y : F} {s : Set E} {t : Set F} (hs : StarConvex π•œ x
   ⟨hs hy.1 ha hb hab, ht hy.2 ha hb hab⟩
 #align star_convex.prod StarConvex.prod
 
-theorem starConvex_pi {ΞΉ : Type _} {E : ΞΉ β†’ Type _} [βˆ€ i, AddCommMonoid (E i)] [βˆ€ i, SMul π•œ (E i)]
+theorem starConvex_pi {ΞΉ : Type*} {E : ΞΉ β†’ Type*} [βˆ€ i, AddCommMonoid (E i)] [βˆ€ i, SMul π•œ (E i)]
     {x : βˆ€ i, E i} {s : Set ΞΉ} {t : βˆ€ i, Set (E i)} (ht : βˆ€ ⦃i⦄, i ∈ s β†’ StarConvex π•œ (x i) (t i)) :
     StarConvex π•œ x (s.pi t) := fun _ hy _ _ ha hb hab i hi => ht hi (hy i hi) ha hb hab
 #align star_convex_pi starConvex_pi
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.convex.star
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Segment
 import Mathlib.Tactic.GCongr
 
+#align_import analysis.convex.star from "leanprover-community/mathlib"@"9003f28797c0664a49e4179487267c494477d853"
+
 /-!
 # Star-convex sets
 
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊒ -> some_tactic at h ⊒
  • some_tactic at h -> some_tactic at h
Diff
@@ -130,7 +130,7 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
 theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
-  rw [mem_iUnion] at hy⊒
+  rw [mem_iUnion] at hy ⊒
   obtain ⟨i, hy⟩ := hy
   exact ⟨i, hs i hy ha hb hab⟩
 #align star_convex_Union starConvex_iUnion
feat: golf using gcongr throughout the library (#4784)

Following on from #4702, another hundred sample uses of the gcongr tactic.

Diff
@@ -9,6 +9,7 @@ Authors: YaΓ«l Dillies
 ! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Segment
+import Mathlib.Tactic.GCongr
 
 /-!
 # Star-convex sets
@@ -431,16 +432,16 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
   · refine' hs.out hx hy (mem_Icc.2 ⟨_, _⟩)
     calc
       x = a β€’ x + b β€’ x := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := add_le_add_left (smul_le_smul_of_nonneg hxy hb) _
+      _ ≀ a β€’ x + b β€’ y := by gcongr
     calc
-      a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hxy ha) _
+      a β€’ x + b β€’ y ≀ a β€’ y + b β€’ y := by gcongr
       _ = y := Convex.combo_self hab _
   · refine' hs.out hy hx (mem_Icc.2 ⟨_, _⟩)
     calc
       y = a β€’ y + b β€’ y := (Convex.combo_self hab _).symm
-      _ ≀ a β€’ x + b β€’ y := add_le_add_right (smul_le_smul_of_nonneg hyx ha) _
+      _ ≀ a β€’ x + b β€’ y := by gcongr
     calc
-      a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg hyx hb) _
+      a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := by gcongr
       _ = x := Convex.combo_self hab _
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 
feat: golf using gcongr throughout the library (#4702)

100 sample uses of the new tactic gcongr, added in #3965.

Diff
@@ -394,10 +394,8 @@ theorem starConvex_iff_div : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’
     βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ 0 < a + b β†’ (a / (a + b)) β€’ x + (b / (a + b)) β€’ y ∈ s :=
   ⟨fun h y hy a b ha hb hab => by
     apply h hy
-    Β· have ha' := mul_le_mul_of_nonneg_left ha (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at ha'
-    Β· have hb' := mul_le_mul_of_nonneg_left hb (inv_pos.2 hab).le
-      rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb'
+    Β· positivity
+    Β· positivity
     Β· rw [← add_div]
       exact div_self hab.ne',
   fun h y hy a b ha hb hab => by
@@ -409,7 +407,7 @@ theorem starConvex_iff_div : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’
 theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) :
     x ∈ t β€’ s := by
   rw [mem_smul_set_iff_inv_smul_memβ‚€ (zero_lt_one.trans_le ht).ne']
-  exact hs.smul_mem hx (inv_nonneg.2 <| zero_le_one.trans ht) (inv_le_one ht)
+  exact hs.smul_mem hx (by positivity) (inv_le_one ht)
 #align star_convex.mem_smul StarConvex.mem_smul
 
 end AddCommGroup
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supβ‚› β†’ sSup
  • infβ‚› β†’ sInf
  • supα΅’ β†’ iSup
  • infα΅’ β†’ iInf
  • bsupβ‚› β†’ bsSup
  • binfβ‚› β†’ bsInf
  • bsupα΅’ β†’ biSup
  • binfα΅’ β†’ biInf
  • csupβ‚› β†’ csSup
  • cinfβ‚› β†’ csInf
  • csupα΅’ β†’ ciSup
  • cinfα΅’ β†’ ciInf
  • unionβ‚› β†’ sUnion
  • interβ‚› β†’ sInter
  • unionα΅’ β†’ iUnion
  • interα΅’ β†’ iInter
  • bunionβ‚› β†’ bsUnion
  • binterβ‚› β†’ bsInter
  • bunionα΅’ β†’ biUnion
  • binterα΅’ β†’ biInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -110,14 +110,14 @@ theorem StarConvex.inter (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   fun _ hy _ _ ha hb hab => ⟨hs hy.left ha hb hab, ht hy.right ha hb hab⟩
 #align star_convex.inter StarConvex.inter
 
-theorem starConvex_interβ‚› {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
+theorem starConvex_sInter {S : Set (Set E)} (h : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (β‹‚β‚€ S) := fun _ hy _ _ ha hb hab s hs => h s hs (hy s hs) ha hb hab
-#align star_convex_sInter starConvex_interβ‚›
+#align star_convex_sInter starConvex_sInter
 
-theorem starConvex_interα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
+theorem starConvex_iInter {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (β‹‚ i, s i) :=
-  interβ‚›_range s β–Έ starConvex_interβ‚› <| forall_range_iff.2 h
-#align star_convex_Inter starConvex_interα΅’
+  sInter_range s β–Έ starConvex_sInter <| forall_range_iff.2 h
+#align star_convex_Inter starConvex_iInter
 
 theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
     StarConvex π•œ x (s βˆͺ t) := by
@@ -126,19 +126,19 @@ theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
   Β· exact Or.inr (ht hy ha hb hab)
 #align star_convex.union StarConvex.union
 
-theorem starConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
+theorem starConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (hs : βˆ€ i, StarConvex π•œ x (s i)) :
     StarConvex π•œ x (⋃ i, s i) := by
   rintro y hy a b ha hb hab
-  rw [mem_unionᡒ] at hy⊒
+  rw [mem_iUnion] at hy⊒
   obtain ⟨i, hy⟩ := hy
   exact ⟨i, hs i hy ha hb hab⟩
-#align star_convex_Union starConvex_unionα΅’
+#align star_convex_Union starConvex_iUnion
 
-theorem starConvex_unionβ‚› {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x s) :
+theorem starConvex_sUnion {S : Set (Set E)} (hS : βˆ€ s ∈ S, StarConvex π•œ x s) :
     StarConvex π•œ x (⋃₀ S) := by
-  rw [unionβ‚›_eq_unionα΅’]
-  exact starConvex_unionα΅’ fun s => hS _ s.2
-#align star_convex_sUnion starConvex_unionβ‚›
+  rw [sUnion_eq_iUnion]
+  exact starConvex_iUnion fun s => hS _ s.2
+#align star_convex_sUnion starConvex_sUnion
 
 theorem StarConvex.prod {y : F} {s : Set E} {t : Set F} (hs : StarConvex π•œ x s)
     (ht : StarConvex π•œ y t) : StarConvex π•œ (x, y) (s Γ—Λ’ t) := fun _ hy _ _ ha hb hab =>
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -119,8 +119,8 @@ theorem starConvex_interα΅’ {ΞΉ : Sort _} {s : ΞΉ β†’ Set E} (h : βˆ€ i, StarCon
   interβ‚›_range s β–Έ starConvex_interβ‚› <| forall_range_iff.2 h
 #align star_convex_Inter starConvex_interα΅’
 
-theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) : StarConvex π•œ x (s βˆͺ t) :=
-  by
+theorem StarConvex.union (hs : StarConvex π•œ x s) (ht : StarConvex π•œ x t) :
+    StarConvex π•œ x (s βˆͺ t) := by
   rintro y (hy | hy) a b ha hb hab
   Β· exact Or.inl (hs hy ha hb hab)
   Β· exact Or.inr (ht hy ha hb hab)
@@ -162,9 +162,8 @@ theorem StarConvex.mem (hs : StarConvex π•œ x s) (h : s.Nonempty) : x ∈ s :=
   rw [one_smul, zero_smul, add_zero]
 #align star_convex.mem StarConvex.mem
 
-theorem starConvex_iff_forall_pos (hx : x ∈ s) :
-    StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s :=
-  by
+theorem starConvex_iff_forall_pos (hx : x ∈ s) : StarConvex π•œ x s ↔
+    βˆ€ ⦃y⦄, y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 < a β†’ 0 < b β†’ a + b = 1 β†’ a β€’ x + b β€’ y ∈ s := by
   refine' ⟨fun h y hy a b ha hb hab => h hy ha.le hb.le hab, _⟩
   intro h y hy a b ha hb hab
   obtain rfl | ha := ha.eq_or_lt
@@ -391,11 +390,8 @@ section AddCommGroup
 variable [AddCommGroup E] [Module π•œ E] {x : E} {s : Set E}
 
 /-- Alternative definition of star-convexity, using division. -/
-theorem starConvex_iff_div :
-    StarConvex π•œ x s ↔
-      βˆ€ ⦃y⦄,
-        y ∈ s β†’
-          βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ 0 < a + b β†’ (a / (a + b)) β€’ x + (b / (a + b)) β€’ y ∈ s :=
+theorem starConvex_iff_div : StarConvex π•œ x s ↔ βˆ€ ⦃y⦄, y ∈ s β†’
+    βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ 0 < a + b β†’ (a / (a + b)) β€’ x + (b / (a + b)) β€’ y ∈ s :=
   ⟨fun h y hy a b ha hb hab => by
     apply h hy
     Β· have ha' := mul_le_mul_of_nonneg_left ha (inv_pos.2 hab).le
@@ -403,15 +399,15 @@ theorem starConvex_iff_div :
     Β· have hb' := mul_le_mul_of_nonneg_left hb (inv_pos.2 hab).le
       rwa [MulZeroClass.mul_zero, ← div_eq_inv_mul] at hb'
     Β· rw [← add_div]
-      exact div_self hab.ne', fun h y hy a b ha hb hab =>
-    by
+      exact div_self hab.ne',
+  fun h y hy a b ha hb hab => by
     have h' := h hy ha hb
     rw [hab, div_one, div_one] at h'
     exact h' zero_lt_one⟩
 #align star_convex_iff_div starConvex_iff_div
 
-theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) : x ∈ t β€’ s :=
-  by
+theorem StarConvex.mem_smul (hs : StarConvex π•œ 0 s) (hx : x ∈ s) {t : π•œ} (ht : 1 ≀ t) :
+    x ∈ t β€’ s := by
   rw [mem_smul_set_iff_inv_smul_memβ‚€ (zero_lt_one.trans_le ht).ne']
   exact hs.smul_mem hx (inv_nonneg.2 <| zero_le_one.trans ht) (inv_le_one ht)
 #align star_convex.mem_smul StarConvex.mem_smul
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -448,7 +448,6 @@ theorem Set.OrdConnected.starConvex [OrderedSemiring π•œ] [OrderedAddCommMonoid
     calc
       a β€’ x + b β€’ y ≀ a β€’ x + b β€’ x := add_le_add_left (smul_le_smul_of_nonneg hyx hb) _
       _ = x := Convex.combo_self hab _
-
 #align set.ord_connected.star_convex Set.OrdConnected.starConvex
 
 theorem starConvex_iff_ordConnected [LinearOrderedField π•œ] {x : π•œ} {s : Set π•œ} (hx : x ∈ s) :
feat: port Analysis.Convex.Star (#3050)

Dependencies 8 + 417

418 files ported (98.1%)
170177 lines ported (98.2%)
Show graph

The unported dependencies are