analysis.convex.strict
β·
Mathlib.Analysis.Convex.Strict
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -422,8 +422,8 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
classical
by_contra hxy
exact
- (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
- (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
+ (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel _ _, rflβ©).2
+ (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -102,7 +102,7 @@ theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Di
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) :=
by
rintro x hx y hy hxy a b ha hb hab
- rw [mem_Union] at hx hy
+ rw [mem_Union] at hx hy
obtain β¨i, hxβ© := hx
obtain β¨j, hyβ© := hy
obtain β¨k, hik, hjkβ© := hdir i j
@@ -290,7 +290,7 @@ theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
intro x hx y hy hxy a b ha hb hab
refine' preimage_interior_subset_interior_preimage (continuous_add_left _) _
have h := hs hx hy ((add_right_injective _).Ne hxy) 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 strict_convex.preimage_add_right StrictConvex.preimage_add_right
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -389,7 +389,16 @@ variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [Continuou
#print StrictConvex.preimage_smul /-
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
- StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by classical
+ StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
+ classical
+ obtain rfl | hc := eq_or_ne c 0
+ Β· simp_rw [zero_smul, preimage_const]
+ split_ifs
+ Β· exact strictConvex_univ
+ Β· exact strictConvex_empty
+ refine' hs.linear_preimage (LinearMap.lsmul _ _ c) _ (smul_right_injective E hc)
+ unfold LinearMap.lsmul LinearMap.mkβ LinearMap.mkβ' LinearMap.mkβ'ββ
+ exact continuous_const_smul _
#align strict_convex.preimage_smul StrictConvex.preimage_smul
-/
@@ -411,6 +420,10 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
x = y := by
obtain β¨a, haβ, haββ© := DenselyOrdered.dense (0 : π) 1 zero_lt_one
classical
+ by_contra hxy
+ exact
+ (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
+ (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -389,16 +389,7 @@ variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [Continuou
#print StrictConvex.preimage_smul /-
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
- StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
- classical
- obtain rfl | hc := eq_or_ne c 0
- Β· simp_rw [zero_smul, preimage_const]
- split_ifs
- Β· exact strictConvex_univ
- Β· exact strictConvex_empty
- refine' hs.linear_preimage (LinearMap.lsmul _ _ c) _ (smul_right_injective E hc)
- unfold LinearMap.lsmul LinearMap.mkβ LinearMap.mkβ' LinearMap.mkβ'ββ
- exact continuous_const_smul _
+ StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by classical
#align strict_convex.preimage_smul StrictConvex.preimage_smul
-/
@@ -420,10 +411,6 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
x = y := by
obtain β¨a, haβ, haββ© := DenselyOrdered.dense (0 : π) 1 zero_lt_one
classical
- by_contra hxy
- exact
- (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
- (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -132,16 +132,17 @@ protected theorem StrictConvex.convex (hs : StrictConvex π s) : Convex π s
#align strict_convex.convex StrictConvex.convex
-/
-#print Convex.strictConvex_of_open /-
+#print Convex.strictConvex_of_isOpen /-
/-- An open convex set is strictly convex. -/
-protected theorem Convex.strictConvex_of_open (h : IsOpen s) (hs : Convex π s) : StrictConvex π s :=
- fun x hx y hy _ a b ha hb hab => h.interior_eq.symm βΈ hs hx hy ha.le hb.le hab
-#align convex.strict_convex_of_open Convex.strictConvex_of_open
+protected theorem Convex.strictConvex_of_isOpen (h : IsOpen s) (hs : Convex π s) :
+ StrictConvex π s := fun x hx y hy _ a b ha hb hab =>
+ h.interior_eq.symm βΈ hs hx hy ha.le hb.le hab
+#align convex.strict_convex_of_open Convex.strictConvex_of_isOpen
-/
#print IsOpen.strictConvex_iff /-
theorem IsOpen.strictConvex_iff (h : IsOpen s) : StrictConvex π s β Convex π s :=
- β¨StrictConvex.convex, Convex.strictConvex_of_open hβ©
+ β¨StrictConvex.convex, Convex.strictConvex_of_isOpen hβ©
#align is_open.strict_convex_iff IsOpen.strictConvex_iff
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ 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.Basic
-import Mathbin.Topology.Algebra.Order.Group
+import Analysis.Convex.Basic
+import Topology.Algebra.Order.Group
#align_import analysis.convex.strict from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -559,7 +559,7 @@ theorem strictConvex_iff_ordConnected : StrictConvex π s β s.OrdConnected :
#align strict_convex_iff_ord_connected strictConvex_iff_ordConnected
-/
-alias strictConvex_iff_ordConnected β StrictConvex.ordConnected _
+alias β¨StrictConvex.ordConnected, _β© := strictConvex_iff_ordConnected
#align strict_convex.ord_connected StrictConvex.ordConnected
end
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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.strict
-! leanprover-community/mathlib commit 31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.Convex.Basic
import Mathbin.Topology.Algebra.Order.Group
+#align_import analysis.convex.strict from "leanprover-community/mathlib"@"31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0"
+
/-!
# Strictly convex sets
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -55,38 +55,50 @@ def StrictConvex : Prop :=
variable {π s} {x y : E} {a b : π}
+#print strictConvex_iff_openSegment_subset /-
theorem strictConvex_iff_openSegment_subset :
StrictConvex π s β s.Pairwise fun x y => openSegment π x y β interior s :=
forallβ
_congr fun x hx y hy hxy => (openSegment_subset_iff π).symm
#align strict_convex_iff_open_segment_subset strictConvex_iff_openSegment_subset
+-/
+#print StrictConvex.openSegment_subset /-
theorem StrictConvex.openSegment_subset (hs : StrictConvex π s) (hx : x β s) (hy : y β s)
(h : x β y) : openSegment π x y β interior s :=
strictConvex_iff_openSegment_subset.1 hs hx hy h
#align strict_convex.open_segment_subset StrictConvex.openSegment_subset
+-/
+#print strictConvex_empty /-
theorem strictConvex_empty : StrictConvex π (β
: Set E) :=
pairwise_empty _
#align strict_convex_empty strictConvex_empty
+-/
+#print strictConvex_univ /-
theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
by
intro x hx y hy hxy a b ha hb hab
rw [interior_univ]
exact mem_univ _
#align strict_convex_univ strictConvex_univ
+-/
+#print StrictConvex.eq /-
protected theorem StrictConvex.eq (hs : StrictConvex π s) (hx : x β s) (hy : y β s) (ha : 0 < a)
(hb : 0 < b) (hab : a + b = 1) (h : a β’ x + b β’ y β interior s) : x = y :=
hs.Eq hx hy fun H => h <| H ha hb hab
#align strict_convex.eq StrictConvex.eq
+-/
+#print StrictConvex.inter /-
protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht : StrictConvex π t) :
StrictConvex π (s β© t) := by
intro x hx y hy hxy a b ha hb hab
rw [interior_inter]
exact β¨hs hx.1 hy.1 hxy ha hb hab, ht hx.2 hy.2 hxy ha hb habβ©
#align strict_convex.inter StrictConvex.inter
+-/
#print Directed.strictConvex_iUnion /-
theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
@@ -116,10 +128,12 @@ section Module
variable [Module π E] [Module π F] {s : Set E}
+#print StrictConvex.convex /-
protected theorem StrictConvex.convex (hs : StrictConvex π s) : Convex π s :=
convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
interior_subset <| hs hx hy hxy ha hb hab
#align strict_convex.convex StrictConvex.convex
+-/
#print Convex.strictConvex_of_open /-
/-- An open convex set is strictly convex. -/
@@ -134,9 +148,11 @@ theorem IsOpen.strictConvex_iff (h : IsOpen s) : StrictConvex π s β Convex
#align is_open.strict_convex_iff IsOpen.strictConvex_iff
-/
+#print strictConvex_singleton /-
theorem strictConvex_singleton (c : E) : StrictConvex π ({c} : Set E) :=
pairwise_singleton _ _
#align strict_convex_singleton strictConvex_singleton
+-/
#print Set.Subsingleton.strictConvex /-
theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π s :=
@@ -144,6 +160,7 @@ theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π
#align set.subsingleton.strict_convex Set.Subsingleton.strictConvex
-/
+#print StrictConvex.linear_image /-
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -152,12 +169,16 @@ theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F
refine' hf.image_interior_subset _ β¨a β’ x + b β’ y, hs hx hy (ne_of_apply_ne _ hxy) ha hb hab, _β©
rw [map_add, f.map_smul_of_tower a, f.map_smul_of_tower b]
#align strict_convex.linear_image StrictConvex.linear_image
+-/
+#print StrictConvex.is_linear_image /-
theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h : IsLinearMap π f)
(hf : IsOpenMap f) : StrictConvex π (f '' s) :=
hs.linear_image (h.mk' f) hf
#align strict_convex.is_linear_image StrictConvex.is_linear_image
+-/
+#print StrictConvex.linear_preimage /-
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
by
@@ -166,18 +187,22 @@ theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f :
rw [mem_preimage, f.map_add, f.map_smul, f.map_smul]
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.linear_preimage StrictConvex.linear_preimage
+-/
+#print StrictConvex.is_linear_preimage /-
theorem StrictConvex.is_linear_preimage {s : Set F} (hs : StrictConvex π s) {f : E β F}
(h : IsLinearMap π f) (hf : Continuous f) (hfinj : Injective f) :
StrictConvex π (s.Preimage f) :=
hs.linear_preimage (h.mk' f) hf hfinj
#align strict_convex.is_linear_preimage StrictConvex.is_linear_preimage
+-/
section LinearOrderedCancelAddCommMonoid
variable [TopologicalSpace Ξ²] [LinearOrderedCancelAddCommMonoid Ξ²] [OrderTopology Ξ²] [Module π Ξ²]
[OrderedSMul π Ξ²]
+#print Set.OrdConnected.strictConvex /-
protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected s) :
StrictConvex π s :=
by
@@ -187,46 +212,67 @@ protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected
(openSegment_subset_Ioo hlt).trans
(is_open_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
#align set.ord_connected.strict_convex Set.OrdConnected.strictConvex
+-/
+#print strictConvex_Iic /-
theorem strictConvex_Iic (r : Ξ²) : StrictConvex π (Iic r) :=
ordConnected_Iic.StrictConvex
#align strict_convex_Iic strictConvex_Iic
+-/
+#print strictConvex_Ici /-
theorem strictConvex_Ici (r : Ξ²) : StrictConvex π (Ici r) :=
ordConnected_Ici.StrictConvex
#align strict_convex_Ici strictConvex_Ici
+-/
+#print strictConvex_Iio /-
theorem strictConvex_Iio (r : Ξ²) : StrictConvex π (Iio r) :=
ordConnected_Iio.StrictConvex
#align strict_convex_Iio strictConvex_Iio
+-/
+#print strictConvex_Ioi /-
theorem strictConvex_Ioi (r : Ξ²) : StrictConvex π (Ioi r) :=
ordConnected_Ioi.StrictConvex
#align strict_convex_Ioi strictConvex_Ioi
+-/
+#print strictConvex_Icc /-
theorem strictConvex_Icc (r s : Ξ²) : StrictConvex π (Icc r s) :=
ordConnected_Icc.StrictConvex
#align strict_convex_Icc strictConvex_Icc
+-/
+#print strictConvex_Ioo /-
theorem strictConvex_Ioo (r s : Ξ²) : StrictConvex π (Ioo r s) :=
ordConnected_Ioo.StrictConvex
#align strict_convex_Ioo strictConvex_Ioo
+-/
+#print strictConvex_Ico /-
theorem strictConvex_Ico (r s : Ξ²) : StrictConvex π (Ico r s) :=
ordConnected_Ico.StrictConvex
#align strict_convex_Ico strictConvex_Ico
+-/
+#print strictConvex_Ioc /-
theorem strictConvex_Ioc (r s : Ξ²) : StrictConvex π (Ioc r s) :=
ordConnected_Ioc.StrictConvex
#align strict_convex_Ioc strictConvex_Ioc
+-/
+#print strictConvex_uIcc /-
theorem strictConvex_uIcc (r s : Ξ²) : StrictConvex π (uIcc r s) :=
strictConvex_Icc _ _
#align strict_convex_uIcc strictConvex_uIcc
+-/
+#print strictConvex_uIoc /-
theorem strictConvex_uIoc (r s : Ξ²) : StrictConvex π (uIoc r s) :=
strictConvex_Ioc _ _
#align strict_convex_uIoc strictConvex_uIoc
+-/
end LinearOrderedCancelAddCommMonoid
@@ -238,6 +284,7 @@ section AddCancelCommMonoid
variable [AddCancelCommMonoid E] [ContinuousAdd E] [Module π E] {s : Set E}
+#print StrictConvex.preimage_add_right /-
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) β»ΒΉ' s) :=
@@ -247,12 +294,15 @@ theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
have h := hs hx hy ((add_right_injective _).Ne hxy) ha hb hab
rwa [smul_add, smul_add, add_add_add_comm, β add_smul, hab, one_smul] at h
#align strict_convex.preimage_add_right StrictConvex.preimage_add_right
+-/
+#print StrictConvex.preimage_add_left /-
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) β»ΒΉ' s) := by
simpa only [add_comm] using hs.preimage_add_right z
#align strict_convex.preimage_add_left StrictConvex.preimage_add_left
+-/
end AddCancelCommMonoid
@@ -264,6 +314,7 @@ section continuous_add
variable [ContinuousAdd E] {s t : Set E}
+#print StrictConvex.add /-
theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s + t) :=
by
rintro _ β¨v, w, hv, hw, rflβ© _ β¨x, y, hx, hy, rflβ© h a b ha hb hab
@@ -278,20 +329,27 @@ theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) :
subset_interior_add_left
(add_mem_add (hs hv hx hvx ha hb hab) <| ht.convex hw hy ha.le hb.le hab)
#align strict_convex.add StrictConvex.add
+-/
+#print StrictConvex.add_left /-
theorem StrictConvex.add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) '' s) := by
simpa only [singleton_add] using (strictConvex_singleton z).add hs
#align strict_convex.add_left StrictConvex.add_left
+-/
+#print StrictConvex.add_right /-
theorem StrictConvex.add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) '' s) := by simpa only [add_comm] using hs.add_left z
#align strict_convex.add_right StrictConvex.add_right
+-/
+#print StrictConvex.vadd /-
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.vadd (hs : StrictConvex π s) (x : E) : StrictConvex π (x +α΅₯ s) :=
hs.add_left x
#align strict_convex.vadd StrictConvex.vadd
+-/
end continuous_add
@@ -300,17 +358,21 @@ section ContinuousSmul
variable [LinearOrderedField π] [Module π E] [ContinuousConstSMul π E]
[LinearMap.CompatibleSMul E E π π] {s : Set E} {x : E}
+#print StrictConvex.smul /-
theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex π (c β’ s) :=
by
obtain rfl | hc := eq_or_ne c 0
Β· exact (subsingleton_zero_smul_set _).StrictConvex
Β· exact hs.linear_image (LinearMap.lsmul _ _ c) (isOpenMap_smulβ hc)
#align strict_convex.smul StrictConvex.smul
+-/
+#print StrictConvex.affinity /-
theorem StrictConvex.affinity [ContinuousAdd E] (hs : StrictConvex π s) (z : E) (c : π) :
StrictConvex π (z +α΅₯ c β’ s) :=
(hs.smul c).vadd z
#align strict_convex.affinity StrictConvex.affinity
+-/
end ContinuousSmul
@@ -327,6 +389,7 @@ section AddCommGroup
variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [ContinuousConstSMul π E]
{s : Set E}
+#print StrictConvex.preimage_smul /-
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
classical
@@ -339,6 +402,7 @@ theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
unfold LinearMap.lsmul LinearMap.mkβ LinearMap.mkβ' LinearMap.mkβ'ββ
exact continuous_const_smul _
#align strict_convex.preimage_smul StrictConvex.preimage_smul
+-/
end AddCommGroup
@@ -352,6 +416,7 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s t : Set E} {x y : E}
+#print StrictConvex.eq_of_openSegment_subset_frontier /-
theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [DenselyOrdered π]
(hs : StrictConvex π s) (hx : x β s) (hy : y β s) (h : openSegment π x y β frontier s) :
x = y := by
@@ -362,7 +427,9 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
(h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
(hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
+-/
+#print StrictConvex.add_smul_mem /-
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
(hy : y β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ y β interior s :=
by
@@ -373,12 +440,16 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
exact x
rw [β h, add_zero]
#align strict_convex.add_smul_mem StrictConvex.add_smul_mem
+-/
+#print StrictConvex.smul_mem_of_zero_mem /-
theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : t β’ x β interior s := by
simpa using hs.add_smul_mem zero_mem (by simpa using hx) hxβ htβ htβ
#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_mem
+-/
+#print StrictConvex.add_smul_sub_mem /-
theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (hy : y β s) (hxy : x β y)
{t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ (y - x) β interior s :=
by
@@ -386,7 +457,9 @@ theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (
rw [openSegment_eq_image']
exact mem_image_of_mem _ β¨htβ, htββ©
#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_mem
+-/
+#print StrictConvex.affine_preimage /-
/-- The preimage of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f : E βα΅[π] F}
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (f β»ΒΉ' s) :=
@@ -396,7 +469,9 @@ theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f :
rw [mem_preimage, Convex.combo_affine_apply hab]
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.affine_preimage StrictConvex.affine_preimage
+-/
+#print StrictConvex.affine_image /-
/-- The image of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π] F} (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -406,16 +481,21 @@ theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π]
hf.image_interior_subset _
β¨a β’ x + b β’ y, β¨hs hx hy (ne_of_apply_ne _ hxy) ha hb hab, Convex.combo_affine_apply habβ©β©
#align strict_convex.affine_image StrictConvex.affine_image
+-/
variable [TopologicalAddGroup E]
+#print StrictConvex.neg /-
theorem StrictConvex.neg (hs : StrictConvex π s) : StrictConvex π (-s) :=
hs.is_linear_preimage IsLinearMap.isLinearMap_neg continuous_id.neg neg_injective
#align strict_convex.neg StrictConvex.neg
+-/
+#print StrictConvex.sub /-
theorem StrictConvex.sub (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s - t) :=
(sub_eq_add_neg s t).symm βΈ hs.add ht.neg
#align strict_convex.sub StrictConvex.sub
+-/
end AddCommGroup
@@ -429,6 +509,7 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s : Set E} {x : E}
+#print strictConvex_iff_div /-
/-- Alternative definition of set strict convexity, using division. -/
theorem strictConvex_iff_div :
StrictConvex π s β
@@ -441,13 +522,16 @@ theorem strictConvex_iff_div :
exact div_self (add_pos ha hb).ne', fun h x hx y hy hxy a b ha hb hab => by
convert h hx hy hxy ha hb <;> rw [hab, div_one]β©
#align strict_convex_iff_div strictConvex_iff_div
+-/
+#print StrictConvex.mem_smul_of_zero_mem /-
theorem StrictConvex.mem_smul_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (ht : 1 < t) : x β t β’ interior s :=
by
rw [mem_smul_set_iff_inv_smul_memβ (zero_lt_one.trans ht).ne']
exact hs.smul_mem_of_zero_mem zero_mem hx hxβ (inv_pos.2 <| zero_lt_one.trans ht) (inv_lt_one ht)
#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_mem
+-/
end AddCommGroup
@@ -464,15 +548,19 @@ section
variable [LinearOrderedField π] [TopologicalSpace π] [OrderTopology π] {s : Set π}
+#print strictConvex_iff_convex /-
/-- A set in a linear ordered field is strictly convex if and only if it is convex. -/
@[simp]
theorem strictConvex_iff_convex : StrictConvex π s β Convex π s :=
β¨StrictConvex.convex, fun hs => hs.OrdConnected.StrictConvexβ©
#align strict_convex_iff_convex strictConvex_iff_convex
+-/
+#print strictConvex_iff_ordConnected /-
theorem strictConvex_iff_ordConnected : StrictConvex π s β s.OrdConnected :=
strictConvex_iff_convex.trans convex_iff_ordConnected
#align strict_convex_iff_ord_connected strictConvex_iff_ordConnected
+-/
alias strictConvex_iff_ordConnected β StrictConvex.ordConnected _
#align strict_convex.ord_connected StrictConvex.ordConnected
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -330,14 +330,14 @@ variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [Continuou
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
classical
- obtain rfl | hc := eq_or_ne c 0
- Β· simp_rw [zero_smul, preimage_const]
- split_ifs
- Β· exact strictConvex_univ
- Β· exact strictConvex_empty
- refine' hs.linear_preimage (LinearMap.lsmul _ _ c) _ (smul_right_injective E hc)
- unfold LinearMap.lsmul LinearMap.mkβ LinearMap.mkβ' LinearMap.mkβ'ββ
- exact continuous_const_smul _
+ obtain rfl | hc := eq_or_ne c 0
+ Β· simp_rw [zero_smul, preimage_const]
+ split_ifs
+ Β· exact strictConvex_univ
+ Β· exact strictConvex_empty
+ refine' hs.linear_preimage (LinearMap.lsmul _ _ c) _ (smul_right_injective E hc)
+ unfold LinearMap.lsmul LinearMap.mkβ LinearMap.mkβ' LinearMap.mkβ'ββ
+ exact continuous_const_smul _
#align strict_convex.preimage_smul StrictConvex.preimage_smul
end AddCommGroup
@@ -357,10 +357,10 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
x = y := by
obtain β¨a, haβ, haββ© := DenselyOrdered.dense (0 : π) 1 zero_lt_one
classical
- by_contra hxy
- exact
- (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
- (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
+ by_contra hxy
+ exact
+ (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
+ (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -93,7 +93,7 @@ theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Di
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) :=
by
rintro x hx y hy hxy a b ha hb hab
- rw [mem_Union] at hx hy
+ rw [mem_Union] at hx hy
obtain β¨i, hxβ© := hx
obtain β¨j, hyβ© := hy
obtain β¨k, hik, hjkβ© := hdir i j
@@ -182,7 +182,7 @@ protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected
StrictConvex π s :=
by
refine' strictConvex_iff_openSegment_subset.2 fun x hx y hy hxy => _
- cases' hxy.lt_or_lt with hlt hlt <;> [skip;rw [openSegment_symm]] <;>
+ cases' hxy.lt_or_lt with hlt hlt <;> [skip; rw [openSegment_symm]] <;>
exact
(openSegment_subset_Ioo hlt).trans
(is_open_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
@@ -245,7 +245,7 @@ theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
intro x hx y hy hxy a b ha hb hab
refine' preimage_interior_subset_interior_preimage (continuous_add_left _) _
have h := hs hx hy ((add_right_injective _).Ne hxy) 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 strict_convex.preimage_add_right StrictConvex.preimage_add_right
/-- The translation of a strictly convex set is also strictly convex. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -25,13 +25,13 @@ A set is strictly convex if the open segment between any two distinct points lie
open Set
-open Convex Pointwise
+open scoped Convex Pointwise
variable {π π E F Ξ² : Type _}
open Function Set
-open Convex
+open scoped Convex
section OrderedSemiring
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -55,44 +55,20 @@ def StrictConvex : Prop :=
variable {π s} {x y : E} {a b : π}
-/- warning: strict_convex_iff_open_segment_subset -> strictConvex_iff_openSegment_subset is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u2} E _inst_2 s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E}, Iff (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) (Set.Pairwise.{u1} E s (fun (x : E) (y : E) => HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u1} E _inst_2 s)))
-Case conversion may be inaccurate. Consider using '#align strict_convex_iff_open_segment_subset strictConvex_iff_openSegment_subsetβ'. -/
theorem strictConvex_iff_openSegment_subset :
StrictConvex π s β s.Pairwise fun x y => openSegment π x y β interior s :=
forallβ
_congr fun x hx y hy hxy => (openSegment_subset_iff π).symm
#align strict_convex_iff_open_segment_subset strictConvex_iff_openSegment_subset
-/- warning: strict_convex.open_segment_subset -> StrictConvex.openSegment_subset is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u2} E _inst_2 s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u1} E _inst_2 s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.open_segment_subset StrictConvex.openSegment_subsetβ'. -/
theorem StrictConvex.openSegment_subset (hs : StrictConvex π s) (hx : x β s) (hy : y β s)
(h : x β y) : openSegment π x y β interior s :=
strictConvex_iff_openSegment_subset.1 hs hx hy h
#align strict_convex.open_segment_subset StrictConvex.openSegment_subset
-/- warning: strict_convex_empty -> strictConvex_empty is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E], StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (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 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E], StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
-Case conversion may be inaccurate. Consider using '#align strict_convex_empty strictConvex_emptyβ'. -/
theorem strictConvex_empty : StrictConvex π (β
: Set E) :=
pairwise_empty _
#align strict_convex_empty strictConvex_empty
-/- warning: strict_convex_univ -> strictConvex_univ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E], StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Set.univ.{u2} E)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E], StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 (Set.univ.{u1} E)
-Case conversion may be inaccurate. Consider using '#align strict_convex_univ strictConvex_univβ'. -/
theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
by
intro x hx y hy hxy a b ha hb hab
@@ -100,23 +76,11 @@ theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
exact mem_univ _
#align strict_convex_univ strictConvex_univ
-/- warning: strict_convex.eq -> StrictConvex.eq is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (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))))))))) -> (Not (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_4)))) (SMul.smul.{u1, u2} π E _inst_6 a x) (SMul.smul.{u1, u2} π E _inst_6 b y)) (interior.{u2} E _inst_2 s))) -> (Eq.{succ u2} E x y)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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))))) -> (Not (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 (AddCommMonoid.toAddMonoid.{u1} E _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) a x) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) b y)) (interior.{u1} E _inst_2 s))) -> (Eq.{succ u1} E x y)
-Case conversion may be inaccurate. Consider using '#align strict_convex.eq StrictConvex.eqβ'. -/
protected theorem StrictConvex.eq (hs : StrictConvex π s) (hx : x β s) (hy : y β s) (ha : 0 < a)
(hb : 0 < b) (hab : a + b = 1) (h : a β’ x + b β’ y β interior s) : x = y :=
hs.Eq hx hy fun H => h <| H ha hb hab
#align strict_convex.eq StrictConvex.eq
-/- warning: strict_convex.inter -> StrictConvex.inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t))
-Case conversion may be inaccurate. Consider using '#align strict_convex.inter StrictConvex.interβ'. -/
protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht : StrictConvex π t) :
StrictConvex π (s β© t) := by
intro x hx y hy hxy a b ha hb hab
@@ -152,12 +116,6 @@ section Module
variable [Module π E] [Module π F] {s : Set E}
-/- warning: strict_convex.convex -> StrictConvex.convex is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (Convex.{u1, u2} π E _inst_1 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) s) -> (Convex.{u2, u1} π E _inst_1 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) s)
-Case conversion may be inaccurate. Consider using '#align strict_convex.convex StrictConvex.convexβ'. -/
protected theorem StrictConvex.convex (hs : StrictConvex π s) : Convex π s :=
convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
interior_subset <| hs hx hy hxy ha hb hab
@@ -176,12 +134,6 @@ theorem IsOpen.strictConvex_iff (h : IsOpen s) : StrictConvex π s β Convex
#align is_open.strict_convex_iff IsOpen.strictConvex_iff
-/
-/- warning: strict_convex_singleton -> strictConvex_singleton is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] (c : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) c)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] (c : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) c)
-Case conversion may be inaccurate. Consider using '#align strict_convex_singleton strictConvex_singletonβ'. -/
theorem strictConvex_singleton (c : E) : StrictConvex π ({c} : Set E) :=
pairwise_singleton _ _
#align strict_convex_singleton strictConvex_singleton
@@ -192,9 +144,6 @@ theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π
#align set.subsingleton.strict_convex Set.Subsingleton.strictConvex
-/
-/- warning: strict_convex.linear_image -> StrictConvex.linear_image is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.linear_image StrictConvex.linear_imageβ'. -/
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -204,20 +153,11 @@ theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F
rw [map_add, f.map_smul_of_tower a, f.map_smul_of_tower b]
#align strict_convex.linear_image StrictConvex.linear_image
-/- warning: strict_convex.is_linear_image -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (IsOpenMap.{u2, u3} E F _inst_2 _inst_3 f) -> (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_5] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u3, u2} π E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4)) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4 _inst_6)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u3, u2, u1} π E F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 f) -> (StrictConvex.{u3, u1} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u1} π F (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_5)) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u2, u1} E F f s)))
-Case conversion may be inaccurate. Consider using '#align strict_convex.is_linear_image StrictConvex.is_linear_imageβ'. -/
theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h : IsLinearMap π f)
(hf : IsOpenMap f) : StrictConvex π (f '' s) :=
hs.linear_image (h.mk' f) hf
#align strict_convex.is_linear_image StrictConvex.is_linear_image
-/- warning: strict_convex.linear_preimage -> StrictConvex.linear_preimage is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.linear_preimage StrictConvex.linear_preimageβ'. -/
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
by
@@ -227,12 +167,6 @@ theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f :
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.linear_preimage StrictConvex.linear_preimage
-/- warning: strict_convex.is_linear_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (Continuous.{u2, u3} E F _inst_2 _inst_3 f) -> (Function.Injective.{succ u2, succ u3} E F f) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u2, u1, u3} π E F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (Continuous.{u1, u3} E F _inst_2 _inst_3 f) -> (Function.Injective.{succ u1, succ u3} E F f) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (Set.preimage.{u1, u3} E F f s)))
-Case conversion may be inaccurate. Consider using '#align strict_convex.is_linear_preimage StrictConvex.is_linear_preimageβ'. -/
theorem StrictConvex.is_linear_preimage {s : Set F} (hs : StrictConvex π s) {f : E β F}
(h : IsLinearMap π f) (hf : Continuous f) (hfinj : Injective f) :
StrictConvex π (s.Preimage f) :=
@@ -244,12 +178,6 @@ section LinearOrderedCancelAddCommMonoid
variable [TopologicalSpace Ξ²] [LinearOrderedCancelAddCommMonoid Ξ²] [OrderTopology Ξ²] [Module π Ξ²]
[OrderedSMul π Ξ²]
-/- warning: set.ord_connected.strict_convex -> Set.OrdConnected.strictConvex is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] {s : Set.{u2} Ξ²}, (Set.OrdConnected.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) s) -> (StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) s)
-but is expected to have type
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] {s : Set.{u2} Ξ²}, (Set.OrdConnected.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) s) -> (StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u1, u2} π Ξ² (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π Ξ² (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) s)
-Case conversion may be inaccurate. Consider using '#align set.ord_connected.strict_convex Set.OrdConnected.strictConvexβ'. -/
protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected s) :
StrictConvex π s :=
by
@@ -260,102 +188,42 @@ protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected
(is_open_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
#align set.ord_connected.strict_convex Set.OrdConnected.strictConvex
-/- warning: strict_convex_Iic -> strictConvex_Iic is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Iic.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Iic.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Iic strictConvex_Iicβ'. -/
theorem strictConvex_Iic (r : Ξ²) : StrictConvex π (Iic r) :=
ordConnected_Iic.StrictConvex
#align strict_convex_Iic strictConvex_Iic
-/- warning: strict_convex_Ici -> strictConvex_Ici is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ici.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ici.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Ici strictConvex_Iciβ'. -/
theorem strictConvex_Ici (r : Ξ²) : StrictConvex π (Ici r) :=
ordConnected_Ici.StrictConvex
#align strict_convex_Ici strictConvex_Ici
-/- warning: strict_convex_Iio -> strictConvex_Iio is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Iio.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Iio.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Iio strictConvex_Iioβ'. -/
theorem strictConvex_Iio (r : Ξ²) : StrictConvex π (Iio r) :=
ordConnected_Iio.StrictConvex
#align strict_convex_Iio strictConvex_Iio
-/- warning: strict_convex_Ioi -> strictConvex_Ioi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioi.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioi.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Ioi strictConvex_Ioiβ'. -/
theorem strictConvex_Ioi (r : Ξ²) : StrictConvex π (Ioi r) :=
ordConnected_Ioi.StrictConvex
#align strict_convex_Ioi strictConvex_Ioi
-/- warning: strict_convex_Icc -> strictConvex_Icc is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Icc.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Icc.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Icc strictConvex_Iccβ'. -/
theorem strictConvex_Icc (r s : Ξ²) : StrictConvex π (Icc r s) :=
ordConnected_Icc.StrictConvex
#align strict_convex_Icc strictConvex_Icc
-/- warning: strict_convex_Ioo -> strictConvex_Ioo is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioo.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioo.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Ioo strictConvex_Iooβ'. -/
theorem strictConvex_Ioo (r s : Ξ²) : StrictConvex π (Ioo r s) :=
ordConnected_Ioo.StrictConvex
#align strict_convex_Ioo strictConvex_Ioo
-/- warning: strict_convex_Ico -> strictConvex_Ico is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ico.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ico.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Ico strictConvex_Icoβ'. -/
theorem strictConvex_Ico (r s : Ξ²) : StrictConvex π (Ico r s) :=
ordConnected_Ico.StrictConvex
#align strict_convex_Ico strictConvex_Ico
-/- warning: strict_convex_Ioc -> strictConvex_Ioc is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioc.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioc.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_Ioc strictConvex_Iocβ'. -/
theorem strictConvex_Ioc (r s : Ξ²) : StrictConvex π (Ioc r s) :=
ordConnected_Ioc.StrictConvex
#align strict_convex_Ioc strictConvex_Ioc
-/- warning: strict_convex_uIcc -> strictConvex_uIcc is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.uIcc.{u2} Ξ² (LinearOrder.toLattice.{u2} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9))) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.uIcc.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)))) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_uIcc strictConvex_uIccβ'. -/
theorem strictConvex_uIcc (r s : Ξ²) : StrictConvex π (uIcc r s) :=
strictConvex_Icc _ _
#align strict_convex_uIcc strictConvex_uIcc
-/- warning: strict_convex_uIoc -> strictConvex_uIoc is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.uIoc.{u2} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9)) r s)
-but is expected to have type
- forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.uIoc.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) r s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_uIoc strictConvex_uIocβ'. -/
theorem strictConvex_uIoc (r s : Ξ²) : StrictConvex π (uIoc r s) :=
strictConvex_Ioc _ _
#align strict_convex_uIoc strictConvex_uIoc
@@ -370,12 +238,6 @@ section AddCancelCommMonoid
variable [AddCancelCommMonoid E] [ContinuousAdd E] [Module π E] {s : Set E}
-/- warning: strict_convex.preimage_add_right -> StrictConvex.preimage_add_right is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCancelCommMonoid.{u2} E] [_inst_5 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))) z x) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCancelCommMonoid.{u1} E] [_inst_5 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))) z x) s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_add_right StrictConvex.preimage_add_rightβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) β»ΒΉ' s) :=
@@ -386,12 +248,6 @@ theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
rwa [smul_add, smul_add, add_add_add_comm, β add_smul, hab, one_smul] at h
#align strict_convex.preimage_add_right StrictConvex.preimage_add_right
-/- warning: strict_convex.preimage_add_left -> StrictConvex.preimage_add_left is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCancelCommMonoid.{u2} E] [_inst_5 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))) x z) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCancelCommMonoid.{u1} E] [_inst_5 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))) x z) s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_add_left StrictConvex.preimage_add_leftβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) β»ΒΉ' s) := by
@@ -408,12 +264,6 @@ section continuous_add
variable [ContinuousAdd E] {s t : Set E}
-/- warning: strict_convex.add -> StrictConvex.add is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))))))) s t))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E} {t : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4))))))) s t))
-Case conversion may be inaccurate. Consider using '#align strict_convex.add StrictConvex.addβ'. -/
theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s + t) :=
by
rintro _ β¨v, w, hv, hw, rflβ© _ β¨x, y, hx, hy, rflβ© h a b ha hb hab
@@ -429,33 +279,15 @@ theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) :
(add_mem_add (hs hv hx hvx ha hb hab) <| ht.convex hw hy ha.le hb.le hab)
#align strict_convex.add StrictConvex.add
-/- warning: strict_convex.add_left -> StrictConvex.add_left is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))) z x) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) z x) s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.add_left StrictConvex.add_leftβ'. -/
theorem StrictConvex.add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) '' s) := by
simpa only [singleton_add] using (strictConvex_singleton z).add hs
#align strict_convex.add_left StrictConvex.add_left
-/- warning: strict_convex.add_right -> StrictConvex.add_right is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))) x z) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) x z) s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.add_right StrictConvex.add_rightβ'. -/
theorem StrictConvex.add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) '' s) := by simpa only [add_comm] using hs.add_left z
#align strict_convex.add_right StrictConvex.add_right
-/- warning: strict_convex.vadd -> StrictConvex.vadd is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (x : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (VAdd.vadd.{u2, u2} E (Set.{u2} E) (Set.vaddSet.{u2, u2} E E (Add.toVAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))))))) x s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (x : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (HVAdd.hVAdd.{u1, u1, u1} E (Set.{u1} E) (Set.{u1} E) (instHVAdd.{u1, u1} E (Set.{u1} E) (Set.vaddSet.{u1, u1} E E (AddAction.toVAdd.{u1, u1} E E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4))) (AddTorsor.toAddAction.{u1, u1} E E (AddCommGroup.toAddGroup.{u1} E _inst_4) (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) x s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.vadd StrictConvex.vaddβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.vadd (hs : StrictConvex π s) (x : E) : StrictConvex π (x +α΅₯ s) :=
hs.add_left x
@@ -468,9 +300,6 @@ section ContinuousSmul
variable [LinearOrderedField π] [Module π E] [ContinuousConstSMul π E]
[LinearMap.CompatibleSMul E E π π] {s : Set E} {x : E}
-/- warning: strict_convex.smul -> StrictConvex.smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.smul StrictConvex.smulβ'. -/
theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex π (c β’ s) :=
by
obtain rfl | hc := eq_or_ne c 0
@@ -478,9 +307,6 @@ theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex
Β· exact hs.linear_image (LinearMap.lsmul _ _ c) (isOpenMap_smulβ hc)
#align strict_convex.smul StrictConvex.smul
-/- warning: strict_convex.affinity -> StrictConvex.affinity is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.affinity StrictConvex.affinityβ'. -/
theorem StrictConvex.affinity [ContinuousAdd E] (hs : StrictConvex π s) (z : E) (c : π) :
StrictConvex π (z +α΅₯ c β’ s) :=
(hs.smul c).vadd z
@@ -501,9 +327,6 @@ section AddCommGroup
variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [ContinuousConstSMul π E]
{s : Set E}
-/- warning: strict_convex.preimage_smul -> StrictConvex.preimage_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_smul StrictConvex.preimage_smulβ'. -/
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
classical
@@ -529,9 +352,6 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s t : Set E} {x y : E}
-/- warning: strict_convex.eq_of_open_segment_subset_frontier -> StrictConvex.eq_of_openSegment_subset_frontier is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontierβ'. -/
theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [DenselyOrdered π]
(hs : StrictConvex π s) (hx : x β s) (hy : y β s) (h : openSegment π x y β frontier s) :
x = y := by
@@ -543,9 +363,6 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
(hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
-/- warning: strict_convex.add_smul_mem -> StrictConvex.add_smul_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_mem StrictConvex.add_smul_memβ'. -/
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
(hy : y β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ y β interior s :=
by
@@ -557,17 +374,11 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
rw [β h, add_zero]
#align strict_convex.add_smul_mem StrictConvex.add_smul_mem
-/- warning: strict_convex.smul_mem_of_zero_mem -> StrictConvex.smul_mem_of_zero_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_memβ'. -/
theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : t β’ x β interior s := by
simpa using hs.add_smul_mem zero_mem (by simpa using hx) hxβ htβ htβ
#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_mem
-/- warning: strict_convex.add_smul_sub_mem -> StrictConvex.add_smul_sub_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_memβ'. -/
theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (hy : y β s) (hxy : x β y)
{t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ (y - x) β interior s :=
by
@@ -576,9 +387,6 @@ theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (
exact mem_image_of_mem _ β¨htβ, htββ©
#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_mem
-/- warning: strict_convex.affine_preimage -> StrictConvex.affine_preimage is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.affine_preimage StrictConvex.affine_preimageβ'. -/
/-- The preimage of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f : E βα΅[π] F}
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (f β»ΒΉ' s) :=
@@ -589,9 +397,6 @@ theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f :
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.affine_preimage StrictConvex.affine_preimage
-/- warning: strict_convex.affine_image -> StrictConvex.affine_image is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.affine_image StrictConvex.affine_imageβ'. -/
/-- The image of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π] F} (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -604,22 +409,10 @@ theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π]
variable [TopologicalAddGroup E]
-/- warning: strict_convex.neg -> StrictConvex.neg is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} [_inst_8 : TopologicalAddGroup.{u2} E _inst_2 (AddCommGroup.toAddGroup.{u2} E _inst_4)], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} [_inst_8 : TopologicalAddGroup.{u1} E _inst_2 (AddCommGroup.toAddGroup.{u1} E _inst_4)], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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_4)))))) s))
-Case conversion may be inaccurate. Consider using '#align strict_convex.neg StrictConvex.negβ'. -/
theorem StrictConvex.neg (hs : StrictConvex π s) : StrictConvex π (-s) :=
hs.is_linear_preimage IsLinearMap.isLinearMap_neg continuous_id.neg neg_injective
#align strict_convex.neg StrictConvex.neg
-/- warning: strict_convex.sub -> StrictConvex.sub is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} [_inst_8 : TopologicalAddGroup.{u2} E _inst_2 (AddCommGroup.toAddGroup.{u2} E _inst_4)], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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_4))))) s t))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} [_inst_8 : TopologicalAddGroup.{u1} E _inst_2 (AddCommGroup.toAddGroup.{u1} E _inst_4)], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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_4))))) s t))
-Case conversion may be inaccurate. Consider using '#align strict_convex.sub StrictConvex.subβ'. -/
theorem StrictConvex.sub (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s - t) :=
(sub_eq_add_neg s t).symm βΈ hs.add ht.neg
#align strict_convex.sub StrictConvex.sub
@@ -636,9 +429,6 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s : Set E} {x : E}
-/- warning: strict_convex_iff_div -> strictConvex_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex_iff_div strictConvex_iff_divβ'. -/
/-- Alternative definition of set strict convexity, using division. -/
theorem strictConvex_iff_div :
StrictConvex π s β
@@ -652,9 +442,6 @@ theorem strictConvex_iff_div :
convert h hx hy hxy ha hb <;> rw [hab, div_one]β©
#align strict_convex_iff_div strictConvex_iff_div
-/- warning: strict_convex.mem_smul_of_zero_mem -> StrictConvex.mem_smul_of_zero_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_memβ'. -/
theorem StrictConvex.mem_smul_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (ht : 1 < t) : x β t β’ interior s :=
by
@@ -677,34 +464,16 @@ section
variable [LinearOrderedField π] [TopologicalSpace π] [OrderTopology π] {s : Set π}
-/- warning: strict_convex_iff_convex -> strictConvex_iff_convex is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) s) (Convex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) s)
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) s) (Convex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) s)
-Case conversion may be inaccurate. Consider using '#align strict_convex_iff_convex strictConvex_iff_convexβ'. -/
/-- A set in a linear ordered field is strictly convex if and only if it is convex. -/
@[simp]
theorem strictConvex_iff_convex : StrictConvex π s β Convex π s :=
β¨StrictConvex.convex, fun hs => hs.OrdConnected.StrictConvexβ©
#align strict_convex_iff_convex strictConvex_iff_convex
-/- warning: strict_convex_iff_ord_connected -> strictConvex_iff_ordConnected is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) 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} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) 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 strict_convex_iff_ord_connected strictConvex_iff_ordConnectedβ'. -/
theorem strictConvex_iff_ordConnected : StrictConvex π s β s.OrdConnected :=
strictConvex_iff_convex.trans convex_iff_ordConnected
#align strict_convex_iff_ord_connected strictConvex_iff_ordConnected
-/- warning: strict_convex.ord_connected -> StrictConvex.ordConnected is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) 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} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) 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 strict_convex.ord_connected StrictConvex.ordConnectedβ'. -/
alias strictConvex_iff_ordConnected β StrictConvex.ordConnected _
#align strict_convex.ord_connected StrictConvex.ordConnected
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -193,10 +193,7 @@ theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π
-/
/- warning: strict_convex.linear_image -> StrictConvex.linear_image is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u4} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u4} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u2} π] [_inst_9 : Module.{u2, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u2, u4} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u4} E F _inst_2 _inst_3 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f)) -> (StrictConvex.{u1, u4} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u4} E F (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f) s)))
-but is expected to have type
- forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_image StrictConvex.linear_imageβ'. -/
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
@@ -219,10 +216,7 @@ theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h
#align strict_convex.is_linear_image StrictConvex.is_linear_image
/- warning: strict_convex.linear_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) 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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_preimage StrictConvex.linear_preimageβ'. -/
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
@@ -475,10 +469,7 @@ variable [LinearOrderedField π] [Module π E] [ContinuousConstSMul π E]
[LinearMap.CompatibleSMul E E π π] {s : Set E} {x : E}
/- warning: strict_convex.smul -> StrictConvex.smul is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u2} π] [_inst_9 : Module.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u2, u3} π E _inst_2 (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u1, u2} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E}, (StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (c : π), StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))) c s))
-but is expected to have type
- forall {π : Type.{u3}} {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : LinearOrderedField.{u1} π] [_inst_9 : Module.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u1, 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_4))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u2, u2, u3, u1} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) π π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) _inst_9 (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (c : π), StrictConvex.{u3, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π 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_4))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_9)))))) c s))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.smul StrictConvex.smulβ'. -/
theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex π (c β’ s) :=
by
@@ -488,10 +479,7 @@ theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex
#align strict_convex.smul StrictConvex.smul
/- warning: strict_convex.affinity -> StrictConvex.affinity is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u2} π] [_inst_9 : Module.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u2, u3} π E _inst_2 (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u1, u2} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E} [_inst_12 : ContinuousAdd.{u3} E _inst_2 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (z : E) (c : π), StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (VAdd.vadd.{u3, u3} E (Set.{u3} E) (Set.vaddSet.{u3, u3} E E (Add.toVAdd.{u3} E (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))))) z (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))) c s)))
-but is expected to have type
- forall {π : Type.{u2}} {π : Type.{u1}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u1} π] [_inst_9 : Module.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u1, u3} π E _inst_2 (SMulZeroClass.toSMul.{u1, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u2, u1} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E} [_inst_12 : ContinuousAdd.{u3} E _inst_2 (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))], (StrictConvex.{u2, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (z : E) (c : π), StrictConvex.{u2, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (HVAdd.hVAdd.{u3, u3, u3} E (Set.{u3} E) (Set.{u3} E) (instHVAdd.{u3, u3} E (Set.{u3} E) (Set.vaddSet.{u3, u3} E E (AddAction.toVAdd.{u3, u3} E E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))) (AddTorsor.toAddAction.{u3, u3} E E (AddCommGroup.toAddGroup.{u3} E _inst_4) (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))) z (HSMul.hSMul.{u1, u3, u3} π (Set.{u3} E) (Set.{u3} E) (instHSMul.{u1, u3} π (Set.{u3} E) (Set.smulSet.{u1, u3} π E (SMulZeroClass.toSMul.{u1, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9)))))) c s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.affinity StrictConvex.affinityβ'. -/
theorem StrictConvex.affinity [ContinuousAdd E] (hs : StrictConvex π s) (z : E) (c : π) :
StrictConvex π (z +α΅₯ c β’ s) :=
@@ -514,10 +502,7 @@ variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [Continuou
{s : Set E}
/- warning: strict_convex.preimage_smul -> StrictConvex.preimage_smul is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] [_inst_5 : NoZeroSMulDivisors.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_3))))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4))))] [_inst_6 : ContinuousConstSMul.{u1, 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_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) s) -> (forall (c : π), StrictConvex.{u1, u2} π E (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) c z) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] [_inst_5 : NoZeroSMulDivisors.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))] [_inst_6 : ContinuousConstSMul.{u2, 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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4)))) s) -> (forall (c : π), StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4)))) (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 (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))) c z) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_smul StrictConvex.preimage_smulβ'. -/
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
@@ -545,10 +530,7 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s t : Set E} {x y : E}
/- warning: strict_convex.eq_of_open_segment_subset_frontier -> StrictConvex.eq_of_openSegment_subset_frontier is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u1} π] [_inst_9 : DenselyOrdered.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (OrderedRing.toOrderedAddCommGroup.{u1} π _inst_1))))], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) x y) (frontier.{u2} E _inst_2 s)) -> (Eq.{succ u2} E x y)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u2} π] [_inst_9 : DenselyOrdered.{u2} π (Preorder.toLT.{u2} π (PartialOrder.toPreorder.{u2} π (OrderedRing.toPartialOrder.{u2} π _inst_1)))], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) x y) (frontier.{u1} E _inst_2 s)) -> (Eq.{succ u1} E x y)
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontierβ'. -/
theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [DenselyOrdered π]
(hs : StrictConvex π s) (hx : x β s) (hy : y β s) (h : openSegment π x y β frontier s) :
@@ -562,10 +544,7 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
/- warning: strict_convex.add_smul_mem -> StrictConvex.add_smul_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) 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_4)))))) x y) s) -> (Ne.{succ u2} E y (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t y)) (interior.{u2} E _inst_2 s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) 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_4)))))) x y) s) -> (Ne.{succ u1} E y (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t y)) (interior.{u1} E _inst_2 s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_mem StrictConvex.add_smul_memβ'. -/
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
(hy : y β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ y β interior s :=
@@ -579,10 +558,7 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
#align strict_convex.add_smul_mem StrictConvex.add_smul_mem
/- warning: strict_convex.smul_mem_of_zero_mem -> StrictConvex.smul_mem_of_zero_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_4)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t x) (interior.{u2} E _inst_2 s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_4))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t x) (interior.{u1} E _inst_2 s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_memβ'. -/
theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : t β’ x β interior s := by
@@ -590,10 +566,7 @@ theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem :
#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_mem
/- warning: strict_convex.add_smul_sub_mem -> StrictConvex.add_smul_sub_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) 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_4)))) y x))) (interior.{u2} E _inst_2 s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) 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_4)))) y x))) (interior.{u1} E _inst_2 s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_memβ'. -/
theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (hy : y β s) (hxy : x β y)
{t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ (y - x) β interior s :=
@@ -604,10 +577,7 @@ theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (
#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_mem
/- warning: strict_convex.affine_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toSMul.{u2, u3} π F (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π F (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u1, u3} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u1, succ u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.affine_preimage StrictConvex.affine_preimageβ'. -/
/-- The preimage of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f : E βα΅[π] F}
@@ -620,10 +590,7 @@ theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f :
#align strict_convex.affine_preimage StrictConvex.affine_preimage
/- warning: strict_convex.affine_image -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (IsOpenMap.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
-but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u3, u2, u2, u1, u1} π E E F F (OrderedRing.toRing.{u3} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))}, (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f)) -> (StrictConvex.{u3, u1} π F (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) (SMulZeroClass.toSMul.{u3, u1} π F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π F (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) _inst_7)))) (Set.image.{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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.affine_image StrictConvex.affine_imageβ'. -/
/-- The image of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π] F} (hf : IsOpenMap f) :
@@ -670,10 +637,7 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s : Set E} {x : E}
/- warning: strict_convex_iff_div -> strictConvex_iff_div is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))))))) a) -> (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))))))))))) 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_3)))))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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)) (interior.{u2} E _inst_2 s))))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E}, Iff (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u1} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))) a) -> (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))))))) 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_3)))))) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{u2} π _inst_1)))))))))) a b)) y)) (interior.{u1} E _inst_2 s))))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex_iff_div strictConvex_iff_divβ'. -/
/-- Alternative definition of set strict convexity, using division. -/
theorem strictConvex_iff_div :
@@ -689,10 +653,7 @@ theorem strictConvex_iff_div :
#align strict_convex_iff_div strictConvex_iff_div
/- warning: strict_convex.mem_smul_of_zero_mem -> StrictConvex.mem_smul_of_zero_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_3)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_3))))))))) -> (forall {t : π}, (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} π 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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5))))) t (interior.{u2} E _inst_2 s))))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_3))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_3)))))))) -> (forall {t : π}, (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} π 1 (One.toOfNat1.{u2} π (Semiring.toOne.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))))) t (interior.{u1} E _inst_2 s))))
+<too large>
Case conversion may be inaccurate. Consider using '#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_memβ'. -/
theorem StrictConvex.mem_smul_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (ht : 1 < t) : x β t β’ interior s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -196,7 +196,7 @@ theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π
lean 3 declaration is
forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u4} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u4} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u2} π] [_inst_9 : Module.{u2, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u2, u4} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u4} E F _inst_2 _inst_3 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f)) -> (StrictConvex.{u1, u4} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u4} E F (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f) s)))
but is expected to have type
- forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
+ forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_image StrictConvex.linear_imageβ'. -/
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
@@ -222,7 +222,7 @@ theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) 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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_preimage StrictConvex.linear_preimageβ'. -/
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
@@ -260,7 +260,7 @@ protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected
StrictConvex π s :=
by
refine' strictConvex_iff_openSegment_subset.2 fun x hx y hy hxy => _
- cases' hxy.lt_or_lt with hlt hlt <;> [skip, rw [openSegment_symm]] <;>
+ cases' hxy.lt_or_lt with hlt hlt <;> [skip;rw [openSegment_symm]] <;>
exact
(openSegment_subset_Ioo hlt).trans
(is_open_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -196,7 +196,7 @@ theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π
lean 3 declaration is
forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u4} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u4} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u2} π] [_inst_9 : Module.{u2, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u2, u4} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u4} E F _inst_2 _inst_3 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f)) -> (StrictConvex.{u1, u4} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u4} E F (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f) s)))
but is expected to have type
- forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
+ forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_image StrictConvex.linear_imageβ'. -/
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
@@ -222,7 +222,7 @@ theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) 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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.linear_preimage StrictConvex.linear_preimageβ'. -/
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -607,7 +607,7 @@ theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toSMul.{u2, u3} π F (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π F (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u1, u3} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u1, succ u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
+ forall {π : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toSMul.{u2, u3} π F (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π F (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u1, u3} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u1, succ u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.affine_preimage StrictConvex.affine_preimageβ'. -/
/-- The preimage of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f : E βα΅[π] F}
@@ -623,7 +623,7 @@ theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f :
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (IsOpenMap.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u3, u2, u2, u1, u1} π E E F F (OrderedRing.toRing.{u3} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))}, (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f)) -> (StrictConvex.{u3, u1} π F (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) (SMulZeroClass.toSMul.{u3, u1} π F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π F (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) _inst_7)))) (Set.image.{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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f) s)))
+ forall {π : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u3, u2, u2, u1, u1} π E E F F (OrderedRing.toRing.{u3} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))}, (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f)) -> (StrictConvex.{u3, u1} π F (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) (SMulZeroClass.toSMul.{u3, u1} π F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π F (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) _inst_7)))) (Set.image.{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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f) s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.affine_image StrictConvex.affine_imageβ'. -/
/-- The image of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π] F} (hf : IsOpenMap f) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -102,7 +102,7 @@ theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
/- warning: strict_convex.eq -> StrictConvex.eq is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (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))))))))) -> (Not (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_4)))) (SMul.smul.{u1, u2} π E _inst_6 a x) (SMul.smul.{u1, u2} π E _inst_6 b y)) (interior.{u2} E _inst_2 s))) -> (Eq.{succ u2} E x y)
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (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))))))))) -> (Not (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_4)))) (SMul.smul.{u1, u2} π E _inst_6 a x) (SMul.smul.{u1, u2} π E _inst_6 b y)) (interior.{u2} E _inst_2 s))) -> (Eq.{succ u2} E x y)
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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))))) -> (Not (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 (AddCommMonoid.toAddMonoid.{u1} E _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) a x) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) b y)) (interior.{u1} E _inst_2 s))) -> (Eq.{succ u1} E x y)
Case conversion may be inaccurate. Consider using '#align strict_convex.eq StrictConvex.eqβ'. -/
@@ -546,7 +546,7 @@ variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s t
/- warning: strict_convex.eq_of_open_segment_subset_frontier -> StrictConvex.eq_of_openSegment_subset_frontier is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u1} π] [_inst_9 : DenselyOrdered.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (OrderedRing.toOrderedAddCommGroup.{u1} π _inst_1))))], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) x y) (frontier.{u2} E _inst_2 s)) -> (Eq.{succ u2} E x y)
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u1} π] [_inst_9 : DenselyOrdered.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (OrderedRing.toOrderedAddCommGroup.{u1} π _inst_1))))], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) x y) (frontier.{u2} E _inst_2 s)) -> (Eq.{succ u2} E x y)
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u2} π] [_inst_9 : DenselyOrdered.{u2} π (Preorder.toLT.{u2} π (PartialOrder.toPreorder.{u2} π (OrderedRing.toPartialOrder.{u2} π _inst_1)))], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) x y) (frontier.{u1} E _inst_2 s)) -> (Eq.{succ u1} E x y)
Case conversion may be inaccurate. Consider using '#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontierβ'. -/
@@ -563,7 +563,7 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
/- warning: strict_convex.add_smul_mem -> StrictConvex.add_smul_mem is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) 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_4)))))) x y) s) -> (Ne.{succ u2} E y (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t y)) (interior.{u2} E _inst_2 s)))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) 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_4)))))) x y) s) -> (Ne.{succ u2} E y (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t y)) (interior.{u2} E _inst_2 s)))
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) 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_4)))))) x y) s) -> (Ne.{succ u1} E y (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t y)) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_mem StrictConvex.add_smul_memβ'. -/
@@ -580,7 +580,7 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
/- warning: strict_convex.smul_mem_of_zero_mem -> StrictConvex.smul_mem_of_zero_mem is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_4)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t x) (interior.{u2} E _inst_2 s)))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_4)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t x) (interior.{u2} E _inst_2 s)))
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_4))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t x) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_memβ'. -/
@@ -591,7 +591,7 @@ theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem :
/- warning: strict_convex.add_smul_sub_mem -> StrictConvex.add_smul_sub_mem is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) 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_4)))) y x))) (interior.{u2} E _inst_2 s)))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toHasLt.{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) -> (LT.lt.{u1} π (Preorder.toHasLt.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) 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_4)))) y x))) (interior.{u2} E _inst_2 s)))
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) 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_4)))) y x))) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_memβ'. -/
@@ -671,7 +671,7 @@ variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s :
/- warning: strict_convex_iff_div -> strictConvex_iff_div is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))))))) a) -> (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))))))))))) 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_3)))))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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)) (interior.{u2} E _inst_2 s))))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))))))) a) -> (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))))))))))) 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_3)))))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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)) (interior.{u2} E _inst_2 s))))
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E}, Iff (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u1} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))) a) -> (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))))))) 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_3)))))) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{u2} π _inst_1)))))))))) a b)) y)) (interior.{u1} E _inst_2 s))))
Case conversion may be inaccurate. Consider using '#align strict_convex_iff_div strictConvex_iff_divβ'. -/
@@ -690,7 +690,7 @@ theorem strictConvex_iff_div :
/- warning: strict_convex.mem_smul_of_zero_mem -> StrictConvex.mem_smul_of_zero_mem is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_3)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_3))))))))) -> (forall {t : π}, (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} π 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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5))))) t (interior.{u2} E _inst_2 s))))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_3)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_3))))))))) -> (forall {t : π}, (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} π 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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5))))) t (interior.{u2} E _inst_2 s))))
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_3))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_3)))))))) -> (forall {t : π}, (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} π 1 (One.toOfNat1.{u2} π (Semiring.toOne.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))))) t (interior.{u1} E _inst_2 s))))
Case conversion may be inaccurate. Consider using '#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_memβ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -124,8 +124,8 @@ protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht
exact β¨hs hx.1 hy.1 hxy ha hb hab, ht hx.2 hy.2 hxy ha hb habβ©
#align strict_convex.inter StrictConvex.inter
-#print Directed.strictConvex_unionα΅’ /-
-theorem Directed.strictConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
+#print Directed.strictConvex_iUnion /-
+theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) :=
by
rintro x hx y hy hxy a b ha hb hab
@@ -134,16 +134,16 @@ theorem Directed.strictConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir :
obtain β¨j, hyβ© := hy
obtain β¨k, hik, hjkβ© := hdir i j
exact interior_mono (subset_Union s k) (hs (hik hx) (hjk hy) hxy ha hb hab)
-#align directed.strict_convex_Union Directed.strictConvex_unionα΅’
+#align directed.strict_convex_Union Directed.strictConvex_iUnion
-/
-#print DirectedOn.strictConvex_unionβ /-
-theorem DirectedOn.strictConvex_unionβ {S : Set (Set E)} (hdir : DirectedOn (Β· β Β·) S)
+#print DirectedOn.strictConvex_sUnion /-
+theorem DirectedOn.strictConvex_sUnion {S : Set (Set E)} (hdir : DirectedOn (Β· β Β·) S)
(hS : β s β S, StrictConvex π s) : StrictConvex π (ββ S) :=
by
rw [sUnion_eq_Union]
- exact (directedOn_iff_directed.1 hdir).strictConvex_unionα΅’ fun s => hS _ s.2
-#align directed_on.strict_convex_sUnion DirectedOn.strictConvex_unionβ
+ exact (directedOn_iff_directed.1 hdir).strictConvex_iUnion fun s => hS _ s.2
+#align directed_on.strict_convex_sUnion DirectedOn.strictConvex_sUnion
-/
end SMul
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -565,7 +565,7 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) 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_4)))))) x y) s) -> (Ne.{succ u2} E y (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t y)) (interior.{u2} E _inst_2 s)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) 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_4)))))) x y) s) -> (Ne.{succ u1} E y (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t y)) (interior.{u1} E _inst_2 s)))
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) 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_4)))))) x y) s) -> (Ne.{succ u1} E y (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t y)) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_mem StrictConvex.add_smul_memβ'. -/
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
(hy : y β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ y β interior s :=
@@ -582,7 +582,7 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_4)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t x) (interior.{u2} E _inst_2 s)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_4))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t x) (interior.{u1} E _inst_2 s)))
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_4))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t x) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_memβ'. -/
theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : t β’ x β interior s := by
@@ -593,7 +593,7 @@ theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem :
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) 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_4)))) y x))) (interior.{u2} E _inst_2 s)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) 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_4)))) y x))) (interior.{u1} E _inst_2 s)))
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) 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_4)))) y x))) (interior.{u1} E _inst_2 s)))
Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_memβ'. -/
theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (hy : y β s) (hxy : x β y)
{t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ (y - x) β interior s :=
@@ -692,7 +692,7 @@ theorem strictConvex_iff_div :
lean 3 declaration is
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_3)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_3))))))))) -> (forall {t : π}, (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} π 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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5))))) t (interior.{u2} E _inst_2 s))))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_3))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_3)))))))) -> (forall {t : π}, (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} π 1 (One.toOfNat1.{u2} π (NonAssocRing.toOne.{u2} π (Ring.toNonAssocRing.{u2} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))))) t (interior.{u1} E _inst_2 s))))
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_3))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_3)))))))) -> (forall {t : π}, (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} π 1 (One.toOfNat1.{u2} π (Semiring.toOne.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))))) t (interior.{u1} E _inst_2 s))))
Case conversion may be inaccurate. Consider using '#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_memβ'. -/
theorem StrictConvex.mem_smul_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (ht : 1 < t) : x β t β’ interior s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/3cacc945118c8c637d89950af01da78307f59325
@@ -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.strict
-! leanprover-community/mathlib commit 84dc0bd6619acaea625086d6f53cb35cdd554219
+! leanprover-community/mathlib commit 31ca6f9cf5f90a6206092cd7f84b359dcb6d52e0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Topology.Algebra.Order.Group
/-!
# Strictly convex sets
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines strictly convex sets.
A set is strictly convex if the open segment between any two distinct points lies in its interior.
mathlib commit https://github.com/leanprover-community/mathlib/commit/728baa2f54e6062c5879a3e397ac6bac323e506f
@@ -42,28 +42,54 @@ section SMul
variable (π) [SMul π E] [SMul π F] (s : Set E)
+#print StrictConvex /-
/-- A set is strictly convex if the open segment between any two distinct points lies is in its
interior. This basically means "convex and not flat on the boundary". -/
def StrictConvex : Prop :=
s.Pairwise fun x y => β β¦a b : πβ¦, 0 < a β 0 < b β a + b = 1 β a β’ x + b β’ y β interior s
#align strict_convex StrictConvex
+-/
variable {π s} {x y : E} {a b : π}
+/- warning: strict_convex_iff_open_segment_subset -> strictConvex_iff_openSegment_subset is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u2} E _inst_2 s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E}, Iff (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) (Set.Pairwise.{u1} E s (fun (x : E) (y : E) => HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u1} E _inst_2 s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex_iff_open_segment_subset strictConvex_iff_openSegment_subsetβ'. -/
theorem strictConvex_iff_openSegment_subset :
StrictConvex π s β s.Pairwise fun x y => openSegment π x y β interior s :=
forallβ
_congr fun x hx y hy hxy => (openSegment_subset_iff π).symm
#align strict_convex_iff_open_segment_subset strictConvex_iff_openSegment_subset
+/- warning: strict_convex.open_segment_subset -> StrictConvex.openSegment_subset is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (openSegment.{u1, u2} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u2} E _inst_2 s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (openSegment.{u2, u1} π E _inst_1 _inst_4 _inst_6 x y) (interior.{u1} E _inst_2 s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.open_segment_subset StrictConvex.openSegment_subsetβ'. -/
theorem StrictConvex.openSegment_subset (hs : StrictConvex π s) (hx : x β s) (hy : y β s)
(h : x β y) : openSegment π x y β interior s :=
strictConvex_iff_openSegment_subset.1 hs hx hy h
#align strict_convex.open_segment_subset StrictConvex.openSegment_subset
+/- warning: strict_convex_empty -> strictConvex_empty is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E], StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (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 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E], StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
+Case conversion may be inaccurate. Consider using '#align strict_convex_empty strictConvex_emptyβ'. -/
theorem strictConvex_empty : StrictConvex π (β
: Set E) :=
pairwise_empty _
#align strict_convex_empty strictConvex_empty
+/- warning: strict_convex_univ -> strictConvex_univ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E], StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Set.univ.{u2} E)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E], StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 (Set.univ.{u1} E)
+Case conversion may be inaccurate. Consider using '#align strict_convex_univ strictConvex_univβ'. -/
theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
by
intro x hx y hy hxy a b ha hb hab
@@ -71,11 +97,23 @@ theorem strictConvex_univ : StrictConvex π (univ : Set E) :=
exact mem_univ _
#align strict_convex_univ strictConvex_univ
+/- warning: strict_convex.eq -> StrictConvex.eq is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (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))))))))) -> (Not (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_4)))) (SMul.smul.{u1, u2} π E _inst_6 a x) (SMul.smul.{u1, u2} π E _inst_6 b y)) (interior.{u2} E _inst_2 s))) -> (Eq.{succ u2} E x y)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : SMul.{u2, u1} π E] {s : Set.{u1} E} {x : E} {y : E} {a : π} {b : π}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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))))) -> (Not (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 (AddCommMonoid.toAddMonoid.{u1} E _inst_4)))) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) a x) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_6) b y)) (interior.{u1} E _inst_2 s))) -> (Eq.{succ u1} E x y)
+Case conversion may be inaccurate. Consider using '#align strict_convex.eq StrictConvex.eqβ'. -/
protected theorem StrictConvex.eq (hs : StrictConvex π s) (hx : x β s) (hy : y β s) (ha : 0 < a)
(hb : 0 < b) (hab : a + b = 1) (h : a β’ x + b β’ y β interior s) : x = y :=
hs.Eq hx hy fun H => h <| H ha hb hab
#align strict_convex.eq StrictConvex.eq
+/- warning: strict_convex.inter -> StrictConvex.inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 _inst_6 (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t))
+Case conversion may be inaccurate. Consider using '#align strict_convex.inter StrictConvex.interβ'. -/
protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht : StrictConvex π t) :
StrictConvex π (s β© t) := by
intro x hx y hy hxy a b ha hb hab
@@ -83,6 +121,7 @@ protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht
exact β¨hs hx.1 hy.1 hxy ha hb hab, ht hx.2 hy.2 hxy ha hb habβ©
#align strict_convex.inter StrictConvex.inter
+#print Directed.strictConvex_unionα΅’ /-
theorem Directed.strictConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) :=
by
@@ -93,13 +132,16 @@ theorem Directed.strictConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir :
obtain β¨k, hik, hjkβ© := hdir i j
exact interior_mono (subset_Union s k) (hs (hik hx) (hjk hy) hxy ha hb hab)
#align directed.strict_convex_Union Directed.strictConvex_unionα΅’
+-/
+#print DirectedOn.strictConvex_unionβ /-
theorem DirectedOn.strictConvex_unionβ {S : Set (Set E)} (hdir : DirectedOn (Β· β Β·) S)
(hS : β s β S, StrictConvex π s) : StrictConvex π (ββ S) :=
by
rw [sUnion_eq_Union]
exact (directedOn_iff_directed.1 hdir).strictConvex_unionα΅’ fun s => hS _ s.2
#align directed_on.strict_convex_sUnion DirectedOn.strictConvex_unionβ
+-/
end SMul
@@ -107,28 +149,52 @@ section Module
variable [Module π E] [Module π F] {s : Set E}
+/- warning: strict_convex.convex -> StrictConvex.convex is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (Convex.{u1, u2} π E _inst_1 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) s) -> (Convex.{u2, u1} π E _inst_1 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) s)
+Case conversion may be inaccurate. Consider using '#align strict_convex.convex StrictConvex.convexβ'. -/
protected theorem StrictConvex.convex (hs : StrictConvex π s) : Convex π s :=
convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
interior_subset <| hs hx hy hxy ha hb hab
#align strict_convex.convex StrictConvex.convex
+#print Convex.strictConvex_of_open /-
/-- An open convex set is strictly convex. -/
protected theorem Convex.strictConvex_of_open (h : IsOpen s) (hs : Convex π s) : StrictConvex π s :=
fun x hx y hy _ a b ha hb hab => h.interior_eq.symm βΈ hs hx hy ha.le hb.le hab
#align convex.strict_convex_of_open Convex.strictConvex_of_open
+-/
+#print IsOpen.strictConvex_iff /-
theorem IsOpen.strictConvex_iff (h : IsOpen s) : StrictConvex π s β Convex π s :=
β¨StrictConvex.convex, Convex.strictConvex_of_open hβ©
#align is_open.strict_convex_iff IsOpen.strictConvex_iff
+-/
+/- warning: strict_convex_singleton -> strictConvex_singleton is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommMonoid.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] (c : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) c)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommMonoid.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] (c : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) c)
+Case conversion may be inaccurate. Consider using '#align strict_convex_singleton strictConvex_singletonβ'. -/
theorem strictConvex_singleton (c : E) : StrictConvex π ({c} : Set E) :=
pairwise_singleton _ _
#align strict_convex_singleton strictConvex_singleton
+#print Set.Subsingleton.strictConvex /-
theorem Set.Subsingleton.strictConvex (hs : s.Subsingleton) : StrictConvex π s :=
hs.Pairwise _
#align set.subsingleton.strict_convex Set.Subsingleton.strictConvex
+-/
+/- warning: strict_convex.linear_image -> StrictConvex.linear_image is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} {F : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u4} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u4} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u2} π] [_inst_9 : Module.{u2, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u2, u4} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u4} E F _inst_2 _inst_3 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f)) -> (StrictConvex.{u1, u4} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u4} π F (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} π F (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u4} F (AddMonoid.toAddZeroClass.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_5))) (Module.toMulActionWithZero.{u1, u4} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u4} E F (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) (fun (_x : LinearMap.{u2, u2, u3, u4} π π _inst_8 _inst_8 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) => E -> F) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π _inst_8))) f) s)))
+but is expected to have type
+ forall {π : Type.{u1}} {π : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_3 : TopologicalSpace.{u2} F] [_inst_4 : AddCommMonoid.{u3} E] [_inst_5 : AddCommMonoid.{u2} F] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} E} [_inst_8 : Semiring.{u4} π] [_inst_9 : Module.{u4, u3} π E _inst_8 _inst_4] [_inst_10 : Module.{u4, u2} π F _inst_8 _inst_5] [_inst_11 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} E F _inst_4 _inst_5 π π _inst_8 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) _inst_10], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u1, u3} π E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_4)) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall (f : LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10), (IsOpenMap.{u3, u2} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f)) -> (StrictConvex.{u1, u2} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u1, u2} π F (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} π F (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} π F (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} F (AddCommMonoid.toAddMonoid.{u2} F _inst_5)) (Module.toMulActionWithZero.{u1, u2} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} π π _inst_8 _inst_8 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8)) E F _inst_4 _inst_5 _inst_9 _inst_10) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} π π E F _inst_8 _inst_8 _inst_4 _inst_5 _inst_9 _inst_10 (RingHom.id.{u4} π (Semiring.toNonAssocSemiring.{u4} π _inst_8))) f) s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.linear_image StrictConvex.linear_imageβ'. -/
theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F]
[LinearMap.CompatibleSMul E F π π] (hs : StrictConvex π s) (f : E ββ[π] F) (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -138,11 +204,23 @@ theorem StrictConvex.linear_image [Semiring π] [Module π E] [Module π F
rw [map_add, f.map_smul_of_tower a, f.map_smul_of_tower b]
#align strict_convex.linear_image StrictConvex.linear_image
+/- warning: strict_convex.is_linear_image -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (IsOpenMap.{u2, u3} E F _inst_2 _inst_3 f) -> (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) (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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_5] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u3, u2} π E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4)) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4 _inst_6)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u3, u2, u1} π E F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 f) -> (StrictConvex.{u3, u1} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u1} π F (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (AddMonoid.toZero.{u1} F (AddCommMonoid.toAddMonoid.{u1} F _inst_5)) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π _inst_1) _inst_5 _inst_7)))) (Set.image.{u2, u1} E F f s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.is_linear_image StrictConvex.is_linear_imageβ'. -/
theorem StrictConvex.is_linear_image (hs : StrictConvex π s) {f : E β F} (h : IsLinearMap π f)
(hf : IsOpenMap f) : StrictConvex π (f '' s) :=
hs.linear_image (h.mk' f) hf
#align strict_convex.is_linear_image StrictConvex.is_linear_image
+/- warning: strict_convex.linear_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) 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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)))) f)) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) (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_4 _inst_5 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} π π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall (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_4 _inst_5 _inst_6 _inst_7), (Continuous.{u1, u3} E F _inst_2 _inst_3 (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (Function.Injective.{succ u1, succ 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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f)) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (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_4 _inst_5 _inst_6 _inst_7) 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_4 _inst_5 _inst_6 _inst_7 (RingHom.id.{u2} π (Semiring.toNonAssocSemiring.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)))) f) s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.linear_preimage StrictConvex.linear_preimageβ'. -/
theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f : E ββ[π] F)
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (s.Preimage f) :=
by
@@ -152,6 +230,12 @@ theorem StrictConvex.linear_preimage {s : Set F} (hs : StrictConvex π s) (f :
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.linear_preimage StrictConvex.linear_preimage
+/- warning: strict_convex.is_linear_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u2} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4] [_inst_7 : Module.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5))) (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_5))) (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_5))) (Module.toMulActionWithZero.{u1, u3} π F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_5 _inst_7)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u1, u2, u3} π E F (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (Continuous.{u2, u3} E F _inst_2 _inst_3 f) -> (Function.Injective.{succ u2, succ u3} E F f) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_4))) (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_4))) (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_4))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) _inst_4 _inst_6)))) (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 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommMonoid.{u1} E] [_inst_5 : AddCommMonoid.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u2, u3} π F (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (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_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_5)) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_5 _inst_7)))) s) -> (forall {f : E -> F}, (IsLinearMap.{u2, u1, u3} π E F (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_5 _inst_6 _inst_7 f) -> (Continuous.{u1, u3} E F _inst_2 _inst_3 f) -> (Function.Injective.{succ u1, succ u3} E F f) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 _inst_4 (SMulZeroClass.toSMul.{u2, u1} π E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (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_4)) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_4)) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) _inst_4 _inst_6)))) (Set.preimage.{u1, u3} E F f s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.is_linear_preimage StrictConvex.is_linear_preimageβ'. -/
theorem StrictConvex.is_linear_preimage {s : Set F} (hs : StrictConvex π s) {f : E β F}
(h : IsLinearMap π f) (hf : Continuous f) (hfinj : Injective f) :
StrictConvex π (s.Preimage f) :=
@@ -163,6 +247,12 @@ section LinearOrderedCancelAddCommMonoid
variable [TopologicalSpace Ξ²] [LinearOrderedCancelAddCommMonoid Ξ²] [OrderTopology Ξ²] [Module π Ξ²]
[OrderedSMul π Ξ²]
+/- warning: set.ord_connected.strict_convex -> Set.OrdConnected.strictConvex is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] {s : Set.{u2} Ξ²}, (Set.OrdConnected.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) s) -> (StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) s)
+but is expected to have type
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] {s : Set.{u2} Ξ²}, (Set.OrdConnected.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) s) -> (StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u1, u2} π Ξ² (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π Ξ² (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))) (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddRightCancelMonoid.toZero.{u2} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u2} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) s)
+Case conversion may be inaccurate. Consider using '#align set.ord_connected.strict_convex Set.OrdConnected.strictConvexβ'. -/
protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected s) :
StrictConvex π s :=
by
@@ -173,42 +263,102 @@ protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected
(is_open_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
#align set.ord_connected.strict_convex Set.OrdConnected.strictConvex
+/- warning: strict_convex_Iic -> strictConvex_Iic is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Iic.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Iic.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Iic strictConvex_Iicβ'. -/
theorem strictConvex_Iic (r : Ξ²) : StrictConvex π (Iic r) :=
ordConnected_Iic.StrictConvex
#align strict_convex_Iic strictConvex_Iic
+/- warning: strict_convex_Ici -> strictConvex_Ici is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ici.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ici.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Ici strictConvex_Iciβ'. -/
theorem strictConvex_Ici (r : Ξ²) : StrictConvex π (Ici r) :=
ordConnected_Ici.StrictConvex
#align strict_convex_Ici strictConvex_Ici
+/- warning: strict_convex_Iio -> strictConvex_Iio is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Iio.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Iio.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Iio strictConvex_Iioβ'. -/
theorem strictConvex_Iio (r : Ξ²) : StrictConvex π (Iio r) :=
ordConnected_Iio.StrictConvex
#align strict_convex_Iio strictConvex_Iio
+/- warning: strict_convex_Ioi -> strictConvex_Ioi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioi.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioi.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Ioi strictConvex_Ioiβ'. -/
theorem strictConvex_Ioi (r : Ξ²) : StrictConvex π (Ioi r) :=
ordConnected_Ioi.StrictConvex
#align strict_convex_Ioi strictConvex_Ioi
+/- warning: strict_convex_Icc -> strictConvex_Icc is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Icc.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Icc.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Icc strictConvex_Iccβ'. -/
theorem strictConvex_Icc (r s : Ξ²) : StrictConvex π (Icc r s) :=
ordConnected_Icc.StrictConvex
#align strict_convex_Icc strictConvex_Icc
+/- warning: strict_convex_Ioo -> strictConvex_Ioo is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioo.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioo.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Ioo strictConvex_Iooβ'. -/
theorem strictConvex_Ioo (r s : Ξ²) : StrictConvex π (Ioo r s) :=
ordConnected_Ioo.StrictConvex
#align strict_convex_Ioo strictConvex_Ioo
+/- warning: strict_convex_Ico -> strictConvex_Ico is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ico.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ico.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Ico strictConvex_Icoβ'. -/
theorem strictConvex_Ico (r s : Ξ²) : StrictConvex π (Ico r s) :=
ordConnected_Ico.StrictConvex
#align strict_convex_Ico strictConvex_Ico
+/- warning: strict_convex_Ioc -> strictConvex_Ioc is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.Ioc.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.Ioc.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_Ioc strictConvex_Iocβ'. -/
theorem strictConvex_Ioc (r s : Ξ²) : StrictConvex π (Ioc r s) :=
ordConnected_Ioc.StrictConvex
#align strict_convex_Ioc strictConvex_Ioc
+/- warning: strict_convex_uIcc -> strictConvex_uIcc is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.uIcc.{u2} Ξ² (LinearOrder.toLattice.{u2} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9))) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.uIcc.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)))) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_uIcc strictConvex_uIccβ'. -/
theorem strictConvex_uIcc (r s : Ξ²) : StrictConvex π (uIcc r s) :=
strictConvex_Icc _ _
#align strict_convex_uIcc strictConvex_uIcc
+/- warning: strict_convex_uIoc -> strictConvex_uIoc is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_8 : TopologicalSpace.{u2} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u2} Ξ²] [_inst_10 : OrderTopology.{u2} Ξ² _inst_8 (PartialOrder.toPreorder.{u2} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))] [_inst_11 : Module.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u1, u2} π Ξ² _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u1, u2} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) (SMulZeroClass.toHasSmul.{u1, u2} π Ξ² (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π Ξ² (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π Ξ² (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u2} Ξ² (AddMonoid.toAddZeroClass.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u1, u2} π Ξ² (OrderedSemiring.toSemiring.{u1} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_9)) _inst_11)))) (Set.uIoc.{u2} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² _inst_9)) r s)
+but is expected to have type
+ forall {π : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_8 : TopologicalSpace.{u1} Ξ²] [_inst_9 : LinearOrderedCancelAddCommMonoid.{u1} Ξ²] [_inst_10 : OrderTopology.{u1} Ξ² _inst_8 (PartialOrder.toPreorder.{u1} Ξ² (OrderedCancelAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)))] [_inst_11 : Module.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))] [_inst_12 : OrderedSMul.{u2, u1} π Ξ² _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11))] (r : Ξ²) (s : Ξ²), StrictConvex.{u2, u1} π Ξ² _inst_1 _inst_8 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) (SMulZeroClass.toSMul.{u2, u1} π Ξ² (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π Ξ² (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π Ξ² (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} Ξ² (AddCancelMonoid.toAddRightCancelMonoid.{u1} Ξ² (AddCancelCommMonoid.toAddCancelMonoid.{u1} Ξ² (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9))))) (Module.toMulActionWithZero.{u2, u1} π Ξ² (OrderedSemiring.toSemiring.{u2} π _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² _inst_9)) _inst_11)))) (Set.uIoc.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² _inst_9)) r s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_uIoc strictConvex_uIocβ'. -/
theorem strictConvex_uIoc (r s : Ξ²) : StrictConvex π (uIoc r s) :=
strictConvex_Ioc _ _
#align strict_convex_uIoc strictConvex_uIoc
@@ -223,6 +373,12 @@ section AddCancelCommMonoid
variable [AddCancelCommMonoid E] [ContinuousAdd E] [Module π E] {s : Set E}
+/- warning: strict_convex.preimage_add_right -> StrictConvex.preimage_add_right is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCancelCommMonoid.{u2} E] [_inst_5 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))) z x) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCancelCommMonoid.{u1} E] [_inst_5 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))) z x) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_add_right StrictConvex.preimage_add_rightβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) β»ΒΉ' s) :=
@@ -233,6 +389,12 @@ theorem StrictConvex.preimage_add_right (hs : StrictConvex π s) (z : E) :
rwa [smul_add, smul_add, add_add_add_comm, β add_smul, hab, one_smul] at h
#align strict_convex.preimage_add_right StrictConvex.preimage_add_right
+/- warning: strict_convex.preimage_add_left -> StrictConvex.preimage_add_left is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCancelCommMonoid.{u2} E] [_inst_5 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (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 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_4)))))) x z) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCancelCommMonoid.{u1} E] [_inst_5 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) (SMulZeroClass.toSMul.{u2, u1} π E (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (AddRightCancelMonoid.toZero.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (AddRightCancelMonoid.toAddMonoid.{u1} E (AddCancelMonoid.toAddRightCancelMonoid.{u1} E (AddCancelCommMonoid.toAddCancelMonoid.{u1} E _inst_4)))))) x z) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_add_left StrictConvex.preimage_add_leftβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.preimage_add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) β»ΒΉ' s) := by
@@ -249,6 +411,12 @@ section continuous_add
variable [ContinuousAdd E] {s t : Set E}
+/- warning: strict_convex.add -> StrictConvex.add is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E} {t : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))))))) s t))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E} {t : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4))))))) s t))
+Case conversion may be inaccurate. Consider using '#align strict_convex.add StrictConvex.addβ'. -/
theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s + t) :=
by
rintro _ β¨v, w, hv, hw, rflβ© _ β¨x, y, hx, hy, rflβ© h a b ha hb hab
@@ -264,15 +432,33 @@ theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) :
(add_mem_add (hs hv hx hvx ha hb hab) <| ht.convex hw hy ha.le hb.le hab)
#align strict_convex.add StrictConvex.add
+/- warning: strict_convex.add_left -> StrictConvex.add_left is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))) z x) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) z x) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.add_left StrictConvex.add_leftβ'. -/
theorem StrictConvex.add_left (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => z + x) '' s) := by
simpa only [singleton_add] using (strictConvex_singleton z).add hs
#align strict_convex.add_left StrictConvex.add_left
+/- warning: strict_convex.add_right -> StrictConvex.add_right is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))) x z) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (z : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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 (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) x z) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.add_right StrictConvex.add_rightβ'. -/
theorem StrictConvex.add_right (hs : StrictConvex π s) (z : E) :
StrictConvex π ((fun x => x + z) '' s) := by simpa only [add_comm] using hs.add_left z
#align strict_convex.add_right StrictConvex.add_right
+/- warning: strict_convex.vadd -> StrictConvex.vadd is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : ContinuousAdd.{u2} E _inst_2 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (x : E), StrictConvex.{u1, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (VAdd.vadd.{u2, u2} E (Set.{u2} E) (Set.vaddSet.{u2, u2} E E (Add.toVAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))))))) x s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_8 : ContinuousAdd.{u1} E _inst_2 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (forall (x : E), StrictConvex.{u2, u1} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (HVAdd.hVAdd.{u1, u1, u1} E (Set.{u1} E) (Set.{u1} E) (instHVAdd.{u1, u1} E (Set.{u1} E) (Set.vaddSet.{u1, u1} E E (AddAction.toVAdd.{u1, u1} E E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4))) (AddTorsor.toAddAction.{u1, u1} E E (AddCommGroup.toAddGroup.{u1} E _inst_4) (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)))))) x s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.vadd StrictConvex.vaddβ'. -/
/-- The translation of a strictly convex set is also strictly convex. -/
theorem StrictConvex.vadd (hs : StrictConvex π s) (x : E) : StrictConvex π (x +α΅₯ s) :=
hs.add_left x
@@ -285,6 +471,12 @@ section ContinuousSmul
variable [LinearOrderedField π] [Module π E] [ContinuousConstSMul π E]
[LinearMap.CompatibleSMul E E π π] {s : Set E} {x : E}
+/- warning: strict_convex.smul -> StrictConvex.smul is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u2} π] [_inst_9 : Module.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u2, u3} π E _inst_2 (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u1, u2} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E}, (StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (c : π), StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))) c s))
+but is expected to have type
+ forall {π : Type.{u3}} {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_8 : LinearOrderedField.{u1} π] [_inst_9 : Module.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u1, 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_4))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u2, u2, u3, u1} E E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) π π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) _inst_9 (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall (c : π), StrictConvex.{u3, u2} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π E (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π _inst_1)) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π 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_4))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (Module.toMulActionWithZero.{u1, u2} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_9)))))) c s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.smul StrictConvex.smulβ'. -/
theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex π (c β’ s) :=
by
obtain rfl | hc := eq_or_ne c 0
@@ -292,6 +484,12 @@ theorem StrictConvex.smul (hs : StrictConvex π s) (c : π) : StrictConvex
Β· exact hs.linear_image (LinearMap.lsmul _ _ c) (isOpenMap_smulβ hc)
#align strict_convex.smul StrictConvex.smul
+/- warning: strict_convex.affinity -> StrictConvex.affinity is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u2} π] [_inst_9 : Module.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u2, u3} π E _inst_2 (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u1, u2} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E} [_inst_12 : ContinuousAdd.{u3} E _inst_2 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))], (StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (z : E) (c : π), StrictConvex.{u1, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (OrderedSemiring.toSemiring.{u1} π _inst_1)) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u1, u3} π E (OrderedSemiring.toSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (VAdd.vadd.{u3, u3} E (Set.{u3} E) (Set.vaddSet.{u3, u3} E E (Add.toVAdd.{u3} E (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))))) z (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (MulZeroOneClass.toMulZeroClass.{u2} π (MonoidWithZero.toMulZeroOneClass.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)))) (Module.toMulActionWithZero.{u2, u3} π E (Ring.toSemiring.{u2} π (DivisionRing.toRing.{u2} π (Field.toDivisionRing.{u2} π (LinearOrderedField.toField.{u2} π _inst_8)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))) c s)))
+but is expected to have type
+ forall {π : Type.{u2}} {π : Type.{u1}} {E : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u3} E] [_inst_4 : AddCommGroup.{u3} E] [_inst_6 : Module.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_8 : LinearOrderedField.{u1} π] [_inst_9 : Module.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_10 : ContinuousConstSMul.{u1, u3} π E _inst_2 (SMulZeroClass.toSMul.{u1, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9))))] [_inst_11 : LinearMap.CompatibleSMul.{u3, u3, u2, u1} E E (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) π π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9 (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) _inst_9] {s : Set.{u3} E} [_inst_12 : ContinuousAdd.{u3} E _inst_2 (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))], (StrictConvex.{u2, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) s) -> (forall (z : E) (c : π), StrictConvex.{u2, u3} π E _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) (SMulZeroClass.toSMul.{u2, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π _inst_1)) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u2, u3} π E (OrderedSemiring.toSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_6)))) (HVAdd.hVAdd.{u3, u3, u3} E (Set.{u3} E) (Set.{u3} E) (instHVAdd.{u3, u3} E (Set.{u3} E) (Set.vaddSet.{u3, u3} E E (AddAction.toVAdd.{u3, u3} E E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))) (AddTorsor.toAddAction.{u3, u3} E E (AddCommGroup.toAddGroup.{u3} E _inst_4) (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))) z (HSMul.hSMul.{u1, u3, u3} π (Set.{u3} E) (Set.{u3} E) (instHSMul.{u1, u3} π (Set.{u3} E) (Set.smulSet.{u1, u3} π E (SMulZeroClass.toSMul.{u1, u3} π E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u1, u3} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π E (Semiring.toMonoidWithZero.{u1} π (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_4))))) (Module.toMulActionWithZero.{u1, u3} π E (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_8))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_9)))))) c s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.affinity StrictConvex.affinityβ'. -/
theorem StrictConvex.affinity [ContinuousAdd E] (hs : StrictConvex π s) (z : E) (c : π) :
StrictConvex π (z +α΅₯ c β’ s) :=
(hs.smul c).vadd z
@@ -312,6 +510,12 @@ section AddCommGroup
variable [AddCommGroup E] [Module π E] [NoZeroSMulDivisors π E] [ContinuousConstSMul π E]
{s : Set E}
+/- warning: strict_convex.preimage_smul -> StrictConvex.preimage_smul is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedCommSemiring.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_4 : Module.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] [_inst_5 : NoZeroSMulDivisors.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} π (Semiring.toNonAssocSemiring.{u1} π (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_3))))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4))))] [_inst_6 : ContinuousConstSMul.{u1, 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_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4))))] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) s) -> (forall (c : π), StrictConvex.{u1, u2} π E (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (Module.toMulActionWithZero.{u1, u2} π E (OrderedSemiring.toSemiring.{u1} π (OrderedCommSemiring.toOrderedSemiring.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_4)))) c z) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_4 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] [_inst_5 : NoZeroSMulDivisors.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))] [_inst_6 : ContinuousConstSMul.{u2, 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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))] {s : Set.{u1} E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4)))) s) -> (forall (c : π), StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4)))) (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 (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommSemiring.toCommMonoidWithZero.{u2} π (OrderedCommSemiring.toCommSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedCommSemiring.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_4))))) c z) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.preimage_smul StrictConvex.preimage_smulβ'. -/
theorem StrictConvex.preimage_smul (hs : StrictConvex π s) (c : π) :
StrictConvex π ((fun z => c β’ z) β»ΒΉ' s) := by
classical
@@ -337,6 +541,12 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s t : Set E} {x y : E}
+/- warning: strict_convex.eq_of_open_segment_subset_frontier -> StrictConvex.eq_of_openSegment_subset_frontier is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u1} π] [_inst_9 : DenselyOrdered.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (OrderedRing.toOrderedAddCommGroup.{u1} π _inst_1))))], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u1} π _inst_1) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) x y) (frontier.{u2} E _inst_2 s)) -> (Eq.{succ u2} E x y)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E} [_inst_8 : Nontrivial.{u2} π] [_inst_9 : DenselyOrdered.{u2} π (Preorder.toLT.{u2} π (PartialOrder.toPreorder.{u2} π (OrderedRing.toPartialOrder.{u2} π _inst_1)))], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (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 (OrderedRing.toOrderedSemiring.{u2} π _inst_1) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) x y) (frontier.{u1} E _inst_2 s)) -> (Eq.{succ u1} E x y)
+Case conversion may be inaccurate. Consider using '#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontierβ'. -/
theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [DenselyOrdered π]
(hs : StrictConvex π s) (hx : x β s) (hy : y β s) (h : openSegment π x y β frontier s) :
x = y := by
@@ -348,6 +558,12 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
(hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
+/- warning: strict_convex.add_smul_mem -> StrictConvex.add_smul_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) 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_4)))))) x y) s) -> (Ne.{succ u2} E y (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t y)) (interior.{u2} E _inst_2 s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) 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_4)))))) x y) s) -> (Ne.{succ u1} E y (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t y)) (interior.{u1} E _inst_2 s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_mem StrictConvex.add_smul_memβ'. -/
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
(hy : y β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ y β interior s :=
by
@@ -359,11 +575,23 @@ theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy
rw [β h, add_zero]
#align strict_convex.add_smul_mem StrictConvex.add_smul_mem
+/- warning: strict_convex.smul_mem_of_zero_mem -> StrictConvex.smul_mem_of_zero_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_4)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_4))))))))) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t x) (interior.{u2} E _inst_2 s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_4))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_4)))))))) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) t x) (interior.{u1} E _inst_2 s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_memβ'. -/
theorem StrictConvex.smul_mem_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (htβ : 0 < t) (htβ : t < 1) : t β’ x β interior s := by
simpa using hs.add_smul_mem zero_mem (by simpa using hx) hxβ htβ htβ
#align strict_convex.smul_mem_of_zero_mem StrictConvex.smul_mem_of_zero_mem
+/- warning: strict_convex.add_smul_sub_mem -> StrictConvex.add_smul_sub_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {y : E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {t : π}, (LT.lt.{u1} π (Preorder.toLT.{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) -> (LT.lt.{u1} π (Preorder.toLT.{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_4)))))) 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_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) 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_4)))) y x))) (interior.{u2} E _inst_2 s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {y : E}, (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) y s) -> (Ne.{succ u1} E x y) -> (forall {t : π}, (LT.lt.{u2} π (Preorder.toLT.{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) -> (LT.lt.{u2} π (Preorder.toLT.{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_4)))))) 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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6))))) 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_4)))) y x))) (interior.{u1} E _inst_2 s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_memβ'. -/
theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (hy : y β s) (hxy : x β y)
{t : π} (htβ : 0 < t) (htβ : t < 1) : x + t β’ (y - x) β interior s :=
by
@@ -372,6 +600,12 @@ theorem StrictConvex.add_smul_sub_mem (h : StrictConvex π s) (hx : x β s) (
exact mem_image_of_mem _ β¨htβ, htββ©
#align strict_convex.add_smul_sub_mem StrictConvex.add_smul_sub_mem
+/- warning: strict_convex.affine_preimage -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u2, succ 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} {F : Type.{u3}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] [_inst_7 : Module.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u3} F}, (StrictConvex.{u2, u3} π F (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toSMul.{u2, u3} π F (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π F (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π F (Semiring.toMonoidWithZero.{u2} π (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1))) (NegZeroClass.toZero.{u3} F (SubNegZeroMonoid.toNegZeroClass.{u3} F (SubtractionMonoid.toSubNegZeroMonoid.{u3} F (SubtractionCommMonoid.toSubtractionMonoid.{u3} F (AddCommGroup.toDivisionAddCommMonoid.{u3} F _inst_5))))) (Module.toMulActionWithZero.{u2, u3} π F (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) s) -> (forall {f : AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (Continuous.{u1, u3} E F _inst_2 _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (Function.Injective.{succ u1, succ u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (Set.preimage.{u1, u3} E F (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (AffineMap.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u2, u1, u1, u3, u3} π E E F F (OrderedRing.toRing.{u2} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.affine_preimage StrictConvex.affine_preimageβ'. -/
/-- The preimage of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f : E βα΅[π] F}
(hf : Continuous f) (hfinj : Injective f) : StrictConvex π (f β»ΒΉ' s) :=
@@ -382,6 +616,12 @@ theorem StrictConvex.affine_preimage {s : Set F} (hs : StrictConvex π s) {f :
exact hs hx hy (hfinj.ne hxy) ha hb hab
#align strict_convex.affine_preimage StrictConvex.affine_preimage
+/- warning: strict_convex.affine_image -> StrictConvex.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 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u3} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u3} F] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))}, (IsOpenMap.{u2, u3} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f)) -> (StrictConvex.{u1, u3} π F (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) (SMulZeroClass.toHasSmul.{u1, u3} π F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_5)))) (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_5)))) (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_5)))) (Module.toMulActionWithZero.{u1, u3} π F (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} F _inst_5) _inst_7)))) (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} π E E F F (OrderedRing.toRing.{u1} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_5))) f) s)))
+but is expected to have type
+ forall {π : Type.{u3}} {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : OrderedRing.{u3} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : TopologicalSpace.{u1} F] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : AddCommGroup.{u1} F] [_inst_6 : Module.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_7 : Module.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5)] {s : Set.{u2} E}, (StrictConvex.{u3, u2} π E (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u3, u2} π E (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (forall {f : AffineMap.{u3, u2, u2, u1, u1} π E E F F (OrderedRing.toRing.{u3} π _inst_1) _inst_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))}, (IsOpenMap.{u2, u1} E F _inst_2 _inst_3 (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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f)) -> (StrictConvex.{u3, u1} π F (OrderedRing.toOrderedSemiring.{u3} π _inst_1) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) (SMulZeroClass.toSMul.{u3, u1} π F (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π F (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π F (Semiring.toMonoidWithZero.{u3} π (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1))) (NegZeroClass.toZero.{u1} F (SubNegZeroMonoid.toNegZeroClass.{u1} F (SubtractionMonoid.toSubNegZeroMonoid.{u1} F (SubtractionCommMonoid.toSubtractionMonoid.{u1} F (AddCommGroup.toDivisionAddCommMonoid.{u1} F _inst_5))))) (Module.toMulActionWithZero.{u3, u1} π F (OrderedSemiring.toSemiring.{u3} π (OrderedRing.toOrderedSemiring.{u3} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} F _inst_5) _inst_7)))) (Set.image.{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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) 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_4 _inst_6 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)) _inst_5 _inst_7 (addGroupIsAddTorsor.{u1} F (AddCommGroup.toAddGroup.{u1} F _inst_5))) f) s)))
+Case conversion may be inaccurate. Consider using '#align strict_convex.affine_image StrictConvex.affine_imageβ'. -/
/-- The image of a strictly convex set under an affine map is strictly convex. -/
theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π] F} (hf : IsOpenMap f) :
StrictConvex π (f '' s) :=
@@ -394,10 +634,22 @@ theorem StrictConvex.affine_image (hs : StrictConvex π s) {f : E βα΅[π]
variable [TopologicalAddGroup E]
+/- warning: strict_convex.neg -> StrictConvex.neg is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} [_inst_8 : TopologicalAddGroup.{u2} E _inst_2 (AddCommGroup.toAddGroup.{u2} E _inst_4)], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4)))) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} [_inst_8 : TopologicalAddGroup.{u1} E _inst_2 (AddCommGroup.toAddGroup.{u1} E _inst_4)], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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_4)))))) s))
+Case conversion may be inaccurate. Consider using '#align strict_convex.neg StrictConvex.negβ'. -/
theorem StrictConvex.neg (hs : StrictConvex π s) : StrictConvex π (-s) :=
hs.is_linear_preimage IsLinearMap.isLinearMap_neg continuous_id.neg neg_injective
#align strict_convex.neg StrictConvex.neg
+/- warning: strict_convex.sub -> StrictConvex.sub is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : OrderedRing.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_4 : AddCommGroup.{u2} E] [_inst_6 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} [_inst_8 : TopologicalAddGroup.{u2} E _inst_2 (AddCommGroup.toAddGroup.{u2} E _inst_4)], (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u1, u2} π E (OrderedRing.toOrderedSemiring.{u1} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)))) (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_4)))) (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_4)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (OrderedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_6)))) (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_4))))) s t))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : OrderedRing.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_4 : AddCommGroup.{u1} E] [_inst_6 : Module.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} [_inst_8 : TopologicalAddGroup.{u1} E _inst_2 (AddCommGroup.toAddGroup.{u1} E _inst_4)], (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) s) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) t) -> (StrictConvex.{u2, u1} π E (OrderedRing.toOrderedSemiring.{u2} π _inst_1) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) (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_4))))) (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_4))))) (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_4))))) (Module.toMulActionWithZero.{u2, u1} π E (OrderedSemiring.toSemiring.{u2} π (OrderedRing.toOrderedSemiring.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_6)))) (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_4))))) s t))
+Case conversion may be inaccurate. Consider using '#align strict_convex.sub StrictConvex.subβ'. -/
theorem StrictConvex.sub (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s - t) :=
(sub_eq_add_neg s t).symm βΈ hs.add ht.neg
#align strict_convex.sub StrictConvex.sub
@@ -414,6 +666,12 @@ section AddCommGroup
variable [AddCommGroup E] [AddCommGroup F] [Module π E] [Module π F] {s : Set E} {x : E}
+/- warning: strict_convex_iff_div -> strictConvex_iff_div is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E}, Iff (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))))))) a) -> (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))))))))))) 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_3)))))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) (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)) (interior.{u2} E _inst_2 s))))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E}, Iff (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) (Set.Pairwise.{u1} E s (fun (x : E) (y : E) => forall {{a : π}} {{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))))))) a) -> (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))))))) 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_3)))))) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5))))) (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} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{u2} π _inst_1)))))))))) a b)) y)) (interior.{u1} E _inst_2 s))))
+Case conversion may be inaccurate. Consider using '#align strict_convex_iff_div strictConvex_iff_divβ'. -/
/-- Alternative definition of set strict convexity, using division. -/
theorem strictConvex_iff_div :
StrictConvex π s β
@@ -427,6 +685,12 @@ theorem strictConvex_iff_div :
convert h hx hy hxy ha hb <;> rw [hab, div_one]β©
#align strict_convex_iff_div strictConvex_iff_div
+/- warning: strict_convex.mem_smul_of_zero_mem -> StrictConvex.mem_smul_of_zero_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u2} E] [_inst_3 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)] {s : Set.{u2} E} {x : E}, (StrictConvex.{u1, u2} π E (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5)))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (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_3)))))))) s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Ne.{succ u2} E x (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_3))))))))) -> (forall {t : π}, (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} π 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_3)))) (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_3)))) (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_3)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_3) _inst_5))))) t (interior.{u2} E _inst_2 s))))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π] [_inst_2 : TopologicalSpace.{u1} E] [_inst_3 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3)] {s : Set.{u1} E} {x : E}, (StrictConvex.{u2, u1} π E (OrderedCommSemiring.toOrderedSemiring.{u2} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) (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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (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_3))))))) s) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s) -> (Ne.{succ u1} E x (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_3)))))))) -> (forall {t : π}, (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} π 1 (One.toOfNat1.{u2} π (NonAssocRing.toOne.{u2} π (Ring.toNonAssocRing.{u2} π (StrictOrderedRing.toRing.{u2} π (LinearOrderedRing.toStrictOrderedRing.{u2} π (LinearOrderedCommRing.toLinearOrderedRing.{u2} π (LinearOrderedField.toLinearOrderedCommRing.{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_3))))) (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_3))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{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_3))))) (Module.toMulActionWithZero.{u2, u1} π E (StrictOrderedSemiring.toSemiring.{u2} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π (LinearOrderedField.toLinearOrderedSemifield.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_3) _inst_5)))))) t (interior.{u1} E _inst_2 s))))
+Case conversion may be inaccurate. Consider using '#align strict_convex.mem_smul_of_zero_mem StrictConvex.mem_smul_of_zero_memβ'. -/
theorem StrictConvex.mem_smul_of_zero_mem (hs : StrictConvex π s) (zero_mem : (0 : E) β s)
(hx : x β s) (hxβ : x β 0) {t : π} (ht : 1 < t) : x β t β’ interior s :=
by
@@ -449,16 +713,34 @@ section
variable [LinearOrderedField π] [TopologicalSpace π] [OrderTopology π] {s : Set π}
+/- warning: strict_convex_iff_convex -> strictConvex_iff_convex is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) s) (Convex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) s)
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) s) (Convex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) s)
+Case conversion may be inaccurate. Consider using '#align strict_convex_iff_convex strictConvex_iff_convexβ'. -/
/-- A set in a linear ordered field is strictly convex if and only if it is convex. -/
@[simp]
theorem strictConvex_iff_convex : StrictConvex π s β Convex π s :=
β¨StrictConvex.convex, fun hs => hs.OrdConnected.StrictConvexβ©
#align strict_convex_iff_convex strictConvex_iff_convex
+/- warning: strict_convex_iff_ord_connected -> strictConvex_iff_ordConnected is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) 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} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, Iff (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) 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 strict_convex_iff_ord_connected strictConvex_iff_ordConnectedβ'. -/
theorem strictConvex_iff_ordConnected : StrictConvex π s β s.OrdConnected :=
strictConvex_iff_convex.trans convex_iff_ordConnected
#align strict_convex_iff_ord_connected strictConvex_iff_ordConnected
+/- warning: strict_convex.ord_connected -> StrictConvex.ordConnected is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))))] {s : Set.{u1} π}, (StrictConvex.{u1, u1} π π (StrictOrderedSemiring.toOrderedSemiring.{u1} π (StrictOrderedRing.toStrictOrderedSemiring.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1))))) _inst_2 (AddCommGroup.toAddCommMonoid.{u1} π (OrderedAddCommGroup.toAddCommGroup.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))) (Mul.toSMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (DivisionRing.toRing.{u1} π (Field.toDivisionRing.{u1} π (LinearOrderedField.toField.{u1} π _inst_1)))))) 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} π] [_inst_2 : TopologicalSpace.{u1} π] [_inst_3 : OrderTopology.{u1} π _inst_2 (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π _inst_1)))))] {s : Set.{u1} π}, (StrictConvex.{u1, u1} π π (OrderedCommSemiring.toOrderedSemiring.{u1} π (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) (Algebra.toSMul.{u1, u1} π π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))) (StrictOrderedSemiring.toSemiring.{u1} π (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1))))) (Algebra.id.{u1} π (StrictOrderedCommSemiring.toCommSemiring.{u1} π (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π _inst_1)))))) 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 strict_convex.ord_connected StrictConvex.ordConnectedβ'. -/
alias strictConvex_iff_ordConnected β StrictConvex.ordConnected _
#align strict_convex.ord_connected StrictConvex.ordConnected
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
This splits up the file Mathlib/Topology/Order/Basic.lean
(currently > 2000 lines) into several smaller files.
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: YaΓ«l Dillies
-/
import Mathlib.Analysis.Convex.Basic
-import Mathlib.Topology.Order.Basic
import Mathlib.Topology.Algebra.Group.Basic
+import Mathlib.Topology.Order.Basic
#align_import analysis.convex.strict from "leanprover-community/mathlib"@"84dc0bd6619acaea625086d6f53cb35cdd554219"
mul
-div
cancellation lemmas (#11530)
Lemma names around cancellation of multiplication and division are a mess.
This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero
lemma name, the Group
lemma, the AddGroup
lemma name).
| Statement | New name | Old name | |
@@ -337,8 +337,8 @@ theorem StrictConvex.eq_of_openSegment_subset_frontier [Nontrivial π] [Densel
classical
by_contra hxy
exact
- (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel'_right _ _, rflβ©).2
- (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel'_right _ _)
+ (h β¨a, 1 - a, haβ, sub_pos_of_lt haβ, add_sub_cancel _ _, rflβ©).2
+ (hs hx hy hxy haβ (sub_pos_of_lt haβ) <| add_sub_cancel _ _)
#align strict_convex.eq_of_open_segment_subset_frontier StrictConvex.eq_of_openSegment_subset_frontier
theorem StrictConvex.add_smul_mem (hs : StrictConvex π s) (hx : x β s) (hxy : x + y β s)
@@ -4,7 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: YaΓ«l Dillies
-/
import Mathlib.Analysis.Convex.Basic
-import Mathlib.Topology.Algebra.Order.Group
+import Mathlib.Topology.Order.Basic
+import Mathlib.Topology.Algebra.Group.Basic
#align_import analysis.convex.strict from "leanprover-community/mathlib"@"84dc0bd6619acaea625086d6f53cb35cdd554219"
Set.image2
etc (#9275)
Set.image2
to use β a β s, β b β t, f a b = c
instead of β a b, a β s β§ b β t β§ f a b = c
.Set.seq
as Set.image2
. The new definition is equal to the old one but rw [Set.seq]
gives a different result.Filter.mapβ
to use β u β f, β v β g, image2 m u v β s
instead of β u v, u β f β§ v β g β§ ...
Set.mem_image2
, Finset.mem_imageβ
, Set.mem_mul
, Finset.mem_div
etcThe two reasons to make the change are:
β a β s, β b β t, _
is a simp
-normal form, and@@ -244,7 +244,7 @@ variable [ContinuousAdd E] {s t : Set E}
theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) :
StrictConvex π (s + t) := by
- rintro _ β¨v, w, hv, hw, rflβ© _ β¨x, y, hx, hy, rflβ© h a b ha hb hab
+ rintro _ β¨v, hv, w, hw, rflβ© _ β¨x, hx, y, hy, rflβ© h a b ha hb hab
rw [smul_add, smul_add, add_add_add_comm]
obtain rfl | hvx := eq_or_ne v x
Β· refine' interior_mono (add_subset_add (singleton_subset_iff.2 hv) Subset.rfl) _
Nsmul
-> NSMul
, Zpow
-> ZPow
, etc (#9067)
Normalising to naming convention rule number 6.
@@ -273,7 +273,7 @@ theorem StrictConvex.vadd (hs : StrictConvex π s) (x : E) : StrictConvex π
end continuous_add
-section ContinuousSmul
+section ContinuousSMul
variable [LinearOrderedField π] [Module π E] [ContinuousConstSMul π E]
[LinearMap.CompatibleSMul E E π π] {s : Set E} {x : E}
@@ -289,7 +289,7 @@ theorem StrictConvex.affinity [ContinuousAdd E] (hs : StrictConvex π s) (z :
(hs.smul c).vadd z
#align strict_convex.affinity StrictConvex.affinity
-end ContinuousSmul
+end ContinuousSMul
end AddCommGroup
Mostly, this means replacing "of_open" by "of_isOpen". A few lemmas names were misleading and are corrected differently. Zulip discussion.
@@ -109,12 +109,13 @@ protected theorem StrictConvex.convex (hs : StrictConvex π s) : Convex π s
#align strict_convex.convex StrictConvex.convex
/-- An open convex set is strictly convex. -/
-protected theorem Convex.strictConvex_of_open (h : IsOpen s) (hs : Convex π s) : StrictConvex π s :=
+protected theorem Convex.strictConvex_of_isOpen (h : IsOpen s) (hs : Convex π s) :
+ StrictConvex π s :=
fun _ hx _ hy _ _ _ ha hb hab => h.interior_eq.symm βΈ hs hx hy ha.le hb.le hab
-#align convex.strict_convex_of_open Convex.strictConvex_of_open
+#align convex.strict_convex_of_open Convex.strictConvex_of_isOpen
theorem IsOpen.strictConvex_iff (h : IsOpen s) : StrictConvex π s β Convex π s :=
- β¨StrictConvex.convex, Convex.strictConvex_of_open hβ©
+ β¨StrictConvex.convex, Convex.strictConvex_of_isOpen hβ©
#align is_open.strict_convex_iff IsOpen.strictConvex_iff
theorem strictConvex_singleton (c : E) : StrictConvex π ({c} : Set E) :=
@@ -443,7 +443,7 @@ theorem strictConvex_iff_ordConnected : StrictConvex π s β s.OrdConnected :
strictConvex_iff_convex.trans convex_iff_ordConnected
#align strict_convex_iff_ord_connected strictConvex_iff_ordConnected
-alias strictConvex_iff_ordConnected β StrictConvex.ordConnected _
+alias β¨StrictConvex.ordConnected, _β© := strictConvex_iff_ordConnected
#align strict_convex.ord_connected StrictConvex.ordConnected
end
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -21,7 +21,7 @@ open Set
open Convex Pointwise
-variable {π π E F Ξ² : Type _}
+variable {π π E F Ξ² : Type*}
open Function Set
@@ -81,7 +81,7 @@ protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht
exact β¨hs hx.1 hy.1 hxy ha hb hab, ht hx.2 hy.2 hxy ha hb habβ©
#align strict_convex.inter StrictConvex.inter
-theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
+theorem Directed.strictConvex_iUnion {ΞΉ : Sort*} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) := by
rintro x hx y hy hxy a b ha hb hab
rw [mem_iUnion] at hx hy
@@ -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.strict
-! leanprover-community/mathlib commit 84dc0bd6619acaea625086d6f53cb35cdd554219
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.Convex.Basic
import Mathlib.Topology.Algebra.Order.Group
+#align_import analysis.convex.strict from "leanprover-community/mathlib"@"84dc0bd6619acaea625086d6f53cb35cdd554219"
+
/-!
# Strictly convex sets
The main breaking change is that tac <;> [t1, t2]
is now written tac <;> [t1; t2]
, to avoid clashing with tactics like cases
and use
that take comma-separated lists.
@@ -163,7 +163,7 @@ variable [TopologicalSpace Ξ²] [LinearOrderedCancelAddCommMonoid Ξ²] [OrderTopol
protected theorem Set.OrdConnected.strictConvex {s : Set Ξ²} (hs : OrdConnected s) :
StrictConvex π s := by
refine' strictConvex_iff_openSegment_subset.2 fun x hx y hy hxy => _
- cases' hxy.lt_or_lt with hlt hlt <;> [skip, rw [openSegment_symm]] <;>
+ cases' hxy.lt_or_lt with hlt hlt <;> [skip; rw [openSegment_symm]] <;>
exact
(openSegment_subset_Ioo hlt).trans
(isOpen_Ioo.subset_interior_iff.2 <| Ioo_subset_Icc_self.trans <| hs.out βΉ_βΊ βΉ_βΊ)
sSup
/iSup
(#3938)
As discussed on Zulip
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>
@@ -84,21 +84,21 @@ protected theorem StrictConvex.inter {t : Set E} (hs : StrictConvex π s) (ht
exact β¨hs hx.1 hy.1 hxy ha hb hab, ht hx.2 hy.2 hxy ha hb habβ©
#align strict_convex.inter StrictConvex.inter
-theorem Directed.strictConvex_unionα΅’ {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
+theorem Directed.strictConvex_iUnion {ΞΉ : Sort _} {s : ΞΉ β Set E} (hdir : Directed (Β· β Β·) s)
(hs : β β¦i : ΞΉβ¦, StrictConvex π (s i)) : StrictConvex π (β i, s i) := by
rintro x hx y hy hxy a b ha hb hab
- rw [mem_unionα΅’] at hx hy
+ rw [mem_iUnion] at hx hy
obtain β¨i, hxβ© := hx
obtain β¨j, hyβ© := hy
obtain β¨k, hik, hjkβ© := hdir i j
- exact interior_mono (subset_unionα΅’ s k) (hs (hik hx) (hjk hy) hxy ha hb hab)
-#align directed.strict_convex_Union Directed.strictConvex_unionα΅’
+ exact interior_mono (subset_iUnion s k) (hs (hik hx) (hjk hy) hxy ha hb hab)
+#align directed.strict_convex_Union Directed.strictConvex_iUnion
-theorem DirectedOn.strictConvex_unionβ {S : Set (Set E)} (hdir : DirectedOn (Β· β Β·) S)
+theorem DirectedOn.strictConvex_sUnion {S : Set (Set E)} (hdir : DirectedOn (Β· β Β·) S)
(hS : β s β S, StrictConvex π s) : StrictConvex π (ββ S) := by
- rw [unionβ_eq_unionα΅’]
- exact (directedOn_iff_directed.1 hdir).strictConvex_unionα΅’ fun s => hS _ s.2
-#align directed_on.strict_convex_sUnion DirectedOn.strictConvex_unionβ
+ rw [sUnion_eq_iUnion]
+ exact (directedOn_iff_directed.1 hdir).strictConvex_iUnion fun s => hS _ s.2
+#align directed_on.strict_convex_sUnion DirectedOn.strictConvex_sUnion
end SMul
by
s! (#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 by
s".
@@ -244,8 +244,8 @@ section continuous_add
variable [ContinuousAdd E] {s t : Set E}
-theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) : StrictConvex π (s + t) :=
- by
+theorem StrictConvex.add (hs : StrictConvex π s) (ht : StrictConvex π t) :
+ StrictConvex π (s + t) := by
rintro _ β¨v, w, hv, hw, rflβ© _ β¨x, y, hx, hy, rflβ© h a b ha hb hab
rw [smul_add, smul_add, add_add_add_comm]
obtain rfl | hvx := eq_or_ne v x
The unported dependencies are