analysis.locally_convex.basic
β·
Mathlib.Topology.Bornology.Absorbs
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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
@@ -329,7 +329,7 @@ variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGr
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
by
obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero] at h
+ Β· rw [norm_zero] at h
rw [norm_eq_zero.1 (h.antisymm <| norm_nonneg _)]
obtain rfl | h := s.eq_empty_or_nonempty
Β· simp_rw [smul_set_empty]
@@ -360,7 +360,7 @@ theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β
by
refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
Β· rintro rfl
- rw [norm_zero] at ha
+ rw [norm_zero] at ha
exact zero_lt_one.not_le ha
Β· rw [norm_inv]
exact inv_le_one ha
@@ -377,7 +377,7 @@ theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A
theorem Balanced.smul_mem_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero, norm_eq_zero] at h
+ Β· rw [norm_zero, norm_eq_zero] at h
rw [h]
have ha : a β 0 := norm_ne_zero_iff.1 (ne_of_eq_of_ne h <| norm_ne_zero_iff.2 hb)
constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b];
@@ -494,7 +494,7 @@ theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
rintro β¨r, hr, hβ©
obtain β¨a, haβ© := NormedSpace.exists_lt_norm π π r
have := h _ ha.le
- rwa [zero_subset, zero_mem_smul_set_iff] at this
+ rwa [zero_subset, zero_mem_smul_set_iff] at this
exact norm_ne_zero_iff.1 (hr.trans ha).ne'
#align absorbs_zero_iff absorbs_zero_iff
-/
@@ -531,7 +531,7 @@ variable [AddCommGroup E] [Module β E] {s : Set E}
theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦xβ¦, x β s β -x β s :=
by
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
- rw [Real.norm_eq_abs, abs_le] at ha
+ rw [Real.norm_eq_abs, abs_le] at ha
rw [show a = -((1 - a) / 2) + (a - -1) / 2 by ring, add_smul, neg_smul, β smul_neg]
exact
hs (h hx) hx (div_nonneg (sub_nonneg_of_le ha.2) zero_le_two)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -373,8 +373,8 @@ theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A
#align balanced.smul_eq Balanced.smul_eq
-/
-#print Balanced.mem_smul_iff /-
-theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
+#print Balanced.smul_mem_iff /-
+theorem Balanced.smul_mem_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
Β· rw [norm_zero, norm_eq_zero] at h
@@ -385,7 +385,7 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
Β· rw [β smul_eq_mul, smul_assoc]
refine' hs.smul_mem _ h'
simp [β h, ha]
-#align balanced.mem_smul_iff Balanced.mem_smul_iff
+#align balanced.mem_smul_iff Balanced.smul_mem_iff
-/
#print Balanced.neg_mem_iff /-
@@ -445,9 +445,9 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
#align absorbent_nhds_zero absorbent_nhds_zero
-/
-#print balanced_zero_union_interior /-
+#print Balanced.zero_insert_interior /-
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
-theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
+theorem Balanced.zero_insert_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
by
intro a ha
obtain rfl | h := eq_or_ne a 0
@@ -461,7 +461,7 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
calc
a β’ interior A β interior (a β’ A) := (isOpenMap_smulβ h).image_interior_subset A
_ β interior A := interior_mono (hA _ ha)
-#align balanced_zero_union_interior balanced_zero_union_interior
+#align balanced_zero_union_interior Balanced.zero_insert_interior
-/
#print Balanced.interior /-
@@ -470,7 +470,7 @@ theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
Balanced π (interior A) :=
by
rw [β union_eq_self_of_subset_left (singleton_subset_iff.2 h)]
- exact balanced_zero_union_interior hA
+ exact Balanced.zero_insert_interior hA
#align balanced.interior Balanced.interior
-/
@@ -507,8 +507,8 @@ theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
variable [Module β E] [SMulCommClass β π E]
-#print balanced_convexHull_of_balanced /-
-theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
+#print Balanced.convexHull /-
+theorem Balanced.convexHull (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
suffices Convex β {x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s}
by
@@ -518,7 +518,7 @@ theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (
intro x hx y hy u v hu hv huv a ha
simp only [smul_add, β smul_comm]
exact convex_convexHull β s (hx a ha) (hy a ha) hu hv huv
-#align balanced_convex_hull_of_balanced balanced_convexHull_of_balanced
+#align balanced_convex_hull_of_balanced Balanced.convexHull
-/
end NontriviallyNormedField
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -113,7 +113,17 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
#print absorbs_biUnion_finset /-
theorem absorbs_biUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
- Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by classical
+ Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
+ classical
+ induction' t using Finset.induction_on with i t ht hi
+ Β·
+ simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, Absorbs.empty,
+ IsEmpty.forall_iff, imp_true_iff]
+ rw [Finset.set_biUnion_insert, absorbs_union, hi]
+ constructor <;> intro h
+ Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
+ exact fun hi'' => by rw [hi'']; exact h.1
+ exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
#align absorbs_Union_finset absorbs_biUnion_finset
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -113,17 +113,7 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
#print absorbs_biUnion_finset /-
theorem absorbs_biUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
- Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
- classical
- induction' t using Finset.induction_on with i t ht hi
- Β·
- simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, Absorbs.empty,
- IsEmpty.forall_iff, imp_true_iff]
- rw [Finset.set_biUnion_insert, absorbs_union, hi]
- constructor <;> intro h
- Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
- exact fun hi'' => by rw [hi'']; exact h.1
- exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
+ Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by classical
#align absorbs_Union_finset absorbs_biUnion_finset
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -66,11 +66,11 @@ def Absorbs (A B : Set E) :=
variable {π} {s t u v A B : Set E}
-#print absorbs_empty /-
+#print Absorbs.empty /-
@[simp]
-theorem absorbs_empty {s : Set E} : Absorbs π s (β
: Set E) :=
+theorem Absorbs.empty {s : Set E} : Absorbs π s (β
: Set E) :=
β¨1, one_pos, fun a ha => Set.empty_subset _β©
-#align absorbs_empty absorbs_empty
+#align absorbs_empty Absorbs.empty
-/
#print Absorbs.mono /-
@@ -111,30 +111,30 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
#align absorbs_union absorbs_union
-/
-#print absorbs_iUnion_finset /-
-theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
+#print absorbs_biUnion_finset /-
+theorem absorbs_biUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
induction' t using Finset.induction_on with i t ht hi
Β·
- simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
+ simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, Absorbs.empty,
IsEmpty.forall_iff, imp_true_iff]
rw [Finset.set_biUnion_insert, absorbs_union, hi]
constructor <;> intro h
Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
exact fun hi'' => by rw [hi'']; exact h.1
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
-#align absorbs_Union_finset absorbs_iUnion_finset
+#align absorbs_Union_finset absorbs_biUnion_finset
-/
-#print Set.Finite.absorbs_iUnion /-
-theorem Set.Finite.absorbs_iUnion {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
+#print Set.Finite.absorbs_biUnion /-
+theorem Set.Finite.absorbs_biUnion {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
(hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) :=
by
lift t to Finset ΞΉ using hi
simp only [Finset.mem_coe]
- exact absorbs_iUnion_finset
-#align set.finite.absorbs_Union Set.Finite.absorbs_iUnion
+ exact absorbs_biUnion_finset
+#align set.finite.absorbs_Union Set.Finite.absorbs_biUnion
-/
variable (π)
@@ -148,12 +148,12 @@ def Absorbent (A : Set E) :=
variable {π}
-#print Absorbent.subset /-
-theorem Absorbent.subset (hA : Absorbent π A) (hAB : A β B) : Absorbent π B :=
+#print Absorbent.mono /-
+theorem Absorbent.mono (hA : Absorbent π A) (hAB : A β B) : Absorbent π B :=
by
refine' forall_imp (fun x => _) hA
exact Exists.imp fun r => And.imp_right <| forallβ_imp fun a ha hx => Set.smul_set_mono hAB hx
-#align absorbent.subset Absorbent.subset
+#align absorbent.subset Absorbent.mono
-/
#print absorbent_iff_forall_absorbs_singleton /-
@@ -168,7 +168,6 @@ theorem Absorbent.absorbs (hs : Absorbent π s) {x : E} : Absorbs π s {x} :
#align absorbent.absorbs Absorbent.absorbs
-/
-#print absorbent_iff_nonneg_lt /-
theorem absorbent_iff_nonneg_lt :
Absorbent π A β β x, β r, 0 β€ r β§ β β¦a : πβ¦, r < βaβ β x β a β’ A :=
forall_congr' fun x =>
@@ -176,7 +175,6 @@ theorem absorbent_iff_nonneg_lt :
β¨r + 1, add_pos_of_nonneg_of_pos hr zero_lt_one, fun a ha =>
hx ((lt_add_of_pos_right r zero_lt_one).trans_le ha)β©β©
#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_lt
--/
#print Absorbent.absorbs_finite /-
theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
@@ -272,11 +270,11 @@ section Module
variable [AddCommGroup E] [Module π E] {s sβ sβ t tβ tβ : Set E}
-#print Absorbs.neg /-
-theorem Absorbs.neg : Absorbs π s t β Absorbs π (-s) (-t) :=
+#print Absorbs.neg_neg /-
+theorem Absorbs.neg_neg : Absorbs π s t β Absorbs π (-s) (-t) :=
Exists.imp fun r =>
And.imp_right <| forallβ_imp fun _ _ h => (neg_subset_neg.2 h).trans (smul_set_neg _ _).Superset
-#align absorbs.neg Absorbs.neg
+#align absorbs.neg Absorbs.neg_neg
-/
#print Balanced.neg /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -232,7 +232,7 @@ theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced
#print balanced_iUnion /-
theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun a ha => (smul_set_Union _ _).Subset.trans <| iUnion_mono fun _ => h _ _ ha
+ fun a ha => (smul_set_iUnion _ _).Subset.trans <| iUnion_mono fun _ => h _ _ ha
#align balanced_Union balanced_iUnion
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2019 Jean Lo. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jean Lo, Bhavik Mehta, YaΓ«l Dillies
-/
-import Mathbin.Analysis.Convex.Basic
-import Mathbin.Analysis.Convex.Hull
-import Mathbin.Analysis.NormedSpace.Basic
+import Analysis.Convex.Basic
+import Analysis.Convex.Hull
+import Analysis.NormedSpace.Basic
#align_import analysis.locally_convex.basic from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -203,7 +203,7 @@ theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ
#align balanced_iff_smul_mem balanced_iff_smul_mem
-/
-alias balanced_iff_smul_mem β Balanced.smul_mem _
+alias β¨Balanced.smul_mem, _β© := balanced_iff_smul_mem
#align balanced.smul_mem Balanced.smul_mem
#print balanced_empty /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2019 Jean Lo. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jean Lo, Bhavik Mehta, YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.locally_convex.basic
-! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
-! 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.Analysis.Convex.Hull
import Mathbin.Analysis.NormedSpace.Basic
+#align_import analysis.locally_convex.basic from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
+
/-!
# Local convexity
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -76,19 +76,26 @@ theorem absorbs_empty {s : Set E} : Absorbs π s (β
: Set E) :=
#align absorbs_empty absorbs_empty
-/
+#print Absorbs.mono /-
theorem Absorbs.mono (hs : Absorbs π s u) (hst : s β t) (hvu : v β u) : Absorbs π t v :=
let β¨r, hr, hβ© := hs
β¨r, hr, fun a ha => hvu.trans <| (h _ ha).trans <| smul_set_mono hstβ©
#align absorbs.mono Absorbs.mono
+-/
+#print Absorbs.mono_left /-
theorem Absorbs.mono_left (hs : Absorbs π s u) (h : s β t) : Absorbs π t u :=
hs.mono h Subset.rfl
#align absorbs.mono_left Absorbs.mono_left
+-/
+#print Absorbs.mono_right /-
theorem Absorbs.mono_right (hs : Absorbs π s u) (h : v β u) : Absorbs π s v :=
hs.mono Subset.rfl h
#align absorbs.mono_right Absorbs.mono_right
+-/
+#print Absorbs.union /-
theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs π s (u βͺ v) :=
by
obtain β¨a, ha, huβ© := hu
@@ -97,12 +104,15 @@ theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs
β¨max a b, lt_max_of_lt_left ha, fun c hc =>
union_subset (hu _ <| le_of_max_le_left hc) (hv _ <| le_of_max_le_right hc)β©
#align absorbs.union Absorbs.union
+-/
+#print absorbs_union /-
@[simp]
theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorbs π s v :=
β¨fun h => β¨h.mono_right <| subset_union_left _ _, h.mono_right <| subset_union_right _ _β©,
fun h => h.1.union h.2β©
#align absorbs_union absorbs_union
+-/
#print absorbs_iUnion_finset /-
theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
@@ -141,20 +151,27 @@ def Absorbent (A : Set E) :=
variable {π}
+#print Absorbent.subset /-
theorem Absorbent.subset (hA : Absorbent π A) (hAB : A β B) : Absorbent π B :=
by
refine' forall_imp (fun x => _) hA
exact Exists.imp fun r => And.imp_right <| forallβ_imp fun a ha hx => Set.smul_set_mono hAB hx
#align absorbent.subset Absorbent.subset
+-/
+#print absorbent_iff_forall_absorbs_singleton /-
theorem absorbent_iff_forall_absorbs_singleton : Absorbent π A β β x, Absorbs π A {x} := by
simp_rw [Absorbs, Absorbent, singleton_subset_iff]
#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singleton
+-/
+#print Absorbent.absorbs /-
theorem Absorbent.absorbs (hs : Absorbent π s) {x : E} : Absorbs π s {x} :=
absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.absorbs Absorbent.absorbs
+-/
+#print absorbent_iff_nonneg_lt /-
theorem absorbent_iff_nonneg_lt :
Absorbent π A β β x, β r, 0 β€ r β§ β β¦a : πβ¦, r < βaβ β x β a β’ A :=
forall_congr' fun x =>
@@ -162,6 +179,7 @@ theorem absorbent_iff_nonneg_lt :
β¨r + 1, add_pos_of_nonneg_of_pos hr zero_lt_one, fun a ha =>
hx ((lt_add_of_pos_right r zero_lt_one).trans_le ha)β©β©
#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_lt
+-/
#print Absorbent.absorbs_finite /-
theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
@@ -182,54 +200,74 @@ def Balanced (A : Set E) :=
variable {π}
+#print balanced_iff_smul_mem /-
theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ β€ 1 β β β¦x : Eβ¦, x β s β a β’ x β s :=
forallβ_congr fun a ha => smul_set_subset_iff
#align balanced_iff_smul_mem balanced_iff_smul_mem
+-/
alias balanced_iff_smul_mem β Balanced.smul_mem _
#align balanced.smul_mem Balanced.smul_mem
+#print balanced_empty /-
@[simp]
theorem balanced_empty : Balanced π (β
: Set E) := fun _ _ => by rw [smul_set_empty]
#align balanced_empty balanced_empty
+-/
+#print balanced_univ /-
@[simp]
theorem balanced_univ : Balanced π (univ : Set E) := fun a ha => subset_univ _
#align balanced_univ balanced_univ
+-/
+#print Balanced.union /-
theorem Balanced.union (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A βͺ B) := fun a ha =>
smul_set_union.Subset.trans <| union_subset_union (hA _ ha) <| hB _ ha
#align balanced.union Balanced.union
+-/
+#print Balanced.inter /-
theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A β© B) := fun a ha =>
smul_set_inter_subset.trans <| inter_subset_inter (hA _ ha) <| hB _ ha
#align balanced.inter Balanced.inter
+-/
+#print balanced_iUnion /-
theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_Union _ _).Subset.trans <| iUnion_mono fun _ => h _ _ ha
#align balanced_Union balanced_iUnion
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print balanced_iUnionβ /-
theorem balanced_iUnionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
balanced_iUnion fun _ => balanced_iUnion <| h _
#align balanced_Unionβ balanced_iUnionβ
+-/
+#print balanced_iInter /-
theorem balanced_iInter {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_iInter_subset _ _).trans <| iInter_mono fun _ => h _ _ ha
#align balanced_Inter balanced_iInter
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print balanced_iInterβ /-
theorem balanced_iInterβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
balanced_iInter fun _ => balanced_iInter <| h _
#align balanced_Interβ balanced_iInterβ
+-/
variable [SMul π E] [SMulCommClass π π E]
+#print Balanced.smul /-
theorem Balanced.smul (a : π) (hs : Balanced π s) : Balanced π (a β’ s) := fun b hb =>
(smul_comm _ _ _).Subset.trans <| smul_set_mono <| hs _ hb
#align balanced.smul Balanced.smul
+-/
end SMul
@@ -237,36 +275,50 @@ section Module
variable [AddCommGroup E] [Module π E] {s sβ sβ t tβ tβ : Set E}
+#print Absorbs.neg /-
theorem Absorbs.neg : Absorbs π s t β Absorbs π (-s) (-t) :=
Exists.imp fun r =>
And.imp_right <| forallβ_imp fun _ _ h => (neg_subset_neg.2 h).trans (smul_set_neg _ _).Superset
#align absorbs.neg Absorbs.neg
+-/
+#print Balanced.neg /-
theorem Balanced.neg : Balanced π s β Balanced π (-s) :=
forallβ_imp fun _ _ h => (smul_set_neg _ _).Subset.trans <| neg_subset_neg.2 h
#align balanced.neg Balanced.neg
+-/
+#print Absorbs.add /-
theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Absorbs π (sβ + sβ) (tβ + tβ) :=
fun β¨rβ, hrβ, hββ© β¨rβ, hrβ, hββ© =>
β¨max rβ rβ, lt_max_of_lt_left hrβ, fun a ha =>
(add_subset_add (hβ _ <| le_of_max_le_left ha) <| hβ _ <| le_of_max_le_right ha).trans
(smul_add _ _ _).Supersetβ©
#align absorbs.add Absorbs.add
+-/
+#print Balanced.add /-
theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s + t) := fun a ha =>
(smul_add _ _ _).Subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
+-/
+#print Absorbs.sub /-
theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) : Absorbs π (sβ - sβ) (tβ - tβ) :=
by simp_rw [sub_eq_add_neg]; exact hβ.add hβ.neg
#align absorbs.sub Absorbs.sub
+-/
+#print Balanced.sub /-
theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) := by
simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
#align balanced.sub Balanced.sub
+-/
+#print balanced_zero /-
theorem balanced_zero : Balanced π (0 : Set E) := fun a ha => (smul_zero _).Subset
#align balanced_zero balanced_zero
+-/
end Module
@@ -277,6 +329,7 @@ section NormedField
variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
[SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
+#print Balanced.smul_mono /-
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
by
@@ -293,7 +346,9 @@ theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : β
rw [norm_smul, norm_inv, β div_eq_inv_mul]
exact div_le_one_of_le h (norm_nonneg _)
#align balanced.smul_mono Balanced.smul_mono
+-/
+#print Balanced.absorbs_self /-
/-- A balanced set absorbs itself. -/
theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
by
@@ -303,7 +358,9 @@ theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
rw [norm_inv]
exact inv_le_one ha
#align balanced.absorbs_self Balanced.absorbs_self
+-/
+#print Balanced.subset_smul /-
theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β a β’ A :=
by
refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
@@ -313,11 +370,15 @@ theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β
Β· rw [norm_inv]
exact inv_le_one ha
#align balanced.subset_smul Balanced.subset_smul
+-/
+#print Balanced.smul_eq /-
theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A :=
(hA _ ha.le).antisymm <| hA.subset_smul ha.ge
#align balanced.smul_eq Balanced.smul_eq
+-/
+#print Balanced.mem_smul_iff /-
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
@@ -330,11 +391,15 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
refine' hs.smul_mem _ h'
simp [β h, ha]
#align balanced.mem_smul_iff Balanced.mem_smul_iff
+-/
+#print Balanced.neg_mem_iff /-
theorem Balanced.neg_mem_iff (hs : Balanced π s) : -x β s β x β s := by
convert hs.mem_smul_iff (norm_neg 1) <;> simp only [neg_smul, one_smul]
#align balanced.neg_mem_iff Balanced.neg_mem_iff
+-/
+#print Absorbs.inter /-
theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs π (s β© t) u :=
by
obtain β¨a, ha, hsβ© := hs
@@ -344,22 +409,28 @@ theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs
rw [smul_set_interβ (norm_pos_iff.1 <| h.trans_le hc)]
exact subset_inter (hs _ <| le_of_max_le_left hc) (ht _ <| le_of_max_le_right hc)
#align absorbs.inter Absorbs.inter
+-/
+#print absorbs_inter /-
@[simp]
theorem absorbs_inter : Absorbs π (s β© t) u β Absorbs π s u β§ Absorbs π t u :=
β¨fun h => β¨h.mono_left <| inter_subset_left _ _, h.mono_left <| inter_subset_right _ _β©, fun h =>
h.1.inter h.2β©
#align absorbs_inter absorbs_inter
+-/
+#print absorbent_univ /-
theorem absorbent_univ : Absorbent π (univ : Set E) :=
by
refine' fun x => β¨1, zero_lt_one, fun a ha => _β©
rw [smul_set_univβ (norm_pos_iff.1 <| zero_lt_one.trans_le ha)]
exact trivial
#align absorbent_univ absorbent_univ
+-/
variable [TopologicalSpace E] [ContinuousSMul π E]
+#print absorbent_nhds_zero /-
/-- Every neighbourhood of the origin is absorbent. -/
theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
by
@@ -377,7 +448,9 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
βaββ»ΒΉ β€ r / 2 := (inv_le (half_pos hrβ) haβ).mp haβ
_ < r := half_lt_self hrβ
#align absorbent_nhds_zero absorbent_nhds_zero
+-/
+#print balanced_zero_union_interior /-
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
by
@@ -394,7 +467,9 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
a β’ interior A β interior (a β’ A) := (isOpenMap_smulβ h).image_interior_subset A
_ β interior A := interior_mono (hA _ ha)
#align balanced_zero_union_interior balanced_zero_union_interior
+-/
+#print Balanced.interior /-
/-- The interior of a balanced set is balanced if it contains the origin. -/
theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
Balanced π (interior A) :=
@@ -402,11 +477,14 @@ theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
rw [β union_eq_self_of_subset_left (singleton_subset_iff.2 h)]
exact balanced_zero_union_interior hA
#align balanced.interior Balanced.interior
+-/
+#print Balanced.closure /-
theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun a ha =>
(image_closure_subset_closure_image <| continuous_id.const_smul _).trans <|
closure_mono <| hA _ ha
#align balanced.closure Balanced.closure
+-/
end NormedField
@@ -414,6 +492,7 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
+#print absorbs_zero_iff /-
theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
by
refine' β¨_, fun h => β¨1, zero_lt_one, fun a _ => zero_subset.2 <| zero_mem_smul_set hβ©β©
@@ -423,13 +502,17 @@ theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
rwa [zero_subset, zero_mem_smul_set_iff] at this
exact norm_ne_zero_iff.1 (hr.trans ha).ne'
#align absorbs_zero_iff absorbs_zero_iff
+-/
+#print Absorbent.zero_mem /-
theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
absorbs_zero_iff.1 <| absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.zero_mem Absorbent.zero_mem
+-/
variable [Module β E] [SMulCommClass β π E]
+#print balanced_convexHull_of_balanced /-
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
suffices Convex β {x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s}
@@ -441,6 +524,7 @@ theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (
simp only [smul_add, β smul_comm]
exact convex_convexHull β s (hx a ha) (hy a ha) hu hv huv
#align balanced_convex_hull_of_balanced balanced_convexHull_of_balanced
+-/
end NontriviallyNormedField
@@ -448,6 +532,7 @@ section Real
variable [AddCommGroup E] [Module β E] {s : Set E}
+#print balanced_iff_neg_mem /-
theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦xβ¦, x β s β -x β s :=
by
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
@@ -457,6 +542,7 @@ theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦x
hs (h hx) hx (div_nonneg (sub_nonneg_of_le ha.2) zero_le_two)
(div_nonneg (sub_nonneg_of_le ha.1) zero_le_two) (by ring)
#align balanced_iff_neg_mem balanced_iff_neg_mem
+-/
end Real
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -376,7 +376,6 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
calc
βaββ»ΒΉ β€ r / 2 := (inv_le (half_pos hrβ) haβ).mp haβ
_ < r := half_lt_self hrβ
-
#align absorbent_nhds_zero absorbent_nhds_zero
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
@@ -394,7 +393,6 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
calc
a β’ interior A β interior (a β’ A) := (isOpenMap_smulβ h).image_interior_subset A
_ β interior A := interior_mono (hA _ ha)
-
#align balanced_zero_union_interior balanced_zero_union_interior
/-- The interior of a balanced set is balanced if it contains the origin. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -108,15 +108,15 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
- induction' t using Finset.induction_on with i t ht hi
- Β·
- simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
- IsEmpty.forall_iff, imp_true_iff]
- rw [Finset.set_biUnion_insert, absorbs_union, hi]
- constructor <;> intro h
- Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
- exact fun hi'' => by rw [hi'']; exact h.1
- exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
+ induction' t using Finset.induction_on with i t ht hi
+ Β·
+ simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
+ IsEmpty.forall_iff, imp_true_iff]
+ rw [Finset.set_biUnion_insert, absorbs_union, hi]
+ constructor <;> intro h
+ Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
+ exact fun hi'' => by rw [hi'']; exact h.1
+ exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
#align absorbs_Union_finset absorbs_iUnion_finset
-/
@@ -434,7 +434,7 @@ variable [Module β E] [SMulCommClass β π E]
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
- suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s }
+ suffices Convex β {x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s}
by
rw [balanced_iff_smul_mem] at hs β’
refine' fun a ha x hx => convexHull_min _ this hx a ha
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -281,7 +281,7 @@ variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGr
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
by
obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero] at h
+ Β· rw [norm_zero] at h
rw [norm_eq_zero.1 (h.antisymm <| norm_nonneg _)]
obtain rfl | h := s.eq_empty_or_nonempty
Β· simp_rw [smul_set_empty]
@@ -308,7 +308,7 @@ theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β
by
refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
Β· rintro rfl
- rw [norm_zero] at ha
+ rw [norm_zero] at ha
exact zero_lt_one.not_le ha
Β· rw [norm_inv]
exact inv_le_one ha
@@ -321,11 +321,11 @@ theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero, norm_eq_zero] at h
+ Β· rw [norm_zero, norm_eq_zero] at h
rw [h]
have ha : a β 0 := norm_ne_zero_iff.1 (ne_of_eq_of_ne h <| norm_ne_zero_iff.2 hb)
- constructor <;> intro h' <;>
- [rw [β inv_mul_cancel_rightβ ha b];rw [β inv_mul_cancel_rightβ hb a]] <;>
+ constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b];
+ rw [β inv_mul_cancel_rightβ hb a]] <;>
Β· rw [β smul_eq_mul, smul_assoc]
refine' hs.smul_mem _ h'
simp [β h, ha]
@@ -385,7 +385,7 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
intro a ha
obtain rfl | h := eq_or_ne a 0
Β· rw [zero_smul_set]
- exacts[subset_union_left _ _, β¨0, Or.inl rflβ©]
+ exacts [subset_union_left _ _, β¨0, Or.inl rflβ©]
Β· rw [β image_smul, image_union]
apply union_subset_union
Β· rw [image_zero, smul_zero]
@@ -422,7 +422,7 @@ theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
rintro β¨r, hr, hβ©
obtain β¨a, haβ© := NormedSpace.exists_lt_norm π π r
have := h _ ha.le
- rwa [zero_subset, zero_mem_smul_set_iff] at this
+ rwa [zero_subset, zero_mem_smul_set_iff] at this
exact norm_ne_zero_iff.1 (hr.trans ha).ne'
#align absorbs_zero_iff absorbs_zero_iff
@@ -436,7 +436,7 @@ theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (
by
suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s }
by
- rw [balanced_iff_smul_mem] at hsβ’
+ rw [balanced_iff_smul_mem] at hs β’
refine' fun a ha x hx => convexHull_min _ this hx a ha
exact fun y hy a ha => subset_convexHull β s (hs ha hy)
intro x hx y hy u v hu hv huv a ha
@@ -453,7 +453,7 @@ variable [AddCommGroup E] [Module β E] {s : Set E}
theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦xβ¦, x β s β -x β s :=
by
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
- rw [Real.norm_eq_abs, abs_le] at ha
+ rw [Real.norm_eq_abs, abs_le] at ha
rw [show a = -((1 - a) / 2) + (a - -1) / 2 by ring, add_smul, neg_smul, β smul_neg]
exact
hs (h hx) hx (div_nonneg (sub_nonneg_of_le ha.2) zero_le_two)
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,7 +47,7 @@ absorbent, balanced, locally convex, LCTVS
open Set
-open Pointwise Topology
+open scoped Pointwise Topology
variable {π π E : Type _} {ΞΉ : Sort _} {ΞΊ : ΞΉ β Sort _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -76,43 +76,19 @@ theorem absorbs_empty {s : Set E} : Absorbs π s (β
: Set E) :=
#align absorbs_empty absorbs_empty
-/
-/- warning: absorbs.mono -> Absorbs.mono is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) v u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 t v)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) v u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 t v)
-Case conversion may be inaccurate. Consider using '#align absorbs.mono Absorbs.monoβ'. -/
theorem Absorbs.mono (hs : Absorbs π s u) (hst : s β t) (hvu : v β u) : Absorbs π t v :=
let β¨r, hr, hβ© := hs
β¨r, hr, fun a ha => hvu.trans <| (h _ ha).trans <| smul_set_mono hstβ©
#align absorbs.mono Absorbs.mono
-/- warning: absorbs.mono_left -> Absorbs.mono_left is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 t u)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 t u)
-Case conversion may be inaccurate. Consider using '#align absorbs.mono_left Absorbs.mono_leftβ'. -/
theorem Absorbs.mono_left (hs : Absorbs π s u) (h : s β t) : Absorbs π t u :=
hs.mono h Subset.rfl
#align absorbs.mono_left Absorbs.mono_left
-/- warning: absorbs.mono_right -> Absorbs.mono_right is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) v u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) v u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v)
-Case conversion may be inaccurate. Consider using '#align absorbs.mono_right Absorbs.mono_rightβ'. -/
theorem Absorbs.mono_right (hs : Absorbs π s u) (h : v β u) : Absorbs π s v :=
hs.mono Subset.rfl h
#align absorbs.mono_right Absorbs.mono_right
-/- warning: absorbs.union -> Absorbs.union is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) u v))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) u v))
-Case conversion may be inaccurate. Consider using '#align absorbs.union Absorbs.unionβ'. -/
theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs π s (u βͺ v) :=
by
obtain β¨a, ha, huβ© := hu
@@ -122,12 +98,6 @@ theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs
union_subset (hu _ <| le_of_max_le_left hc) (hv _ <| le_of_max_le_right hc)β©
#align absorbs.union Absorbs.union
-/- warning: absorbs_union -> absorbs_union is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) u v)) (And (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) u v)) (And (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v))
-Case conversion may be inaccurate. Consider using '#align absorbs_union absorbs_unionβ'. -/
@[simp]
theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorbs π s v :=
β¨fun h => β¨h.mono_right <| subset_union_left _ _, h.mono_right <| subset_union_right _ _β©,
@@ -171,44 +141,20 @@ def Absorbent (A : Set E) :=
variable {π}
-/- warning: absorbent.subset -> Absorbent.subset is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) A B) -> (Absorbent.{u1, u2} π E _inst_1 _inst_2 B)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) A B) -> (Absorbent.{u2, u1} π E _inst_1 _inst_2 B)
-Case conversion may be inaccurate. Consider using '#align absorbent.subset Absorbent.subsetβ'. -/
theorem Absorbent.subset (hA : Absorbent π A) (hAB : A β B) : Absorbent π B :=
by
refine' forall_imp (fun x => _) hA
exact Exists.imp fun r => And.imp_right <| forallβ_imp fun a ha hx => Set.smul_set_mono hAB hx
#align absorbent.subset Absorbent.subset
-/- warning: absorbent_iff_forall_absorbs_singleton -> absorbent_iff_forall_absorbs_singleton is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E}, Iff (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) (forall (x : E), Absorbs.{u1, u2} π E _inst_1 _inst_2 A (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E}, Iff (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) (forall (x : E), Absorbs.{u2, u1} π E _inst_1 _inst_2 A (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x))
-Case conversion may be inaccurate. Consider using '#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singletonβ'. -/
theorem absorbent_iff_forall_absorbs_singleton : Absorbent π A β β x, Absorbs π A {x} := by
simp_rw [Absorbs, Absorbent, singleton_subset_iff]
#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singleton
-/- warning: absorbent.absorbs -> Absorbent.absorbs is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, (Absorbent.{u1, u2} π E _inst_1 _inst_2 s) -> (forall {x : E}, Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, (Absorbent.{u2, u1} π E _inst_1 _inst_2 s) -> (forall {x : E}, Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x))
-Case conversion may be inaccurate. Consider using '#align absorbent.absorbs Absorbent.absorbsβ'. -/
theorem Absorbent.absorbs (hs : Absorbent π s) {x : E} : Absorbs π s {x} :=
absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.absorbs Absorbent.absorbs
-/- warning: absorbent_iff_nonneg_lt -> absorbent_iff_nonneg_lt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E}, Iff (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) (forall (x : E), Exists.{1} Real (fun (r : Real) => And (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) (forall {{a : π}}, (LT.lt.{0} Real Real.hasLt r (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a)) -> (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 _inst_2) a A)))))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E}, Iff (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) (forall (x : E), Exists.{1} Real (fun (r : Real) => And (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) (forall {{a : π}}, (LT.lt.{0} Real Real.instLTReal r (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a)) -> (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 _inst_2)) a A)))))
-Case conversion may be inaccurate. Consider using '#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_ltβ'. -/
theorem absorbent_iff_nonneg_lt :
Absorbent π A β β x, β r, 0 β€ r β§ β β¦a : πβ¦, r < βaβ β x β a β’ A :=
forall_congr' fun x =>
@@ -236,103 +182,43 @@ def Balanced (A : Set E) :=
variable {π}
-/- warning: balanced_iff_smul_mem -> balanced_iff_smul_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, Iff (Balanced.{u1, u2} π E _inst_1 _inst_2 s) (forall {{a : π}}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (forall {{x : E}}, (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) (SMul.smul.{u1, u2} π E _inst_2 a x) s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, Iff (Balanced.{u2, u1} π E _inst_1 _inst_2 s) (forall {{a : π}}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (forall {{x : E}}, (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) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_2) a x) s)))
-Case conversion may be inaccurate. Consider using '#align balanced_iff_smul_mem balanced_iff_smul_memβ'. -/
theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ β€ 1 β β β¦x : Eβ¦, x β s β a β’ x β s :=
forallβ_congr fun a ha => smul_set_subset_iff
#align balanced_iff_smul_mem balanced_iff_smul_mem
-/- warning: balanced.smul_mem -> Balanced.smul_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 s) -> (forall {{a : π}}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (forall {{x : E}}, (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) (SMul.smul.{u1, u2} π E _inst_2 a x) s)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 s) -> (forall {{a : π}}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (forall {{x : E}}, (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) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_2) a x) s)))
-Case conversion may be inaccurate. Consider using '#align balanced.smul_mem Balanced.smul_memβ'. -/
alias balanced_iff_smul_mem β Balanced.smul_mem _
#align balanced.smul_mem Balanced.smul_mem
-/- warning: balanced_empty -> balanced_empty is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E], Balanced.{u1, u2} π E _inst_1 _inst_2 (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E], Balanced.{u2, u1} π E _inst_1 _inst_2 (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
-Case conversion may be inaccurate. Consider using '#align balanced_empty balanced_emptyβ'. -/
@[simp]
theorem balanced_empty : Balanced π (β
: Set E) := fun _ _ => by rw [smul_set_empty]
#align balanced_empty balanced_empty
-/- warning: balanced_univ -> balanced_univ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E], Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.univ.{u2} E)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E], Balanced.{u2, u1} π E _inst_1 _inst_2 (Set.univ.{u1} E)
-Case conversion may be inaccurate. Consider using '#align balanced_univ balanced_univβ'. -/
@[simp]
theorem balanced_univ : Balanced π (univ : Set E) := fun a ha => subset_univ _
#align balanced_univ balanced_univ
-/- warning: balanced.union -> Balanced.union is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 A) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 B) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) A B))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 A) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 B) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) A B))
-Case conversion may be inaccurate. Consider using '#align balanced.union Balanced.unionβ'. -/
theorem Balanced.union (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A βͺ B) := fun a ha =>
smul_set_union.Subset.trans <| union_subset_union (hA _ ha) <| hB _ ha
#align balanced.union Balanced.union
-/- warning: balanced.inter -> Balanced.inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 A) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 B) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) A B))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 A) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 B) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) A B))
-Case conversion may be inaccurate. Consider using '#align balanced.inter Balanced.interβ'. -/
theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A β© B) := fun a ha =>
smul_set_inter_subset.trans <| inter_subset_inter (hA _ ha) <| hB _ ha
#align balanced.inter Balanced.inter
-/- warning: balanced_Union -> balanced_iUnion is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iUnion.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.iUnion.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
-Case conversion may be inaccurate. Consider using '#align balanced_Union balanced_iUnionβ'. -/
theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_Union _ _).Subset.trans <| iUnion_mono fun _ => h _ _ ha
#align balanced_Union balanced_iUnion
-/- warning: balanced_Unionβ -> balanced_iUnionβ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iUnion.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.iUnion.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.iUnion.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.iUnion.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-Case conversion may be inaccurate. Consider using '#align balanced_Unionβ balanced_iUnionββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
theorem balanced_iUnionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
balanced_iUnion fun _ => balanced_iUnion <| h _
#align balanced_Unionβ balanced_iUnionβ
-/- warning: balanced_Inter -> balanced_iInter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iInter.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.iInter.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
-Case conversion may be inaccurate. Consider using '#align balanced_Inter balanced_iInterβ'. -/
theorem balanced_iInter {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_iInter_subset _ _).trans <| iInter_mono fun _ => h _ _ ha
#align balanced_Inter balanced_iInter
-/- warning: balanced_Interβ -> balanced_iInterβ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iInter.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.iInter.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.iInter.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.iInter.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-Case conversion may be inaccurate. Consider using '#align balanced_Interβ balanced_iInterββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
theorem balanced_iInterβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
@@ -341,12 +227,6 @@ theorem balanced_iInterβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced
variable [SMul π E] [SMulCommClass π π E]
-/- warning: balanced.smul -> Balanced.smul is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u3} π E] {s : Set.{u3} E} [_inst_3 : SMul.{u2, u3} π E] [_inst_4 : SMulCommClass.{u1, u2, u3} π π E _inst_2 _inst_3] (a : π), (Balanced.{u1, u3} π E _inst_1 _inst_2 s) -> (Balanced.{u1, u3} π E _inst_1 _inst_2 (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E _inst_3) a s))
-but is expected to have type
- forall {π : Type.{u3}} {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u2} π E] {s : Set.{u2} E} [_inst_3 : SMul.{u1, u2} π E] [_inst_4 : SMulCommClass.{u3, u1, u2} π π E _inst_2 _inst_3] (a : π), (Balanced.{u3, u2} π E _inst_1 _inst_2 s) -> (Balanced.{u3, u2} π E _inst_1 _inst_2 (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_3)) a s))
-Case conversion may be inaccurate. Consider using '#align balanced.smul Balanced.smulβ'. -/
theorem Balanced.smul (a : π) (hs : Balanced π s) : Balanced π (a β’ s) := fun b hb =>
(smul_comm _ _ _).Subset.trans <| smul_set_mono <| hs _ hb
#align balanced.smul Balanced.smul
@@ -357,33 +237,15 @@ section Module
variable [AddCommGroup E] [Module π E] {s sβ sβ t tβ tβ : Set E}
-/- warning: absorbs.neg -> Absorbs.neg is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s t) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) t))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s t) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) t))
-Case conversion may be inaccurate. Consider using '#align absorbs.neg Absorbs.negβ'. -/
theorem Absorbs.neg : Absorbs π s t β Absorbs π (-s) (-t) :=
Exists.imp fun r =>
And.imp_right <| forallβ_imp fun _ _ h => (neg_subset_neg.2 h).trans (smul_set_neg _ _).Superset
#align absorbs.neg Absorbs.neg
-/- warning: balanced.neg -> Balanced.neg is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s))
-Case conversion may be inaccurate. Consider using '#align balanced.neg Balanced.negβ'. -/
theorem Balanced.neg : Balanced π s β Balanced π (-s) :=
forallβ_imp fun _ _ h => (smul_set_neg _ _).Subset.trans <| neg_subset_neg.2 h
#align balanced.neg Balanced.neg
-/- warning: absorbs.add -> Absorbs.add is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {sβ : Set.{u2} E} {sβ : Set.{u2} E} {tβ : Set.{u2} E} {tβ : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (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_2))))))) sβ sβ) (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_2))))))) tβ tβ))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {sβ : Set.{u1} E} {sβ : Set.{u1} E} {tβ : Set.{u1} E} {tβ : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (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_2))))))) sβ sβ) (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_2))))))) tβ tβ))
-Case conversion may be inaccurate. Consider using '#align absorbs.add Absorbs.addβ'. -/
theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Absorbs π (sβ + sβ) (tβ + tβ) :=
fun β¨rβ, hrβ, hββ© β¨rβ, hrβ, hββ© =>
β¨max rβ rβ, lt_max_of_lt_left hrβ, fun a ha =>
@@ -391,42 +253,18 @@ theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Abso
(smul_add _ _ _).Supersetβ©
#align absorbs.add Absorbs.add
-/- warning: balanced.add -> Balanced.add is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (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_2))))))) s t))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (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_2))))))) s t))
-Case conversion may be inaccurate. Consider using '#align balanced.add Balanced.addβ'. -/
theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s + t) := fun a ha =>
(smul_add _ _ _).Subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
-/- warning: absorbs.sub -> Absorbs.sub is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {sβ : Set.{u2} E} {sβ : Set.{u2} E} {tβ : Set.{u2} E} {tβ : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) sβ sβ) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) tβ tβ))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {sβ : Set.{u1} E} {sβ : Set.{u1} E} {tβ : Set.{u1} E} {tβ : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) sβ sβ) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) tβ tβ))
-Case conversion may be inaccurate. Consider using '#align absorbs.sub Absorbs.subβ'. -/
theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) : Absorbs π (sβ - sβ) (tβ - tβ) :=
by simp_rw [sub_eq_add_neg]; exact hβ.add hβ.neg
#align absorbs.sub Absorbs.sub
-/- warning: balanced.sub -> Balanced.sub is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) s t))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
-Case conversion may be inaccurate. Consider using '#align balanced.sub Balanced.subβ'. -/
theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) := by
simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
#align balanced.sub Balanced.sub
-/- warning: balanced_zero -> balanced_zero is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)], Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)], Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))))
-Case conversion may be inaccurate. Consider using '#align balanced_zero balanced_zeroβ'. -/
theorem balanced_zero : Balanced π (0 : Set E) := fun a ha => (smul_zero _).Subset
#align balanced_zero balanced_zero
@@ -439,9 +277,6 @@ section NormedField
variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
[SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
-/- warning: balanced.smul_mono -> Balanced.smul_mono is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced.smul_mono Balanced.smul_monoβ'. -/
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
by
@@ -459,12 +294,6 @@ theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : β
exact div_le_one_of_le h (norm_nonneg _)
#align balanced.smul_mono Balanced.smul_mono
-/- warning: balanced.absorbs_self -> Balanced.absorbs_self is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A A)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A A)
-Case conversion may be inaccurate. Consider using '#align balanced.absorbs_self Balanced.absorbs_selfβ'. -/
/-- A balanced set absorbs itself. -/
theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
by
@@ -475,12 +304,6 @@ theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
exact inv_le_one ha
#align balanced.absorbs_self Balanced.absorbs_self
-/- warning: balanced.subset_smul -> Balanced.subset_smul is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} {a : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) A (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_4)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))) a A))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} {a : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a)) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) A (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))))) a A))
-Case conversion may be inaccurate. Consider using '#align balanced.subset_smul Balanced.subset_smulβ'. -/
theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β a β’ A :=
by
refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
@@ -491,19 +314,10 @@ theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β
exact inv_le_one ha
#align balanced.subset_smul Balanced.subset_smul
-/- warning: balanced.smul_eq -> Balanced.smul_eq is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} {a : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Eq.{1} Real (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Eq.{succ u2} (Set.{u2} E) (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_4)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))) a A) A)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} {a : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Eq.{1} Real (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Eq.{succ u1} (Set.{u1} E) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))))) a A) A)
-Case conversion may be inaccurate. Consider using '#align balanced.smul_eq Balanced.smul_eqβ'. -/
theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A :=
(hA _ ha.le).antisymm <| hA.subset_smul ha.ge
#align balanced.smul_eq Balanced.smul_eq
-/- warning: balanced.mem_smul_iff -> Balanced.mem_smul_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced.mem_smul_iff Balanced.mem_smul_iffβ'. -/
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
@@ -517,22 +331,10 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
simp [β h, ha]
#align balanced.mem_smul_iff Balanced.mem_smul_iff
-/- warning: balanced.neg_mem_iff -> Balanced.neg_mem_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s) -> (Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Neg.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))) x) s) (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s) -> (Iff (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) x) s) (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s))
-Case conversion may be inaccurate. Consider using '#align balanced.neg_mem_iff Balanced.neg_mem_iffβ'. -/
theorem Balanced.neg_mem_iff (hs : Balanced π s) : -x β s β x β s := by
convert hs.mem_smul_iff (norm_neg 1) <;> simp only [neg_smul, one_smul]
#align balanced.neg_mem_iff Balanced.neg_mem_iff
-/- warning: absorbs.inter -> Absorbs.inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s u) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) t u) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) u)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s u) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) t u) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) u)
-Case conversion may be inaccurate. Consider using '#align absorbs.inter Absorbs.interβ'. -/
theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs π (s β© t) u :=
by
obtain β¨a, ha, hsβ© := hs
@@ -543,24 +345,12 @@ theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs
exact subset_inter (hs _ <| le_of_max_le_left hc) (ht _ <| le_of_max_le_right hc)
#align absorbs.inter Absorbs.inter
-/- warning: absorbs_inter -> absorbs_inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) u) (And (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s u) (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) t u))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) u) (And (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s u) (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) t u))
-Case conversion may be inaccurate. Consider using '#align absorbs_inter absorbs_interβ'. -/
@[simp]
theorem absorbs_inter : Absorbs π (s β© t) u β Absorbs π s u β§ Absorbs π t u :=
β¨fun h => β¨h.mono_left <| inter_subset_left _ _, h.mono_left <| inter_subset_right _ _β©, fun h =>
h.1.inter h.2β©
#align absorbs_inter absorbs_inter
-/- warning: absorbent_univ -> absorbent_univ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)], Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Set.univ.{u2} E)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)], Absorbent.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Set.univ.{u1} E)
-Case conversion may be inaccurate. Consider using '#align absorbent_univ absorbent_univβ'. -/
theorem absorbent_univ : Absorbent π (univ : Set E) :=
by
refine' fun x => β¨1, zero_lt_one, fun a ha => _β©
@@ -570,12 +360,6 @@ theorem absorbent_univ : Absorbent π (univ : Set E) :=
variable [TopologicalSpace E] [ContinuousSMul π E]
-/- warning: absorbent_nhds_zero -> absorbent_nhds_zero is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) A (nhds.{u2} E _inst_8 (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)))))))))) -> (Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A)
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) A (nhds.{u2} E _inst_8 (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))))))) -> (Absorbent.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A)
-Case conversion may be inaccurate. Consider using '#align absorbent_nhds_zero absorbent_nhds_zeroβ'. -/
/-- Every neighbourhood of the origin is absorbent. -/
theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
by
@@ -595,9 +379,6 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
#align absorbent_nhds_zero absorbent_nhds_zero
-/- warning: balanced_zero_union_interior -> balanced_zero_union_interior is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced_zero_union_interior balanced_zero_union_interiorβ'. -/
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
by
@@ -616,9 +397,6 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
#align balanced_zero_union_interior balanced_zero_union_interior
-/- warning: balanced.interior -> Balanced.interior is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced.interior Balanced.interiorβ'. -/
/-- The interior of a balanced set is balanced if it contains the origin. -/
theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
Balanced π (interior A) :=
@@ -627,9 +405,6 @@ theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
exact balanced_zero_union_interior hA
#align balanced.interior Balanced.interior
-/- warning: balanced.closure -> Balanced.closure is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced.closure Balanced.closureβ'. -/
theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun a ha =>
(image_closure_subset_closure_image <| continuous_id.const_smul _).trans <|
closure_mono <| hA _ ha
@@ -641,12 +416,6 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
-/- warning: absorbs_zero_iff -> absorbs_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (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_2)))))))) s)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))))) (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_2))))))) s)
-Case conversion may be inaccurate. Consider using '#align absorbs_zero_iff absorbs_zero_iffβ'. -/
theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
by
refine' β¨_, fun h => β¨1, zero_lt_one, fun a _ => zero_subset.2 <| zero_mem_smul_set hβ©β©
@@ -657,21 +426,12 @@ theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
exact norm_ne_zero_iff.1 (hr.trans ha).ne'
#align absorbs_zero_iff absorbs_zero_iff
-/- warning: absorbent.zero_mem -> Absorbent.zero_mem is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) 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_2)))))))) s)
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, (Absorbent.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) 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_2))))))) s)
-Case conversion may be inaccurate. Consider using '#align absorbent.zero_mem Absorbent.zero_memβ'. -/
theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
absorbs_zero_iff.1 <| absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.zero_mem Absorbent.zero_mem
variable [Module β E] [SMulCommClass β π E]
-/- warning: balanced_convex_hull_of_balanced -> balanced_convexHull_of_balanced is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced_convex_hull_of_balanced balanced_convexHull_of_balancedβ'. -/
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s }
@@ -690,12 +450,6 @@ section Real
variable [AddCommGroup E] [Module β E] {s : Set E}
-/- warning: balanced_iff_neg_mem -> balanced_iff_neg_mem is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] {s : Set.{u1} E}, (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) -> (Iff (Balanced.{0, u1} Real E (SeminormedCommRing.toSemiNormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) (forall {{x : E}}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x s) -> (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) (Neg.neg.{u1} E (SubNegMonoid.toHasNeg.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_1))) x) s)))
-but is expected to have type
- forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] {s : Set.{u1} E}, (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) -> (Iff (Balanced.{0, u1} Real E (SeminormedCommRing.toSeminormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) (forall {{x : E}}, (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) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) x) s)))
-Case conversion may be inaccurate. Consider using '#align balanced_iff_neg_mem balanced_iff_neg_memβ'. -/
theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦xβ¦, x β s β -x β s :=
by
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -145,9 +145,7 @@ theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
rw [Finset.set_biUnion_insert, absorbs_union, hi]
constructor <;> intro h
Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
- exact fun hi'' => by
- rw [hi'']
- exact h.1
+ exact fun hi'' => by rw [hi'']; exact h.1
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
#align absorbs_Union_finset absorbs_iUnion_finset
-/
@@ -410,9 +408,7 @@ but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {sβ : Set.{u1} E} {sβ : Set.{u1} E} {tβ : Set.{u1} E} {tβ : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) sβ sβ) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) tβ tβ))
Case conversion may be inaccurate. Consider using '#align absorbs.sub Absorbs.subβ'. -/
theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) : Absorbs π (sβ - sβ) (tβ - tβ) :=
- by
- simp_rw [sub_eq_add_neg]
- exact hβ.add hβ.neg
+ by simp_rw [sub_eq_add_neg]; exact hβ.add hβ.neg
#align absorbs.sub Absorbs.sub
/- warning: balanced.sub -> Balanced.sub is a dubious translation:
@@ -421,10 +417,8 @@ lean 3 declaration is
but is expected to have type
forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
Case conversion may be inaccurate. Consider using '#align balanced.sub Balanced.subβ'. -/
-theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) :=
- by
- simp_rw [sub_eq_add_neg]
- exact hs.add ht.neg
+theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) := by
+ simp_rw [sub_eq_add_neg]; exact hs.add ht.neg
#align balanced.sub Balanced.sub
/- warning: balanced_zero -> balanced_zero is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -446,10 +446,7 @@ variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGr
[SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
/- warning: balanced.smul_mono -> Balanced.smul_mono is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : NormedField.{u1} π] [_inst_2 : NormedRing.{u2} π] [_inst_3 : NormedSpace.{u1, u2} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))] [_inst_4 : AddCommGroup.{u3} E] [_inst_5 : Module.{u1, u3} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_6 : SMulWithZero.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))] [_inst_7 : IsScalarTower.{u1, u2, u3} π π E (SMulZeroClass.toHasSmul.{u1, u2} π π (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π π (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))))) (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2))))) (NormedSpace.toModule.{u1, u2} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2))) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6)) (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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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 (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_5))))] {s : Set.{u3} E}, (Balanced.{u2, u3} π E (NormedRing.toSeminormedRing.{u2} π _inst_2) (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6)) s) -> (forall {a : π} {b : π}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} π (NormedRing.toHasNorm.{u2} π _inst_2) a) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) b)) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.hasSubset.{u3} E) (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 (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6))) a s) (SMul.smul.{u1, u3} π (Set.{u3} E) (Set.smulSet.{u1, u3} π E (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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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 (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_5))))) b s)))
-but is expected to have type
- forall {π : Type.{u1}} {π : Type.{u3}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : NormedRing.{u3} π] [_inst_3 : NormedSpace.{u1, u3} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u3} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u3} π (NormedRing.toNonUnitalNormedRing.{u3} π _inst_2)))] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_6 : SMulWithZero.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4)))))] [_inst_7 : IsScalarTower.{u1, u3, u2} π π E (SMulZeroClass.toSMul.{u1, u3} π π (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (SMulWithZero.toSMulZeroClass.{u1, u3} π π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1))))) (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π π (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1))))) (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} π (NonAssocRing.toNonUnitalNonAssocRing.{u3} π (Ring.toNonAssocRing.{u3} π (NormedRing.toRing.{u3} π _inst_2))))) (NormedSpace.toModule.{u1, u3} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u3} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u3} π (NormedRing.toNonUnitalNormedRing.{u3} π _inst_2))) _inst_3))))) (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} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))] {s : Set.{u2} E}, (Balanced.{u3, u2} π E (NormedRing.toSeminormedRing.{u3} π _inst_2) (SMulZeroClass.toSMul.{u3, u2} π E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)) s) -> (forall {a : π} {b : π}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} π (NormedRing.toNorm.{u3} π _inst_2) a) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) b)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (HSMul.hSMul.{u3, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u3, u2} π (Set.{u2} E) (Set.smulSet.{u3, u2} π E (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} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)))) a s) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))))) b s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced.smul_mono Balanced.smul_monoβ'. -/
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
@@ -511,10 +508,7 @@ theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A
#align balanced.smul_eq Balanced.smul_eq
/- warning: balanced.mem_smul_iff -> Balanced.mem_smul_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {a : π} {b : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s) -> (Eq.{1} Real (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) b)) -> (Iff (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) a x) s) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) b x) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {a : π} {b : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s) -> (Eq.{1} Real (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a) (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) b)) -> (Iff (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5))))) a x) s) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5))))) b x) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced.mem_smul_iff Balanced.mem_smul_iffβ'. -/
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
@@ -608,10 +602,7 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
#align absorbent_nhds_zero absorbent_nhds_zero
/- warning: balanced_zero_union_interior -> balanced_zero_union_interior is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.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))))))))) (interior.{u2} E _inst_8 A)))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4)))))))) (interior.{u1} E _inst_8 A)))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced_zero_union_interior balanced_zero_union_interiorβ'. -/
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
@@ -632,10 +623,7 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
#align balanced_zero_union_interior balanced_zero_union_interior
/- warning: balanced.interior -> Balanced.interior is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (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)))))))) (interior.{u2} E _inst_8 A)) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (interior.{u2} E _inst_8 A))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (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))))))) (interior.{u1} E _inst_8 A)) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (interior.{u1} E _inst_8 A))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced.interior Balanced.interiorβ'. -/
/-- The interior of a balanced set is balanced if it contains the origin. -/
theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
@@ -646,10 +634,7 @@ theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
#align balanced.interior Balanced.interior
/- warning: balanced.closure -> Balanced.closure is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (closure.{u2} E _inst_8 A))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (closure.{u1} E _inst_8 A))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced.closure Balanced.closureβ'. -/
theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun a ha =>
(image_closure_subset_closure_image <| continuous_id.const_smul _).trans <|
@@ -691,10 +676,7 @@ theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
variable [Module β E] [SMulCommClass β π E]
/- warning: balanced_convex_hull_of_balanced -> balanced_convexHull_of_balanced is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} [_inst_4 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMulCommClass.{0, u1, u2} Real π E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s))
-but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} [_inst_4 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] [_inst_5 : SMulCommClass.{0, u2, u1} Real π E (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _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_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OrderHom.toFun.{u1, u1} (Set.{u1} E) (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (ClosureOperator.toOrderHom.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (convexHull.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced_convex_hull_of_balanced balanced_convexHull_of_balancedβ'. -/
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -522,8 +522,8 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
Β· rw [norm_zero, norm_eq_zero] at h
rw [h]
have ha : a β 0 := norm_ne_zero_iff.1 (ne_of_eq_of_ne h <| norm_ne_zero_iff.2 hb)
- constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b],
- rw [β inv_mul_cancel_rightβ hb a]] <;>
+ constructor <;> intro h' <;>
+ [rw [β inv_mul_cancel_rightβ ha b];rw [β inv_mul_cancel_rightβ hb a]] <;>
Β· rw [β smul_eq_mul, smul_assoc]
refine' hs.smul_mem _ h'
simp [β h, ha]
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -134,32 +134,32 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
fun h => h.1.union h.2β©
#align absorbs_union absorbs_union
-#print absorbs_unionα΅’_finset /-
-theorem absorbs_unionα΅’_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
+#print absorbs_iUnion_finset /-
+theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
induction' t using Finset.induction_on with i t ht hi
Β·
- simp only [Finset.not_mem_empty, Set.unionα΅’_false, Set.unionα΅’_empty, absorbs_empty,
+ simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
IsEmpty.forall_iff, imp_true_iff]
- rw [Finset.set_bunionα΅’_insert, absorbs_union, hi]
+ rw [Finset.set_biUnion_insert, absorbs_union, hi]
constructor <;> intro h
Β· refine' fun _ hi' => (finset.mem_insert.mp hi').elim _ (h.2 _)
exact fun hi'' => by
rw [hi'']
exact h.1
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
-#align absorbs_Union_finset absorbs_unionα΅’_finset
+#align absorbs_Union_finset absorbs_iUnion_finset
-/
-#print Set.Finite.absorbs_unionα΅’ /-
-theorem Set.Finite.absorbs_unionα΅’ {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
+#print Set.Finite.absorbs_iUnion /-
+theorem Set.Finite.absorbs_iUnion {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
(hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) :=
by
lift t to Finset ΞΉ using hi
simp only [Finset.mem_coe]
- exact absorbs_unionα΅’_finset
-#align set.finite.absorbs_Union Set.Finite.absorbs_unionα΅’
+ exact absorbs_iUnion_finset
+#align set.finite.absorbs_Union Set.Finite.absorbs_iUnion
-/
variable (π)
@@ -222,7 +222,7 @@ theorem absorbent_iff_nonneg_lt :
#print Absorbent.absorbs_finite /-
theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
Absorbs π s v := by
- rw [β Set.bunionα΅’_of_singleton v]
+ rw [β Set.biUnion_of_singleton v]
exact hv.absorbs_Union.mpr fun _ _ => hs.absorbs
#align absorbent.absorbs_finite Absorbent.absorbs_finite
-/
@@ -297,49 +297,49 @@ theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced
smul_set_inter_subset.trans <| inter_subset_inter (hA _ ha) <| hB _ ha
#align balanced.inter Balanced.inter
-/- warning: balanced_Union -> balanced_unionα΅’ is a dubious translation:
+/- warning: balanced_Union -> balanced_iUnion is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.unionα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iUnion.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.unionα΅’.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
-Case conversion may be inaccurate. Consider using '#align balanced_Union balanced_unionα΅’β'. -/
-theorem balanced_unionα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun a ha => (smul_set_Union _ _).Subset.trans <| unionα΅’_mono fun _ => h _ _ ha
-#align balanced_Union balanced_unionα΅’
+ forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.iUnion.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
+Case conversion may be inaccurate. Consider using '#align balanced_Union balanced_iUnionβ'. -/
+theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
+ fun a ha => (smul_set_Union _ _).Subset.trans <| iUnion_mono fun _ => h _ _ ha
+#align balanced_Union balanced_iUnion
-/- warning: balanced_Unionβ -> balanced_unionα΅’β is a dubious translation:
+/- warning: balanced_Unionβ -> balanced_iUnionβ is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.unionα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.unionα΅’.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iUnion.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.iUnion.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.unionα΅’.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.unionα΅’.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-Case conversion may be inaccurate. Consider using '#align balanced_Unionβ balanced_unionα΅’ββ'. -/
+ forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.iUnion.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.iUnion.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+Case conversion may be inaccurate. Consider using '#align balanced_Unionβ balanced_iUnionββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem balanced_unionα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_iUnionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
- balanced_unionα΅’ fun _ => balanced_unionα΅’ <| h _
-#align balanced_Unionβ balanced_unionα΅’β
+ balanced_iUnion fun _ => balanced_iUnion <| h _
+#align balanced_Unionβ balanced_iUnionβ
-/- warning: balanced_Inter -> balanced_interα΅’ is a dubious translation:
+/- warning: balanced_Inter -> balanced_iInter is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.interα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iInter.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
but is expected to have type
- forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.interα΅’.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
-Case conversion may be inaccurate. Consider using '#align balanced_Inter balanced_interα΅’β'. -/
-theorem balanced_interα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun a ha => (smul_set_interα΅’_subset _ _).trans <| interα΅’_mono fun _ => h _ _ ha
-#align balanced_Inter balanced_interα΅’
+ forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.iInter.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
+Case conversion may be inaccurate. Consider using '#align balanced_Inter balanced_iInterβ'. -/
+theorem balanced_iInter {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
+ fun a ha => (smul_set_iInter_subset _ _).trans <| iInter_mono fun _ => h _ _ ha
+#align balanced_Inter balanced_iInter
-/- warning: balanced_Interβ -> balanced_interα΅’β is a dubious translation:
+/- warning: balanced_Interβ -> balanced_iInterβ is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.interα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.interα΅’.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.iInter.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.iInter.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
but is expected to have type
- forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.interα΅’.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.interα΅’.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
-Case conversion may be inaccurate. Consider using '#align balanced_Interβ balanced_interα΅’ββ'. -/
+ forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.iInter.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.iInter.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+Case conversion may be inaccurate. Consider using '#align balanced_Interβ balanced_iInterββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem balanced_interα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_iInterβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
- balanced_interα΅’ fun _ => balanced_interα΅’ <| h _
-#align balanced_Interβ balanced_interα΅’β
+ balanced_iInter fun _ => balanced_iInter <| h _
+#align balanced_Interβ balanced_iInterβ
variable [SMul π E] [SMulCommClass π π E]
mathlib commit https://github.com/leanprover-community/mathlib/commit/7ebf83ed9c262adbf983ef64d5e8c2ae94b625f4
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jean Lo, Bhavik Mehta, YaΓ«l Dillies
! This file was ported from Lean 3 source module analysis.locally_convex.basic
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Analysis.NormedSpace.Basic
/-!
# Local convexity
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines absorbent and balanced sets.
An absorbent set is one that "surrounds" the origin. The idea is made precise by requiring that any
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -56,32 +56,60 @@ section SMul
variable (π) [SMul π E]
+#print Absorbs /-
/-- A set `A` absorbs another set `B` if `B` is contained in all scalings of `A` by elements of
sufficiently large norm. -/
def Absorbs (A B : Set E) :=
β r, 0 < r β§ β a : π, r β€ βaβ β B β a β’ A
#align absorbs Absorbs
+-/
variable {π} {s t u v A B : Set E}
+#print absorbs_empty /-
@[simp]
theorem absorbs_empty {s : Set E} : Absorbs π s (β
: Set E) :=
β¨1, one_pos, fun a ha => Set.empty_subset _β©
#align absorbs_empty absorbs_empty
+-/
+/- warning: absorbs.mono -> Absorbs.mono is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) v u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 t v)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) v u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 t v)
+Case conversion may be inaccurate. Consider using '#align absorbs.mono Absorbs.monoβ'. -/
theorem Absorbs.mono (hs : Absorbs π s u) (hst : s β t) (hvu : v β u) : Absorbs π t v :=
let β¨r, hr, hβ© := hs
β¨r, hr, fun a ha => hvu.trans <| (h _ ha).trans <| smul_set_mono hstβ©
#align absorbs.mono Absorbs.mono
+/- warning: absorbs.mono_left -> Absorbs.mono_left is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 t u)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 t u)
+Case conversion may be inaccurate. Consider using '#align absorbs.mono_left Absorbs.mono_leftβ'. -/
theorem Absorbs.mono_left (hs : Absorbs π s u) (h : s β t) : Absorbs π t u :=
hs.mono h Subset.rfl
#align absorbs.mono_left Absorbs.mono_left
+/- warning: absorbs.mono_right -> Absorbs.mono_right is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) v u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) v u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v)
+Case conversion may be inaccurate. Consider using '#align absorbs.mono_right Absorbs.mono_rightβ'. -/
theorem Absorbs.mono_right (hs : Absorbs π s u) (h : v β u) : Absorbs π s v :=
hs.mono Subset.rfl h
#align absorbs.mono_right Absorbs.mono_right
+/- warning: absorbs.union -> Absorbs.union is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v) -> (Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) u v))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v) -> (Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) u v))
+Case conversion may be inaccurate. Consider using '#align absorbs.union Absorbs.unionβ'. -/
theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs π s (u βͺ v) :=
by
obtain β¨a, ha, huβ© := hu
@@ -91,12 +119,19 @@ theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs
union_subset (hu _ <| le_of_max_le_left hc) (hv _ <| le_of_max_le_right hc)β©
#align absorbs.union Absorbs.union
+/- warning: absorbs_union -> absorbs_union is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {u : Set.{u2} E} {v : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) u v)) (And (Absorbs.{u1, u2} π E _inst_1 _inst_2 s u) (Absorbs.{u1, u2} π E _inst_1 _inst_2 s v))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E} {u : Set.{u1} E} {v : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) u v)) (And (Absorbs.{u2, u1} π E _inst_1 _inst_2 s u) (Absorbs.{u2, u1} π E _inst_1 _inst_2 s v))
+Case conversion may be inaccurate. Consider using '#align absorbs_union absorbs_unionβ'. -/
@[simp]
theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorbs π s v :=
β¨fun h => β¨h.mono_right <| subset_union_left _ _, h.mono_right <| subset_union_right _ _β©,
fun h => h.1.union h.2β©
#align absorbs_union absorbs_union
+#print absorbs_unionα΅’_finset /-
theorem absorbs_unionα΅’_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
@@ -112,7 +147,9 @@ theorem absorbs_unionα΅’_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E}
exact h.1
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
#align absorbs_Union_finset absorbs_unionα΅’_finset
+-/
+#print Set.Finite.absorbs_unionα΅’ /-
theorem Set.Finite.absorbs_unionα΅’ {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
(hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) :=
by
@@ -120,30 +157,57 @@ theorem Set.Finite.absorbs_unionα΅’ {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f :
simp only [Finset.mem_coe]
exact absorbs_unionα΅’_finset
#align set.finite.absorbs_Union Set.Finite.absorbs_unionα΅’
+-/
variable (π)
+#print Absorbent /-
/-- A set is absorbent if it absorbs every singleton. -/
def Absorbent (A : Set E) :=
β x, β r, 0 < r β§ β a : π, r β€ βaβ β x β a β’ A
#align absorbent Absorbent
+-/
variable {π}
+/- warning: absorbent.subset -> Absorbent.subset is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) A B) -> (Absorbent.{u1, u2} π E _inst_1 _inst_2 B)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) A B) -> (Absorbent.{u2, u1} π E _inst_1 _inst_2 B)
+Case conversion may be inaccurate. Consider using '#align absorbent.subset Absorbent.subsetβ'. -/
theorem Absorbent.subset (hA : Absorbent π A) (hAB : A β B) : Absorbent π B :=
by
refine' forall_imp (fun x => _) hA
exact Exists.imp fun r => And.imp_right <| forallβ_imp fun a ha hx => Set.smul_set_mono hAB hx
#align absorbent.subset Absorbent.subset
+/- warning: absorbent_iff_forall_absorbs_singleton -> absorbent_iff_forall_absorbs_singleton is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E}, Iff (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) (forall (x : E), Absorbs.{u1, u2} π E _inst_1 _inst_2 A (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E}, Iff (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) (forall (x : E), Absorbs.{u2, u1} π E _inst_1 _inst_2 A (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x))
+Case conversion may be inaccurate. Consider using '#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singletonβ'. -/
theorem absorbent_iff_forall_absorbs_singleton : Absorbent π A β β x, Absorbs π A {x} := by
simp_rw [Absorbs, Absorbent, singleton_subset_iff]
#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singleton
+/- warning: absorbent.absorbs -> Absorbent.absorbs is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, (Absorbent.{u1, u2} π E _inst_1 _inst_2 s) -> (forall {x : E}, Absorbs.{u1, u2} π E _inst_1 _inst_2 s (Singleton.singleton.{u2, u2} E (Set.{u2} E) (Set.hasSingleton.{u2} E) x))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, (Absorbent.{u2, u1} π E _inst_1 _inst_2 s) -> (forall {x : E}, Absorbs.{u2, u1} π E _inst_1 _inst_2 s (Singleton.singleton.{u1, u1} E (Set.{u1} E) (Set.instSingletonSet.{u1} E) x))
+Case conversion may be inaccurate. Consider using '#align absorbent.absorbs Absorbent.absorbsβ'. -/
theorem Absorbent.absorbs (hs : Absorbent π s) {x : E} : Absorbs π s {x} :=
absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.absorbs Absorbent.absorbs
+/- warning: absorbent_iff_nonneg_lt -> absorbent_iff_nonneg_lt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E}, Iff (Absorbent.{u1, u2} π E _inst_1 _inst_2 A) (forall (x : E), Exists.{1} Real (fun (r : Real) => And (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) (forall {{a : π}}, (LT.lt.{0} Real Real.hasLt r (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a)) -> (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 _inst_2) a A)))))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E}, Iff (Absorbent.{u2, u1} π E _inst_1 _inst_2 A) (forall (x : E), Exists.{1} Real (fun (r : Real) => And (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) (forall {{a : π}}, (LT.lt.{0} Real Real.instLTReal r (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a)) -> (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 _inst_2)) a A)))))
+Case conversion may be inaccurate. Consider using '#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_ltβ'. -/
theorem absorbent_iff_nonneg_lt :
Absorbent π A β β x, β r, 0 β€ r β§ β β¦a : πβ¦, r < βaβ β x β a β’ A :=
forall_congr' fun x =>
@@ -152,66 +216,136 @@ theorem absorbent_iff_nonneg_lt :
hx ((lt_add_of_pos_right r zero_lt_one).trans_le ha)β©β©
#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_lt
+#print Absorbent.absorbs_finite /-
theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
Absorbs π s v := by
rw [β Set.bunionα΅’_of_singleton v]
exact hv.absorbs_Union.mpr fun _ _ => hs.absorbs
#align absorbent.absorbs_finite Absorbent.absorbs_finite
+-/
variable (π)
+#print Balanced /-
/-- A set `A` is balanced if `a β’ A` is contained in `A` whenever `a` has norm at most `1`. -/
def Balanced (A : Set E) :=
β a : π, βaβ β€ 1 β a β’ A β A
#align balanced Balanced
+-/
variable {π}
+/- warning: balanced_iff_smul_mem -> balanced_iff_smul_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, Iff (Balanced.{u1, u2} π E _inst_1 _inst_2 s) (forall {{a : π}}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (forall {{x : E}}, (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) (SMul.smul.{u1, u2} π E _inst_2 a x) s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, Iff (Balanced.{u2, u1} π E _inst_1 _inst_2 s) (forall {{a : π}}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (forall {{x : E}}, (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) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_2) a x) s)))
+Case conversion may be inaccurate. Consider using '#align balanced_iff_smul_mem balanced_iff_smul_memβ'. -/
theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ β€ 1 β β β¦x : Eβ¦, x β s β a β’ x β s :=
forallβ_congr fun a ha => smul_set_subset_iff
#align balanced_iff_smul_mem balanced_iff_smul_mem
+/- warning: balanced.smul_mem -> Balanced.smul_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 s) -> (forall {{a : π}}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (forall {{x : E}}, (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) (SMul.smul.{u1, u2} π E _inst_2 a x) s)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {s : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 s) -> (forall {{a : π}}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (forall {{x : E}}, (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) (HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E _inst_2) a x) s)))
+Case conversion may be inaccurate. Consider using '#align balanced.smul_mem Balanced.smul_memβ'. -/
alias balanced_iff_smul_mem β Balanced.smul_mem _
#align balanced.smul_mem Balanced.smul_mem
+/- warning: balanced_empty -> balanced_empty is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E], Balanced.{u1, u2} π E _inst_1 _inst_2 (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E], Balanced.{u2, u1} π E _inst_1 _inst_2 (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
+Case conversion may be inaccurate. Consider using '#align balanced_empty balanced_emptyβ'. -/
@[simp]
theorem balanced_empty : Balanced π (β
: Set E) := fun _ _ => by rw [smul_set_empty]
#align balanced_empty balanced_empty
+/- warning: balanced_univ -> balanced_univ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E], Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.univ.{u2} E)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E], Balanced.{u2, u1} π E _inst_1 _inst_2 (Set.univ.{u1} E)
+Case conversion may be inaccurate. Consider using '#align balanced_univ balanced_univβ'. -/
@[simp]
theorem balanced_univ : Balanced π (univ : Set E) := fun a ha => subset_univ _
#align balanced_univ balanced_univ
+/- warning: balanced.union -> Balanced.union is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 A) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 B) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) A B))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 A) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 B) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) A B))
+Case conversion may be inaccurate. Consider using '#align balanced.union Balanced.unionβ'. -/
theorem Balanced.union (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A βͺ B) := fun a ha =>
smul_set_union.Subset.trans <| union_subset_union (hA _ ha) <| hB _ ha
#align balanced.union Balanced.union
+/- warning: balanced.inter -> Balanced.inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {A : Set.{u2} E} {B : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 A) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 B) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) A B))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u1} π E] {A : Set.{u1} E} {B : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 _inst_2 A) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 B) -> (Balanced.{u2, u1} π E _inst_1 _inst_2 (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) A B))
+Case conversion may be inaccurate. Consider using '#align balanced.inter Balanced.interβ'. -/
theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced π (A β© B) := fun a ha =>
smul_set_inter_subset.trans <| inter_subset_inter (hA _ ha) <| hB _ ha
#align balanced.inter Balanced.inter
+/- warning: balanced_Union -> balanced_unionα΅’ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.unionα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.unionα΅’.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
+Case conversion may be inaccurate. Consider using '#align balanced_Union balanced_unionα΅’β'. -/
theorem balanced_unionα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_Union _ _).Subset.trans <| unionα΅’_mono fun _ => h _ _ ha
#align balanced_Union balanced_unionα΅’
+/- warning: balanced_Unionβ -> balanced_unionα΅’β is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.unionα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.unionα΅’.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+but is expected to have type
+ forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.unionα΅’.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.unionα΅’.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+Case conversion may be inaccurate. Consider using '#align balanced_Unionβ balanced_unionα΅’ββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem balanced_Unionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_unionα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
balanced_unionα΅’ fun _ => balanced_unionα΅’ <| h _
-#align balanced_Unionβ balanced_Unionβ
-
+#align balanced_Unionβ balanced_unionα΅’β
+
+/- warning: balanced_Inter -> balanced_interα΅’ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : ΞΉ -> (Set.{u2} E)}, (forall (i : ΞΉ), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.interα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => f i)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u3}} {ΞΉ : Sort.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : SMul.{u2, u3} π E] {f : ΞΉ -> (Set.{u3} E)}, (forall (i : ΞΉ), Balanced.{u2, u3} π E _inst_1 _inst_2 (f i)) -> (Balanced.{u2, u3} π E _inst_1 _inst_2 (Set.interα΅’.{u3, u1} E ΞΉ (fun (i : ΞΉ) => f i)))
+Case conversion may be inaccurate. Consider using '#align balanced_Inter balanced_interα΅’β'. -/
theorem balanced_interα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
fun a ha => (smul_set_interα΅’_subset _ _).trans <| interα΅’_mono fun _ => h _ _ ha
#align balanced_Inter balanced_interα΅’
+/- warning: balanced_Interβ -> balanced_interα΅’β is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} {ΞΉ : Sort.{u3}} {ΞΊ : ΞΉ -> Sort.{u4}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u2} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u1, u2} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u1, u2} π E _inst_1 _inst_2 (Set.interα΅’.{u2, u3} E ΞΉ (fun (i : ΞΉ) => Set.interα΅’.{u2, u4} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+but is expected to have type
+ forall {π : Type.{u3}} {E : Type.{u4}} {ΞΉ : Sort.{u2}} {ΞΊ : ΞΉ -> Sort.{u1}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u4} π E] {f : forall (i : ΞΉ), (ΞΊ i) -> (Set.{u4} E)}, (forall (i : ΞΉ) (j : ΞΊ i), Balanced.{u3, u4} π E _inst_1 _inst_2 (f i j)) -> (Balanced.{u3, u4} π E _inst_1 _inst_2 (Set.interα΅’.{u4, u2} E ΞΉ (fun (i : ΞΉ) => Set.interα΅’.{u4, u1} E (ΞΊ i) (fun (j : ΞΊ i) => f i j))))
+Case conversion may be inaccurate. Consider using '#align balanced_Interβ balanced_interα΅’ββ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem balanced_Interβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_interα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
balanced_interα΅’ fun _ => balanced_interα΅’ <| h _
-#align balanced_Interβ balanced_Interβ
+#align balanced_Interβ balanced_interα΅’β
variable [SMul π E] [SMulCommClass π π E]
+/- warning: balanced.smul -> Balanced.smul is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u3} π E] {s : Set.{u3} E} [_inst_3 : SMul.{u2, u3} π E] [_inst_4 : SMulCommClass.{u1, u2, u3} π π E _inst_2 _inst_3] (a : π), (Balanced.{u1, u3} π E _inst_1 _inst_2 s) -> (Balanced.{u1, u3} π E _inst_1 _inst_2 (SMul.smul.{u2, u3} π (Set.{u3} E) (Set.smulSet.{u2, u3} π E _inst_3) a s))
+but is expected to have type
+ forall {π : Type.{u3}} {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u3} π] [_inst_2 : SMul.{u3, u2} π E] {s : Set.{u2} E} [_inst_3 : SMul.{u1, u2} π E] [_inst_4 : SMulCommClass.{u3, u1, u2} π π E _inst_2 _inst_3] (a : π), (Balanced.{u3, u2} π E _inst_1 _inst_2 s) -> (Balanced.{u3, u2} π E _inst_1 _inst_2 (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_3)) a s))
+Case conversion may be inaccurate. Consider using '#align balanced.smul Balanced.smulβ'. -/
theorem Balanced.smul (a : π) (hs : Balanced π s) : Balanced π (a β’ s) := fun b hb =>
(smul_comm _ _ _).Subset.trans <| smul_set_mono <| hs _ hb
#align balanced.smul Balanced.smul
@@ -222,15 +356,33 @@ section Module
variable [AddCommGroup E] [Module π E] {s sβ sβ t tβ tβ : Set E}
+/- warning: absorbs.neg -> Absorbs.neg is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s t) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) t))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s t) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) t))
+Case conversion may be inaccurate. Consider using '#align absorbs.neg Absorbs.negβ'. -/
theorem Absorbs.neg : Absorbs π s t β Absorbs π (-s) (-t) :=
Exists.imp fun r =>
And.imp_right <| forallβ_imp fun _ _ h => (neg_subset_neg.2 h).trans (smul_set_neg _ _).Superset
#align absorbs.neg Absorbs.neg
+/- warning: balanced.neg -> Balanced.neg is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (Neg.neg.{u2} (Set.{u2} E) (Set.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (Neg.neg.{u1} (Set.{u1} E) (Set.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2)))))) s))
+Case conversion may be inaccurate. Consider using '#align balanced.neg Balanced.negβ'. -/
theorem Balanced.neg : Balanced π s β Balanced π (-s) :=
forallβ_imp fun _ _ h => (smul_set_neg _ _).Subset.trans <| neg_subset_neg.2 h
#align balanced.neg Balanced.neg
+/- warning: absorbs.add -> Absorbs.add is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {sβ : Set.{u2} E} {sβ : Set.{u2} E} {tβ : Set.{u2} E} {tβ : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (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_2))))))) sβ sβ) (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_2))))))) tβ tβ))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {sβ : Set.{u1} E} {sβ : Set.{u1} E} {tβ : Set.{u1} E} {tβ : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (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_2))))))) sβ sβ) (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_2))))))) tβ tβ))
+Case conversion may be inaccurate. Consider using '#align absorbs.add Absorbs.addβ'. -/
theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Absorbs π (sβ + sβ) (tβ + tβ) :=
fun β¨rβ, hrβ, hββ© β¨rβ, hrβ, hββ© =>
β¨max rβ rβ, lt_max_of_lt_left hrβ, fun a ha =>
@@ -238,22 +390,46 @@ theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Abso
(smul_add _ _ _).Supersetβ©
#align absorbs.add Absorbs.add
+/- warning: balanced.add -> Balanced.add is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (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_2))))))) s t))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (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_2))))))) s t))
+Case conversion may be inaccurate. Consider using '#align balanced.add Balanced.addβ'. -/
theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s + t) := fun a ha =>
(smul_add _ _ _).Subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
+/- warning: absorbs.sub -> Absorbs.sub is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {sβ : Set.{u2} E} {sβ : Set.{u2} E} {tβ : Set.{u2} E} {tβ : Set.{u2} E}, (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) sβ sβ) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) tβ tβ))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {sβ : Set.{u1} E} {sβ : Set.{u1} E} {tβ : Set.{u1} E} {tβ : Set.{u1} E}, (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) sβ tβ) -> (Absorbs.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) sβ sβ) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) tβ tβ))
+Case conversion may be inaccurate. Consider using '#align absorbs.sub Absorbs.subβ'. -/
theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) : Absorbs π (sβ - sβ) (tβ - tβ) :=
by
simp_rw [sub_eq_add_neg]
exact hβ.add hβ.neg
#align absorbs.sub Absorbs.sub
+/- warning: balanced.sub -> Balanced.sub is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t) -> (Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (HSub.hSub.{u2, u2, u2} (Set.{u2} E) (Set.{u2} E) (Set.{u2} E) (instHSub.{u2} (Set.{u2} E) (Set.sub.{u2} E (SubNegMonoid.toHasSub.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))) s t))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (HSub.hSub.{u1, u1, u1} (Set.{u1} E) (Set.{u1} E) (Set.{u1} E) (instHSub.{u1} (Set.{u1} E) (Set.sub.{u1} E (SubNegMonoid.toSub.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2))))) s t))
+Case conversion may be inaccurate. Consider using '#align balanced.sub Balanced.subβ'. -/
theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) :=
by
simp_rw [sub_eq_add_neg]
exact hs.add ht.neg
#align balanced.sub Balanced.sub
+/- warning: balanced_zero -> balanced_zero is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)], Balanced.{u1, u2} π E _inst_1 (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : SeminormedRing.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)], Balanced.{u2, u1} π E _inst_1 (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (MonoidWithZero.toZero.{u2} π (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align balanced_zero balanced_zeroβ'. -/
theorem balanced_zero : Balanced π (0 : Set E) := fun a ha => (smul_zero _).Subset
#align balanced_zero balanced_zero
@@ -266,6 +442,12 @@ section NormedField
variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
[SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
+/- warning: balanced.smul_mono -> Balanced.smul_mono is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {π : Type.{u2}} {E : Type.{u3}} [_inst_1 : NormedField.{u1} π] [_inst_2 : NormedRing.{u2} π] [_inst_3 : NormedSpace.{u1, u2} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))] [_inst_4 : AddCommGroup.{u3} E] [_inst_5 : Module.{u1, u3} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4)] [_inst_6 : SMulWithZero.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4)))))] [_inst_7 : IsScalarTower.{u1, u2, u3} π π E (SMulZeroClass.toHasSmul.{u1, u2} π π (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π π (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))))) (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))))) (AddZeroClass.toHasZero.{u2} π (AddMonoid.toAddZeroClass.{u2} π (AddCommMonoid.toAddMonoid.{u2} π (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} π (SeminormedAddCommGroup.toAddCommGroup.{u2} π (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2))))) (NormedSpace.toModule.{u1, u2} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} π (NormedRing.toNonUnitalNormedRing.{u2} π _inst_2))) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6)) (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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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 (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_5))))] {s : Set.{u3} E}, (Balanced.{u2, u3} π E (NormedRing.toSeminormedRing.{u2} π _inst_2) (SMulZeroClass.toHasSmul.{u2, u3} π E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6)) s) -> (forall {a : π} {b : π}, (LE.le.{0} Real Real.hasLe (Norm.norm.{u2} π (NormedRing.toHasNorm.{u2} π _inst_2) a) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) b)) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.hasSubset.{u3} E) (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 (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) (SMulWithZero.toSmulZeroClass.{u2, u3} π E (MulZeroClass.toHasZero.{u2} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π (NonAssocRing.toNonUnitalNonAssocRing.{u2} π (Ring.toNonAssocRing.{u2} π (NormedRing.toRing.{u2} π _inst_2)))))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (SubNegMonoid.toAddMonoid.{u3} E (AddGroup.toSubNegMonoid.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_4))))) _inst_6))) a s) (SMul.smul.{u1, u3} π (Set.{u3} E) (Set.smulSet.{u1, u3} π E (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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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 (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_4) _inst_5))))) b s)))
+but is expected to have type
+ forall {π : Type.{u1}} {π : Type.{u3}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : NormedRing.{u3} π] [_inst_3 : NormedSpace.{u1, u3} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u3} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u3} π (NormedRing.toNonUnitalNormedRing.{u3} π _inst_2)))] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] [_inst_6 : SMulWithZero.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4)))))] [_inst_7 : IsScalarTower.{u1, u3, u2} π π E (SMulZeroClass.toSMul.{u1, u3} π π (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (SMulWithZero.toSMulZeroClass.{u1, u3} π π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1))))) (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u3} π π (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1))))) (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} π (NonAssocRing.toNonUnitalNonAssocRing.{u3} π (Ring.toNonAssocRing.{u3} π (NormedRing.toRing.{u3} π _inst_2))))) (NormedSpace.toModule.{u1, u3} π π _inst_1 (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u3} π (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u3} π (NormedRing.toNonUnitalNormedRing.{u3} π _inst_2))) _inst_3))))) (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} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))] {s : Set.{u2} E}, (Balanced.{u3, u2} π E (NormedRing.toSeminormedRing.{u3} π _inst_2) (SMulZeroClass.toSMul.{u3, u2} π E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π E (MonoidWithZero.toZero.{u3} π (Semiring.toMonoidWithZero.{u3} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)) s) -> (forall {a : π} {b : π}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u3} π (NormedRing.toNorm.{u3} π _inst_2) a) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) b)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (HSMul.hSMul.{u3, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u3, u2} π (Set.{u2} E) (Set.smulSet.{u3, u2} π E (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} π (Ring.toSemiring.{u3} π (NormedRing.toRing.{u3} π _inst_2)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))) _inst_6)))) a s) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))))) b s)))
+Case conversion may be inaccurate. Consider using '#align balanced.smul_mono Balanced.smul_monoβ'. -/
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s :=
by
@@ -283,6 +465,12 @@ theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : β
exact div_le_one_of_le h (norm_nonneg _)
#align balanced.smul_mono Balanced.smul_mono
+/- warning: balanced.absorbs_self -> Balanced.absorbs_self is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A A)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A A)
+Case conversion may be inaccurate. Consider using '#align balanced.absorbs_self Balanced.absorbs_selfβ'. -/
/-- A balanced set absorbs itself. -/
theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
by
@@ -293,6 +481,12 @@ theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
exact inv_le_one ha
#align balanced.absorbs_self Balanced.absorbs_self
+/- warning: balanced.subset_smul -> Balanced.subset_smul is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} {a : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) A (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_4)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))) a A))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} {a : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a)) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) A (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))))) a A))
+Case conversion may be inaccurate. Consider using '#align balanced.subset_smul Balanced.subset_smulβ'. -/
theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β a β’ A :=
by
refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
@@ -303,10 +497,22 @@ theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β
exact inv_le_one ha
#align balanced.subset_smul Balanced.subset_smul
+/- warning: balanced.smul_eq -> Balanced.smul_eq is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} {a : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Eq.{1} Real (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) -> (Eq.{succ u2} (Set.{u2} E) (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_4)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5))))) a A) A)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} {a : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Eq.{1} Real (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (Eq.{succ u1} (Set.{u1} E) (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_4))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))))) a A) A)
+Case conversion may be inaccurate. Consider using '#align balanced.smul_eq Balanced.smul_eqβ'. -/
theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A :=
(hA _ ha.le).antisymm <| hA.subset_smul ha.ge
#align balanced.smul_eq Balanced.smul_eq
+/- warning: balanced.mem_smul_iff -> Balanced.mem_smul_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E} {a : π} {b : π}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s) -> (Eq.{1} Real (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) a) (Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π _inst_1) b)) -> (Iff (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) a x) s) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) b x) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E} {a : π} {b : π}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s) -> (Eq.{1} Real (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) a) (Norm.norm.{u2} π (NormedField.toNorm.{u2} π _inst_1) b)) -> (Iff (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5))))) a x) s) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5))))) b x) s))
+Case conversion may be inaccurate. Consider using '#align balanced.mem_smul_iff Balanced.mem_smul_iffβ'. -/
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
by
obtain rfl | hb := eq_or_ne b 0
@@ -320,10 +526,22 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
simp [β h, ha]
#align balanced.mem_smul_iff Balanced.mem_smul_iff
+/- warning: balanced.neg_mem_iff -> Balanced.neg_mem_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {x : E}, (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s) -> (Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Neg.neg.{u2} E (SubNegMonoid.toHasNeg.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_4))) x) s) (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {x : E}, (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s) -> (Iff (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4))))) x) s) (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) x s))
+Case conversion may be inaccurate. Consider using '#align balanced.neg_mem_iff Balanced.neg_mem_iffβ'. -/
theorem Balanced.neg_mem_iff (hs : Balanced π s) : -x β s β x β s := by
convert hs.mem_smul_iff (norm_neg 1) <;> simp only [neg_smul, one_smul]
#align balanced.neg_mem_iff Balanced.neg_mem_iff
+/- warning: absorbs.inter -> Absorbs.inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s u) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) t u) -> (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) u)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s u) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) t u) -> (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) u)
+Case conversion may be inaccurate. Consider using '#align absorbs.inter Absorbs.interβ'. -/
theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs π (s β© t) u :=
by
obtain β¨a, ha, hsβ© := hs
@@ -334,12 +552,24 @@ theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs
exact subset_inter (hs _ <| le_of_max_le_left hc) (ht _ <| le_of_max_le_right hc)
#align absorbs.inter Absorbs.inter
+/- warning: absorbs_inter -> absorbs_inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {s : Set.{u2} E} {t : Set.{u2} E} {u : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) u) (And (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) s u) (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) t u))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {s : Set.{u1} E} {t : Set.{u1} E} {u : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) u) (And (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) s u) (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) t u))
+Case conversion may be inaccurate. Consider using '#align absorbs_inter absorbs_interβ'. -/
@[simp]
theorem absorbs_inter : Absorbs π (s β© t) u β Absorbs π s u β§ Absorbs π t u :=
β¨fun h => β¨h.mono_left <| inter_subset_left _ _, h.mono_left <| inter_subset_right _ _β©, fun h =>
h.1.inter h.2β©
#align absorbs_inter absorbs_inter
+/- warning: absorbent_univ -> absorbent_univ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)], Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Set.univ.{u2} E)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)], Absorbent.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Set.univ.{u1} E)
+Case conversion may be inaccurate. Consider using '#align absorbent_univ absorbent_univβ'. -/
theorem absorbent_univ : Absorbent π (univ : Set E) :=
by
refine' fun x => β¨1, zero_lt_one, fun a ha => _β©
@@ -349,6 +579,12 @@ theorem absorbent_univ : Absorbent π (univ : Set E) :=
variable [TopologicalSpace E] [ContinuousSMul π E]
+/- warning: absorbent_nhds_zero -> absorbent_nhds_zero is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) A (nhds.{u2} E _inst_8 (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)))))))))) -> (Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A)
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) A (nhds.{u2} E _inst_8 (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_4))))))))) -> (Absorbent.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _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.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A)
+Case conversion may be inaccurate. Consider using '#align absorbent_nhds_zero absorbent_nhds_zeroβ'. -/
/-- Every neighbourhood of the origin is absorbent. -/
theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
by
@@ -368,6 +604,12 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
#align absorbent_nhds_zero absorbent_nhds_zero
+/- warning: balanced_zero_union_interior -> balanced_zero_union_interior is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (Union.union.{u2} (Set.{u2} E) (Set.hasUnion.{u2} E) (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.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))))))))) (interior.{u2} E _inst_8 A)))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (Union.union.{u1} (Set.{u1} E) (Set.instUnionSet.{u1} E) (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_4)))))))) (interior.{u1} E _inst_8 A)))
+Case conversion may be inaccurate. Consider using '#align balanced_zero_union_interior balanced_zero_union_interiorβ'. -/
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
by
@@ -386,6 +628,12 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
#align balanced_zero_union_interior balanced_zero_union_interior
+/- warning: balanced.interior -> Balanced.interior is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (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)))))))) (interior.{u2} E _inst_8 A)) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (interior.{u2} E _inst_8 A))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (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))))))) (interior.{u1} E _inst_8 A)) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (interior.{u1} E _inst_8 A))
+Case conversion may be inaccurate. Consider using '#align balanced.interior Balanced.interiorβ'. -/
/-- The interior of a balanced set is balanced if it contains the origin. -/
theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
Balanced π (interior A) :=
@@ -394,6 +642,12 @@ theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
exact balanced_zero_union_interior hA
#align balanced.interior Balanced.interior
+/- warning: balanced.closure -> Balanced.closure is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_4 : AddCommGroup.{u2} E] [_inst_5 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4)] {A : Set.{u2} E} [_inst_8 : TopologicalSpace.{u2} E] [_inst_9 : ContinuousSMul.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))))) _inst_8], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) A) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1))) (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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{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} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_4) _inst_5)))) (closure.{u2} E _inst_8 A))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NormedField.{u2} π] [_inst_4 : AddCommGroup.{u1} E] [_inst_5 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4)] {A : Set.{u1} E} [_inst_8 : TopologicalSpace.{u1} E] [_inst_9 : ContinuousSMul.{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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} π (PseudoMetricSpace.toUniformSpace.{u2} π (SeminormedRing.toPseudoMetricSpace.{u2} π (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1)))))) _inst_8], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) A) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π _inst_1))) (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 (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{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 (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_4) _inst_5)))) (closure.{u1} E _inst_8 A))
+Case conversion may be inaccurate. Consider using '#align balanced.closure Balanced.closureβ'. -/
theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun a ha =>
(image_closure_subset_closure_image <| continuous_id.const_smul _).trans <|
closure_mono <| hA _ ha
@@ -405,6 +659,12 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
+/- warning: absorbs_zero_iff -> absorbs_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Iff (Absorbs.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s (OfNat.ofNat.{u2} (Set.{u2} E) 0 (OfNat.mk.{u2} (Set.{u2} E) 0 (Zero.zero.{u2} (Set.{u2} E) (Set.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (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_2)))))))) s)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Iff (Absorbs.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s (OfNat.ofNat.{u1} (Set.{u1} E) 0 (Zero.toOfNat0.{u1} (Set.{u1} E) (Set.zero.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))))))) (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_2))))))) s)
+Case conversion may be inaccurate. Consider using '#align absorbs_zero_iff absorbs_zero_iffβ'. -/
theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
by
refine' β¨_, fun h => β¨1, zero_lt_one, fun a _ => zero_subset.2 <| zero_mem_smul_set hβ©β©
@@ -415,12 +675,24 @@ theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s :=
exact norm_ne_zero_iff.1 (hr.trans ha).ne'
#align absorbs_zero_iff absorbs_zero_iff
+/- warning: absorbent.zero_mem -> Absorbent.zero_mem is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Absorbent.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) 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_2)))))))) s)
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, (Absorbent.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) 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_2))))))) s)
+Case conversion may be inaccurate. Consider using '#align absorbent.zero_mem Absorbent.zero_memβ'. -/
theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
absorbs_zero_iff.1 <| absorbent_iff_forall_absorbs_singleton.1 hs _
#align absorbent.zero_mem Absorbent.zero_mem
variable [Module β E] [SMulCommClass β π E]
+/- warning: balanced_convex_hull_of_balanced -> balanced_convexHull_of_balanced is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} [_inst_4 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMulCommClass.{0, u1, u2} Real π E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))], (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) -> (Balanced.{u1, u2} π E (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))) (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s))
+but is expected to have type
+ forall {π : Type.{u2}} {E : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u2} π] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} [_inst_4 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] [_inst_5 : SMulCommClass.{0, u2, u1} Real π E (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _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_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3))))], (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) s) -> (Balanced.{u2, u1} π E (SeminormedCommRing.toSeminormedRing.{u2} π (NormedCommRing.toSeminormedCommRing.{u2} π (NormedField.toNormedCommRing.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))) (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (OrderHom.toFun.{u1, u1} (Set.{u1} E) (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (ClosureOperator.toOrderHom.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.instCompleteBooleanAlgebraSet.{u1} E))))))) (convexHull.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_4)) s))
+Case conversion may be inaccurate. Consider using '#align balanced_convex_hull_of_balanced balanced_convexHull_of_balancedβ'. -/
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) :=
by
suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s }
@@ -439,6 +711,12 @@ section Real
variable [AddCommGroup E] [Module β E] {s : Set E}
+/- warning: balanced_iff_neg_mem -> balanced_iff_neg_mem is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] {s : Set.{u1} E}, (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) -> (Iff (Balanced.{0, u1} Real E (SeminormedCommRing.toSemiNormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (SMulZeroClass.toHasSmul.{0, u1} Real E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) (forall {{x : E}}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x s) -> (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) (Neg.neg.{u1} E (SubNegMonoid.toHasNeg.{u1} E (AddGroup.toSubNegMonoid.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_1))) x) s)))
+but is expected to have type
+ forall {E : Type.{u1}} [_inst_1 : AddCommGroup.{u1} E] [_inst_2 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1)] {s : Set.{u1} E}, (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) -> (Iff (Balanced.{0, u1} Real E (SeminormedCommRing.toSeminormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_1) _inst_2)))) s) (forall {{x : E}}, (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) (Neg.neg.{u1} E (NegZeroClass.toNeg.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_1))))) x) s)))
+Case conversion may be inaccurate. Consider using '#align balanced_iff_neg_mem balanced_iff_neg_memβ'. -/
theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦xβ¦, x β s β -x β s :=
by
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
mathlib commit https://github.com/leanprover-community/mathlib/commit/2af0836443b4cfb5feda0df0051acdb398304931
@@ -48,9 +48,9 @@ open Pointwise Topology
variable {π π E : Type _} {ΞΉ : Sort _} {ΞΊ : ΞΉ β Sort _}
-section SemiNormedRing
+section SeminormedRing
-variable [SemiNormedRing π]
+variable [SeminormedRing π]
section SMul
@@ -259,7 +259,7 @@ theorem balanced_zero : Balanced π (0 : Set E) := fun a ha => (smul_zero _).S
end Module
-end SemiNormedRing
+end SeminormedRing
section NormedField
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
deprecated
attributeWhy these changes?
@@ -236,8 +236,7 @@ theorem Balanced.smul_mem_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
β¨(hs.smul_mem_mono Β· h.ge), (hs.smul_mem_mono Β· h.le)β©
#align balanced.mem_smul_iff Balanced.smul_mem_iff
-@[deprecated] -- Since 2024/02/02
-alias Balanced.mem_smul_iff := Balanced.smul_mem_iff
+@[deprecated] alias Balanced.mem_smul_iff := Balanced.smul_mem_iff -- since 2024-02-02
variable [TopologicalSpace E] [ContinuousSMul π E]
@@ -281,7 +280,7 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
-@[deprecated Absorbent.zero_mem] -- Since 2024/02/02
+@[deprecated Absorbent.zero_mem] -- Since 2024-02-02
theorem Absorbent.zero_mem' (hs : Absorbent π s) : (0 : E) β s := hs.zero_mem
variable [Module β E] [SMulCommClass β π E]
@@ -296,8 +295,7 @@ protected theorem Balanced.convexHull (hs : Balanced π s) : Balanced π (co
exact convex_convexHull β s (hx a ha) (hy a ha) hu hv huv
#align balanced_convex_hull_of_balanced Balanced.convexHull
-@[deprecated] -- Since 2024/02/02
-alias balanced_convexHull_of_balanced := Balanced.convexHull
+@[deprecated] alias balanced_convexHull_of_balanced := Balanced.convexHull -- Since 2024-02-02
end NontriviallyNormedField
ball
and bex
from lemma names (#10816)
ball
for "bounded forall" and bex
for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem
and exists_mem
in the few Set
lemma names that mention them.
Also deprecate ball_image_of_ball
, mem_image_elim
, mem_image_elim_on
since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image
semi-implicit), have obscure names and are completely unused.
@@ -105,7 +105,7 @@ protected lemma sUnion (hT : T.Finite) (hs : β t β T, Absorbs M s t) :
@[simp]
lemma _root_.absorbs_iUnion {ΞΉ : Sort*} [Finite ΞΉ] {t : ΞΉ β Set Ξ±} :
Absorbs M s (β i, t i) β β i, Absorbs M s (t i) :=
- (finite_range t).absorbs_sUnion.trans forall_range_iff
+ (finite_range t).absorbs_sUnion.trans forall_mem_range
protected alias β¨_, iUnionβ© := absorbs_iUnion
@@ -180,13 +180,13 @@ protected lemma inter (hs : Absorbs Gβ s u) (ht : Absorbs Gβ t u) : Absorbs
@[simp]
lemma _root_.absorbs_iInter {ΞΉ : Sort*} [Finite ΞΉ] {s : ΞΉ β Set Ξ±} :
Absorbs Gβ (β i, s i) t β β i, Absorbs Gβ (s i) t :=
- (finite_range s).absorbs_sInter.trans forall_range_iff
+ (finite_range s).absorbs_sInter.trans forall_mem_range
protected alias β¨_, iInterβ© := absorbs_iInter
lemma _root_.Set.Finite.absorbs_biInter {ΞΉ : Type*} {I : Set ΞΉ} (hI : I.Finite) {s : ΞΉ β Set Ξ±} :
Absorbs Gβ (β i β I, s i) t β β i β I, Absorbs Gβ (s i) t := by
- simpa only [sInter_image, ball_image_iff] using (hI.image s).absorbs_sInter
+ simpa only [sInter_image, forall_mem_image] using (hI.image s).absorbs_sInter
protected alias β¨_, biInterβ© := Set.Finite.absorbs_biInter
isVonNBounded_iff_tendsto_smallSets_nhds
(#10776)
absorbs_iff_eventually_nhds_zero
,
isVonNBounded_iff_tendsto_smallSets_nhds
,
and isVonNBounded_pi_iff
;NormedField
to NormedDivisionRing
;@@ -159,10 +159,9 @@ end Module
end SeminormedRing
-section NormedField
+section NormedDivisionRing
-variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
- [SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
+variable [NormedDivisionRing π] [AddCommGroup E] [Module π E] {s t : Set E} {x : E} {a b : π}
theorem absorbs_iff_eventually_nhdsWithin_zero :
Absorbs π s t β βαΆ c : π in π[β ] 0, MapsTo (c β’ Β·) t s := by
@@ -170,19 +169,30 @@ theorem absorbs_iff_eventually_nhdsWithin_zero :
alias β¨Absorbs.eventually_nhdsWithin_zero, _β© := absorbs_iff_eventually_nhdsWithin_zero
-theorem Absorbs.eventually_nhds_zero (h : Absorbs π s t) (hβ : 0 β s) :
- βαΆ c : π in π 0, MapsTo (c β’ Β·) t s := by
- rw [β nhdsWithin_compl_singleton_sup_pure, Filter.eventually_sup, Filter.eventually_pure,
- β absorbs_iff_eventually_nhdsWithin_zero]
- refine β¨h, fun x _ β¦ ?_β©
- simpa only [zero_smul]
-
theorem absorbent_iff_eventually_nhdsWithin_zero :
Absorbent π s β β x : E, βαΆ c : π in π[β ] 0, c β’ x β s :=
forall_congr' fun x β¦ by simp only [absorbs_iff_eventually_nhdsWithin_zero, mapsTo_singleton]
alias β¨Absorbent.eventually_nhdsWithin_zero, _β© := absorbent_iff_eventually_nhdsWithin_zero
+theorem absorbs_iff_eventually_nhds_zero (hβ : 0 β s) :
+ Absorbs π s t β βαΆ c : π in π 0, MapsTo (c β’ Β·) t s := by
+ rw [β nhdsWithin_compl_singleton_sup_pure, Filter.eventually_sup, Filter.eventually_pure,
+ β absorbs_iff_eventually_nhdsWithin_zero, and_iff_left]
+ intro x _
+ simpa only [zero_smul]
+
+theorem Absorbs.eventually_nhds_zero (h : Absorbs π s t) (hβ : 0 β s) :
+ βαΆ c : π in π 0, MapsTo (c β’ Β·) t s :=
+ (absorbs_iff_eventually_nhds_zero hβ).1 h
+
+end NormedDivisionRing
+
+section NormedField
+
+variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
+ [SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
+
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s := by
obtain rfl | hb := eq_or_ne b 0
absorbent_iff_eventually_nhdsWithin_zero
.Seminorm.bddAbove_of_absorbent
.@@ -177,6 +177,12 @@ theorem Absorbs.eventually_nhds_zero (h : Absorbs π s t) (hβ : 0 β s) :
refine β¨h, fun x _ β¦ ?_β©
simpa only [zero_smul]
+theorem absorbent_iff_eventually_nhdsWithin_zero :
+ Absorbent π s β β x : E, βαΆ c : π in π[β ] 0, c β’ x β s :=
+ forall_congr' fun x β¦ by simp only [absorbs_iff_eventually_nhdsWithin_zero, mapsTo_singleton]
+
+alias β¨Absorbent.eventually_nhdsWithin_zero, _β© := absorbent_iff_eventually_nhdsWithin_zero
+
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s := by
obtain rfl | hb := eq_or_ne b 0
UniformOnFun.continuousSMul_induced_of_image_bounded
for UniformFun
s.Ο : H ββ[π] (Ξ± β E)
and ofFun β Ο
,
not Ο : H ββ[π] (Ξ± βα΅€[π] E)
.@@ -164,6 +164,19 @@ section NormedField
variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGroup E] [Module π E]
[SMulWithZero π E] [IsScalarTower π π E] {s t u v A B : Set E} {x : E} {a b : π}
+theorem absorbs_iff_eventually_nhdsWithin_zero :
+ Absorbs π s t β βαΆ c : π in π[β ] 0, MapsTo (c β’ Β·) t s := by
+ rw [absorbs_iff_eventually_cobounded_mapsTo, β Filter.inv_coboundedβ]; rfl
+
+alias β¨Absorbs.eventually_nhdsWithin_zero, _β© := absorbs_iff_eventually_nhdsWithin_zero
+
+theorem Absorbs.eventually_nhds_zero (h : Absorbs π s t) (hβ : 0 β s) :
+ βαΆ c : π in π 0, MapsTo (c β’ Β·) t s := by
+ rw [β nhdsWithin_compl_singleton_sup_pure, Filter.eventually_sup, Filter.eventually_pure,
+ β absorbs_iff_eventually_nhdsWithin_zero]
+ refine β¨h, fun x _ β¦ ?_β©
+ simpa only [zero_smul]
+
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s := by
obtain rfl | hb := eq_or_ne b 0
balanced_iff_closedBall_smul
, balanced_neg
;Balanced.neg_mem_iff
to a SeminormedRing
+ NormOneClass
,
add Balanced.neg_eq
Balanced.smul_mem_mono
and Balanced.smul_congr
;Balanced.mem_smul_iff
to Balanced.smul_mem_iff
;balanced_zero_union_interior
to Balanced.zero_insert_interior
,
use insert 0 (interior A)
instead of 0 βͺ interior A
;Balanced.interior
and Balanced.closure
protected;Absorbs.zero_mem'
;balanced_convexHull_of_balanced
to Balanced.convexHull
;absorbs_iff_eventually_cobounded_mapsTo
, use it to golf some proofs.@@ -155,11 +155,16 @@ variable {Gβ Ξ± : Type*} [GroupWithZero Gβ] [Bornology Gβ] [MulAction Gβ
protected lemma univ : Absorbs Gβ univ s :=
(eventually_ne_cobounded 0).mono fun a ha β¦ by rw [smul_set_univβ ha]; apply subset_univ
+lemma _root_.absorbs_iff_eventually_cobounded_mapsTo :
+ Absorbs Gβ s t β βαΆ c in cobounded Gβ, MapsTo (cβ»ΒΉ β’ Β·) t s :=
+ eventually_congr <| (eventually_ne_cobounded 0).mono fun c hc β¦ by
+ rw [β preimage_smul_invβ hc]; rfl
+
+alias β¨eventually_cobounded_mapsTo, _β© := absorbs_iff_eventually_cobounded_mapsTo
+
lemma _root_.Set.Finite.absorbs_sInter (hS : S.Finite) :
Absorbs Gβ (ββ S) t β β s β S, Absorbs Gβ s t := by
- simp only [Absorbs, β hS.eventually_all]
- refine eventually_congr <| (eventually_ne_cobounded 0).mono fun a ha β¦ ?_
- simp only [β preimage_smul_invβ ha, preimage_sInter, subset_iInter_iff]
+ simp only [absorbs_iff_eventually_cobounded_mapsTo, mapsTo_sInter, hS.eventually_all]
protected alias β¨_, sInterβ© := Set.Finite.absorbs_sInter
@@ -188,10 +193,8 @@ protected alias β¨_, biInterβ© := Set.Finite.absorbs_biInter
@[simp]
lemma _root_.absorbs_zero_iff [NeBot (cobounded Gβ)] {E : Type*} [AddMonoid E]
[DistribMulAction Gβ E] {s : Set E} : Absorbs Gβ s 0 β 0 β s := by
- refine β¨fun h β¦ ?_, .zeroβ©
- rcases (h.and (eventually_ne_cobounded 0)).exists with β¨c, hc, hcββ©
- rcases hc rfl with β¨x, hx, hxββ©
- rwa [β smul_zero cβ»ΒΉ, β hxβ, inv_smul_smulβ hcβ]
+ simp only [absorbs_iff_eventually_cobounded_mapsTo, β singleton_zero,
+ mapsTo_singleton, smul_zero, eventually_const]
#align absorbs_zero_iff absorbs_zero_iff
end GroupWithZero
@@ -259,8 +262,7 @@ lemma absorbent_univ : Absorbent Gβ (univ : Set Ξ±) := fun _ β¦ .univ
lemma absorbent_iff_inv_smul {s : Set Ξ±} :
Absorbent Gβ s β β x, βαΆ c in cobounded Gβ, cβ»ΒΉ β’ x β s :=
- forall_congr' fun x β¦ eventually_congr <| (eventually_ne_cobounded 0).mono fun c hc β¦ by
- rw [singleton_subset_iff, β preimage_smul_invβ hc, mem_preimage]
+ forall_congr' fun x β¦ by simp only [absorbs_iff_eventually_cobounded_mapsTo, mapsTo_singleton]
lemma Absorbent.zero_mem [NeBot (cobounded Gβ)] [AddMonoid E] [DistribMulAction Gβ E]
{s : Set E} (hs : Absorbent Gβ s) : (0 : E) β s :=
balanced_iff_closedBall_smul
, balanced_neg
;Balanced.neg_mem_iff
to a SeminormedRing
+ NormOneClass
,
add Balanced.neg_eq
Balanced.smul_mem_mono
and Balanced.smul_congr
;Balanced.mem_smul_iff
to Balanced.smul_mem_iff
;balanced_zero_union_interior
to Balanced.zero_insert_interior
,
use insert 0 (interior A)
instead of 0 βͺ interior A
;Balanced.interior
and Balanced.closure
protected;Absorbs.zero_mem'
;balanced_convexHull_of_balanced
to Balanced.convexHull
;absorbs_iff_eventually_cobounded_mapsTo
, use it to golf some proofs.@@ -78,6 +78,9 @@ theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ
alias β¨Balanced.smul_mem, _β© := balanced_iff_smul_mem
#align balanced.smul_mem Balanced.smul_mem
+theorem balanced_iff_closedBall_smul : Balanced π s β Metric.closedBall (0 : π) 1 β’ s β s := by
+ simp [balanced_iff_smul_mem, smul_subset_iff]
+
@[simp]
theorem balanced_empty : Balanced π (β
: Set E) := fun _ _ => by rw [smul_set_empty]
#align balanced_empty balanced_empty
@@ -128,6 +131,18 @@ theorem Balanced.neg : Balanced π s β Balanced π (-s) :=
forallβ_imp fun _ _ h => (smul_set_neg _ _).subset.trans <| neg_subset_neg.2 h
#align balanced.neg Balanced.neg
+@[simp]
+theorem balanced_neg : Balanced π (-s) β Balanced π s :=
+ β¨fun h β¦ neg_neg s βΈ h.neg, fun h β¦ h.negβ©
+
+theorem Balanced.neg_mem_iff [NormOneClass π] (h : Balanced π s) {x : E} : -x β s β x β s :=
+ β¨fun hx β¦ by simpa using h.smul_mem (a := -1) (by simp) hx,
+ fun hx β¦ by simpa using h.smul_mem (a := -1) (by simp) hxβ©
+#align balanced.neg_mem_iff Balanced.neg_mem_iff
+
+theorem Balanced.neg_eq [NormOneClass π] (h : Balanced π s) : -s = s :=
+ Set.ext fun _ β¦ h.neg_mem_iff
+
theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s + t) := fun _a ha =>
(smul_add _ _ _).subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
@@ -152,23 +167,33 @@ variable [NormedField π] [NormedRing π] [NormedSpace π π] [AddCommGr
/-- Scalar multiplication (by possibly different types) of a balanced set is monotone. -/
theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : βaβ β€ βbβ) : a β’ s β b β’ s := by
obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero] at h
- rw [norm_eq_zero.1 (h.antisymm <| norm_nonneg _)]
- obtain rfl | h := s.eq_empty_or_nonempty
- Β· simp_rw [smul_set_empty]; rfl
- Β· simp_rw [zero_smul_set h]; rfl
- rintro _ β¨x, hx, rflβ©
- refine' β¨bβ»ΒΉ β’ a β’ x, _, smul_inv_smulβ hb _β©
- rw [β smul_assoc]
- refine' hs _ _ (smul_mem_smul_set hx)
- rw [norm_smul, norm_inv, β div_eq_inv_mul]
- exact div_le_one_of_le h (norm_nonneg _)
+ Β· rw [norm_zero, norm_le_zero_iff] at h
+ simp only [h, β image_smul, zero_smul, Subset.rfl]
+ Β· calc
+ a β’ s = b β’ (bβ»ΒΉ β’ a) β’ s := by rw [smul_assoc, smul_inv_smulβ hb]
+ _ β b β’ s := smul_set_mono <| hs _ <| by
+ rw [norm_smul, norm_inv, β div_eq_inv_mul]
+ exact div_le_one_of_le h (norm_nonneg _)
#align balanced.smul_mono Balanced.smul_mono
+theorem Balanced.smul_mem_mono [SMulCommClass π π E] (hs : Balanced π s) {a : π} {b : π}
+ (ha : a β’ x β s) (hba : βbβ β€ βaβ) : b β’ x β s := by
+ rcases eq_or_ne a 0 with rfl | haβ
+ Β· simp_all
+ Β· calc
+ b β’ x = (aβ»ΒΉ β’ b) β’ a β’ x := by rw [smul_comm, smul_assoc, smul_inv_smulβ haβ]
+ _ β s := by
+ refine hs.smul_mem ?_ ha
+ rw [norm_smul, norm_inv, β div_eq_inv_mul]
+ exact div_le_one_of_le hba (norm_nonneg _)
+
theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β a β’ A := by
rw [β @norm_one π] at ha; simpa using hA.smul_mono ha
#align balanced.subset_smul Balanced.subset_smul
+theorem Balanced.smul_congr (hs : Balanced π A) (h : βaβ = βbβ) : a β’ A = b β’ A :=
+ (hs.smul_mono h.le).antisymm (hs.smul_mono h.ge)
+
theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A :=
(hA _ ha.le).antisymm <| hA.subset_smul ha.ge
#align balanced.smul_eq Balanced.smul_eq
@@ -178,22 +203,12 @@ theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
.of_norm β¨1, fun _ => hA.subset_smulβ©
#align balanced.absorbs_self Balanced.absorbs_self
-theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s := by
- obtain rfl | hb := eq_or_ne b 0
- Β· rw [norm_zero, norm_eq_zero] at h
- rw [h]
- have ha : a β 0 := norm_ne_zero_iff.1 (ne_of_eq_of_ne h <| norm_ne_zero_iff.2 hb)
- constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b];
- rw [β inv_mul_cancel_rightβ hb a]] <;>
- Β· rw [β smul_eq_mul, smul_assoc]
- refine' hs.smul_mem _ h'
- simp [β h, ha]
-#align balanced.mem_smul_iff Balanced.mem_smul_iff
-
-theorem Balanced.neg_mem_iff (hs : Balanced π s) : -x β s β x β s := by
- convert hs.mem_smul_iff (x := x) (norm_neg 1) using 0;
- simp only [neg_smul, one_smul π x]
-#align balanced.neg_mem_iff Balanced.neg_mem_iff
+theorem Balanced.smul_mem_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s :=
+ β¨(hs.smul_mem_mono Β· h.ge), (hs.smul_mem_mono Β· h.le)β©
+#align balanced.mem_smul_iff Balanced.smul_mem_iff
+
+@[deprecated] -- Since 2024/02/02
+alias Balanced.mem_smul_iff := Balanced.smul_mem_iff
variable [TopologicalSpace E] [ContinuousSMul π E]
@@ -204,30 +219,30 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
#align absorbent_nhds_zero absorbent_nhds_zero
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
-theorem balanced_zero_union_interior (hA : Balanced π A) :
- Balanced π ((0 : Set E) βͺ interior A) := by
+theorem Balanced.zero_insert_interior (hA : Balanced π A) :
+ Balanced π (insert 0 (interior A)) := by
intro a ha
obtain rfl | h := eq_or_ne a 0
Β· rw [zero_smul_set]
exacts [subset_union_left _ _, β¨0, Or.inl rflβ©]
- Β· rw [β image_smul, image_union]
- apply union_subset_union
- Β· rw [image_zero, smul_zero]
- rfl
- Β· calc
- a β’ interior A β interior (a β’ A) := (isOpenMap_smulβ h).image_interior_subset A
- _ β interior A := interior_mono (hA _ ha)
-#align balanced_zero_union_interior balanced_zero_union_interior
+ Β· rw [β image_smul, image_insert_eq, smul_zero]
+ apply insert_subset_insert
+ exact ((isOpenMap_smulβ h).mapsTo_interior <| hA.smul_mem ha).image_subset
+#align balanced_zero_union_interior Balanced.zero_insert_interior
+
+@[deprecated Balanced.zero_insert_interior]
+theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
+ hA.zero_insert_interior
/-- The interior of a balanced set is balanced if it contains the origin. -/
-theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
+protected theorem Balanced.interior (hA : Balanced π A) (h : (0 : E) β interior A) :
Balanced π (interior A) := by
- rw [β union_eq_self_of_subset_left (singleton_subset_iff.2 h)]
- exact balanced_zero_union_interior hA
+ rw [β insert_eq_self.2 h]
+ exact hA.zero_insert_interior
#align balanced.interior Balanced.interior
-theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun _a ha =>
- (image_closure_subset_closure_image <| continuous_id.const_smul _).trans <|
+protected theorem Balanced.closure (hA : Balanced π A) : Balanced π (closure A) := fun _a ha =>
+ (image_closure_subset_closure_image <| continuous_const_smul _).trans <|
closure_mono <| hA _ ha
#align balanced.closure Balanced.closure
@@ -237,11 +252,12 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
+@[deprecated Absorbent.zero_mem] -- Since 2024/02/02
theorem Absorbent.zero_mem' (hs : Absorbent π s) : (0 : E) β s := hs.zero_mem
variable [Module β E] [SMulCommClass β π E]
-theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) := by
+protected theorem Balanced.convexHull (hs : Balanced π s) : Balanced π (convexHull β s) := by
suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s } by
rw [balanced_iff_smul_mem] at hs β’
refine' fun a ha x hx => convexHull_min _ this hx a ha
@@ -249,7 +265,10 @@ theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (
intro x hx y hy u v hu hv huv a ha
simp only [smul_add, β smul_comm]
exact convex_convexHull β s (hx a ha) (hy a ha) hu hv huv
-#align balanced_convex_hull_of_balanced balanced_convexHull_of_balanced
+#align balanced_convex_hull_of_balanced Balanced.convexHull
+
+@[deprecated] -- Since 2024/02/02
+alias balanced_convexHull_of_balanced := Balanced.convexHull
end NontriviallyNormedField
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jean Lo, Yury Kudryashov
-/
import Mathlib.Data.Set.Pointwise.SMul
-import Mathlib.Topology.Bornology.Constructions
+import Mathlib.Topology.Bornology.Basic
#align_import analysis.locally_convex.basic from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
Absorbs
(#9676)
Redefine Absorbs
and Absorbent
in terms of the cobounded
filter.
Absorbs
(#9676)
Redefine Absorbs
and Absorbent
in terms of the cobounded
filter.
@@ -6,6 +6,7 @@ Authors: Jean Lo, Bhavik Mehta, YaΓ«l Dillies
import Mathlib.Analysis.Convex.Basic
import Mathlib.Analysis.Convex.Hull
import Mathlib.Analysis.NormedSpace.Basic
+import Mathlib.Topology.Bornology.Absorbs
#align_import analysis.locally_convex.basic from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
@@ -51,106 +52,7 @@ variable [SeminormedRing π]
section SMul
-variable (π) [SMul π E]
-
-/-- A set `A` absorbs another set `B` if `B` is contained in all scalings of `A` by elements of
-sufficiently large norm. -/
-def Absorbs (A B : Set E) :=
- β r, 0 < r β§ β a : π, r β€ βaβ β B β a β’ A
-#align absorbs Absorbs
-
-variable {π} {s t u v A B : Set E}
-
-@[simp]
-theorem absorbs_empty {s : Set E} : Absorbs π s (β
: Set E) :=
- β¨1, one_pos, fun _a _ha => Set.empty_subset _β©
-#align absorbs_empty absorbs_empty
-
-theorem Absorbs.mono (hs : Absorbs π s u) (hst : s β t) (hvu : v β u) : Absorbs π t v :=
- let β¨r, hr, hβ© := hs
- β¨r, hr, fun _a ha => hvu.trans <| (h _ ha).trans <| smul_set_mono hstβ©
-#align absorbs.mono Absorbs.mono
-
-theorem Absorbs.mono_left (hs : Absorbs π s u) (h : s β t) : Absorbs π t u :=
- hs.mono h Subset.rfl
-#align absorbs.mono_left Absorbs.mono_left
-
-theorem Absorbs.mono_right (hs : Absorbs π s u) (h : v β u) : Absorbs π s v :=
- hs.mono Subset.rfl h
-#align absorbs.mono_right Absorbs.mono_right
-
-theorem Absorbs.union (hu : Absorbs π s u) (hv : Absorbs π s v) : Absorbs π s (u βͺ v) := by
- obtain β¨a, ha, huβ© := hu
- obtain β¨b, _hb, hvβ© := hv
- exact
- β¨max a b, lt_max_of_lt_left ha, fun c hc =>
- union_subset (hu _ <| le_of_max_le_left hc) (hv _ <| le_of_max_le_right hc)β©
-#align absorbs.union Absorbs.union
-
-@[simp]
-theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorbs π s v :=
- β¨fun h => β¨h.mono_right <| subset_union_left _ _, h.mono_right <| subset_union_right _ _β©,
- fun h => h.1.union h.2β©
-#align absorbs_union absorbs_union
-
-theorem absorbs_iUnion_finset {ΞΉ : Type*} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
- Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
- classical
- induction' t using Finset.induction_on with i t _ht hi
- Β· simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
- IsEmpty.forall_iff, imp_true_iff]
- rw [Finset.set_biUnion_insert, absorbs_union, hi]
- constructor <;> intro h
- Β· refine' fun _ hi' => (Finset.mem_insert.mp hi').elim _ (h.2 _)
- exact fun hi'' => by
- rw [hi'']
- exact h.1
- exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
-#align absorbs_Union_finset absorbs_iUnion_finset
-
-theorem Set.Finite.absorbs_iUnion {ΞΉ : Type*} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
- (hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
- lift t to Finset ΞΉ using hi
- simp only [Finset.mem_coe]
- exact absorbs_iUnion_finset
-#align set.finite.absorbs_Union Set.Finite.absorbs_iUnion
-
-variable (π)
-
-/-- A set is absorbent if it absorbs every singleton. -/
-def Absorbent (A : Set E) :=
- β x, β r, 0 < r β§ β a : π, r β€ βaβ β x β a β’ A
-#align absorbent Absorbent
-
-variable {π}
-
-theorem Absorbent.subset (hA : Absorbent π A) (hAB : A β B) : Absorbent π B := by
- refine' forall_imp (fun x => _) hA
- exact Exists.imp fun r => And.imp_right <| forallβ_imp fun a _ha hx => Set.smul_set_mono hAB hx
-#align absorbent.subset Absorbent.subset
-
-theorem absorbent_iff_forall_absorbs_singleton : Absorbent π A β β x, Absorbs π A {x} := by
- simp_rw [Absorbs, Absorbent, singleton_subset_iff]
-#align absorbent_iff_forall_absorbs_singleton absorbent_iff_forall_absorbs_singleton
-
-theorem Absorbent.absorbs (hs : Absorbent π s) {x : E} : Absorbs π s {x} :=
- absorbent_iff_forall_absorbs_singleton.1 hs _
-#align absorbent.absorbs Absorbent.absorbs
-
-theorem absorbent_iff_nonneg_lt :
- Absorbent π A β β x, β r, 0 β€ r β§ β β¦a : πβ¦, r < βaβ β x β a β’ A :=
- forall_congr' fun _x =>
- β¨fun β¨r, hr, hxβ© => β¨r, hr.le, fun a ha => hx a ha.leβ©, fun β¨r, hr, hxβ© =>
- β¨r + 1, add_pos_of_nonneg_of_pos hr zero_lt_one, fun _a ha =>
- hx ((lt_add_of_pos_right r zero_lt_one).trans_le ha)β©β©
-#align absorbent_iff_nonneg_lt absorbent_iff_nonneg_lt
-
-theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
- Absorbs π s v := by
- rw [β Set.biUnion_of_singleton v]
- exact hv.absorbs_iUnion.mpr fun _ _ => hs.absorbs
-#align absorbent.absorbs_finite Absorbent.absorbs_finite
-
+variable [SMul π E] {s t u v A B : Set E}
variable (π)
/-- A set `A` is balanced if `a β’ A` is contained in `A` whenever `a` has norm at most `1`. -/
@@ -160,6 +62,15 @@ def Balanced (A : Set E) :=
variable {π}
+lemma absorbs_iff_norm : Absorbs π A B β β r, β c : π, r β€ βcβ β B β c β’ A :=
+ Filter.atTop_basis.cobounded_of_norm.eventually_iff.trans <| by simp only [true_and]; rfl
+
+alias β¨_, Absorbs.of_normβ© := absorbs_iff_norm
+
+lemma Absorbs.exists_pos (h : Absorbs π A B) : β r > 0, β c : π, r β€ βcβ β B β c β’ A :=
+ let β¨r, hrβ, hrβ© := (Filter.atTop_basis' 1).cobounded_of_norm.eventually_iff.1 h
+ β¨r, one_pos.trans_le hrβ, hrβ©
+
theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ β€ 1 β β β¦x : Eβ¦, x β s β a β’ x β s :=
forallβ_congr fun _a _ha => smul_set_subset_iff
#align balanced_iff_smul_mem balanced_iff_smul_mem
@@ -213,32 +124,14 @@ section Module
variable [AddCommGroup E] [Module π E] {s sβ sβ t tβ tβ : Set E}
-theorem Absorbs.neg : Absorbs π s t β Absorbs π (-s) (-t) :=
- Exists.imp fun _r =>
- And.imp_right <| forallβ_imp fun _ _ h => (neg_subset_neg.2 h).trans (smul_set_neg _ _).superset
-#align absorbs.neg Absorbs.neg
-
theorem Balanced.neg : Balanced π s β Balanced π (-s) :=
forallβ_imp fun _ _ h => (smul_set_neg _ _).subset.trans <| neg_subset_neg.2 h
#align balanced.neg Balanced.neg
-theorem Absorbs.add : Absorbs π sβ tβ β Absorbs π sβ tβ β Absorbs π (sβ + sβ) (tβ + tβ) :=
- fun β¨rβ, hrβ, hββ© β¨rβ, _hrβ, hββ© =>
- β¨max rβ rβ, lt_max_of_lt_left hrβ, fun _a ha =>
- (add_subset_add (hβ _ <| le_of_max_le_left ha) <| hβ _ <| le_of_max_le_right ha).trans
- (smul_add _ _ _).supersetβ©
-#align absorbs.add Absorbs.add
-
theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s + t) := fun _a ha =>
(smul_add _ _ _).subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
-theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) :
- Absorbs π (sβ - sβ) (tβ - tβ) := by
- simp_rw [sub_eq_add_neg]
- exact hβ.add hβ.neg
-#align absorbs.sub Absorbs.sub
-
theorem Balanced.sub (hs : Balanced π s) (ht : Balanced π t) : Balanced π (s - t) := by
simp_rw [sub_eq_add_neg]
exact hs.add ht.neg
@@ -272,28 +165,19 @@ theorem Balanced.smul_mono (hs : Balanced π s) {a : π} {b : π} (h : β
exact div_le_one_of_le h (norm_nonneg _)
#align balanced.smul_mono Balanced.smul_mono
-/-- A balanced set absorbs itself. -/
-theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A := by
- refine' β¨1, zero_lt_one, fun a ha x hx => _β©
- rw [mem_smul_set_iff_inv_smul_memβ (norm_pos_iff.1 <| zero_lt_one.trans_le ha)]
- refine' hA aβ»ΒΉ _ (smul_mem_smul_set hx)
- rw [norm_inv]
- exact inv_le_one ha
-#align balanced.absorbs_self Balanced.absorbs_self
-
theorem Balanced.subset_smul (hA : Balanced π A) (ha : 1 β€ βaβ) : A β a β’ A := by
- refine' (subset_set_smul_iffβ _).2 (hA aβ»ΒΉ _)
- Β· rintro rfl
- rw [norm_zero] at ha
- exact zero_lt_one.not_le ha
- Β· rw [norm_inv]
- exact inv_le_one ha
+ rw [β @norm_one π] at ha; simpa using hA.smul_mono ha
#align balanced.subset_smul Balanced.subset_smul
theorem Balanced.smul_eq (hA : Balanced π A) (ha : βaβ = 1) : a β’ A = A :=
(hA _ ha.le).antisymm <| hA.subset_smul ha.ge
#align balanced.smul_eq Balanced.smul_eq
+/-- A balanced set absorbs itself. -/
+theorem Balanced.absorbs_self (hA : Balanced π A) : Absorbs π A A :=
+ .of_norm β¨1, fun _ => hA.subset_smulβ©
+#align balanced.absorbs_self Balanced.absorbs_self
+
theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a β’ x β s β b β’ x β s := by
obtain rfl | hb := eq_or_ne b 0
Β· rw [norm_zero, norm_eq_zero] at h
@@ -311,44 +195,12 @@ theorem Balanced.neg_mem_iff (hs : Balanced π s) : -x β s β x β s := by
simp only [neg_smul, one_smul π x]
#align balanced.neg_mem_iff Balanced.neg_mem_iff
-theorem Absorbs.inter (hs : Absorbs π s u) (ht : Absorbs π t u) : Absorbs π (s β© t) u := by
- obtain β¨a, ha, hsβ© := hs
- obtain β¨b, _hb, htβ© := ht
- have h : 0 < max a b := lt_max_of_lt_left ha
- refine' β¨max a b, lt_max_of_lt_left ha, fun c hc => _β©
- rw [smul_set_interβ (norm_pos_iff.1 <| h.trans_le hc)]
- exact subset_inter (hs _ <| le_of_max_le_left hc) (ht _ <| le_of_max_le_right hc)
-#align absorbs.inter Absorbs.inter
-
-@[simp]
-theorem absorbs_inter : Absorbs π (s β© t) u β Absorbs π s u β§ Absorbs π t u :=
- β¨fun h => β¨h.mono_left <| inter_subset_left _ _, h.mono_left <| inter_subset_right _ _β©, fun h =>
- h.1.inter h.2β©
-#align absorbs_inter absorbs_inter
-
-theorem absorbent_univ : Absorbent π (univ : Set E) := by
- refine' fun x => β¨1, zero_lt_one, fun a ha => _β©
- rw [smul_set_univβ (norm_pos_iff.1 <| zero_lt_one.trans_le ha)]
- exact trivial
-#align absorbent_univ absorbent_univ
-
variable [TopologicalSpace E] [ContinuousSMul π E]
/-- Every neighbourhood of the origin is absorbent. -/
-theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A := by
- intro x
- obtain β¨w, hwβ, hwβ, hwββ© := mem_nhds_iff.mp hA
- have hc : Continuous fun t : π => t β’ x := continuous_id.smul continuous_const
- obtain β¨r, hrβ, hrββ© :=
- Metric.isOpen_iff.mp (hwβ.preimage hc) 0 (by rwa [mem_preimage, zero_smul])
- have hrβ := inv_pos.mpr (half_pos hrβ)
- refine' β¨(r / 2)β»ΒΉ, hrβ, fun a haβ => _β©
- have haβ : 0 < βaβ := hrβ.trans_le haβ
- refine' (mem_smul_set_iff_inv_smul_memβ (norm_pos_iff.mp haβ) _ _).2 (hwβ <| hrβ _)
- rw [Metric.mem_ball, dist_zero_right, norm_inv]
- calc
- βaββ»ΒΉ β€ r / 2 := (inv_le (half_pos hrβ) haβ).mp haβ
- _ < r := half_lt_self hrβ
+theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A :=
+ absorbent_iff_inv_smul.2 fun x β¦ Filter.tendsto_invβ_cobounded.smul tendsto_const_nhds <| by
+ rwa [zero_smul]
#align absorbent_nhds_zero absorbent_nhds_zero
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
@@ -385,18 +237,7 @@ section NontriviallyNormedField
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] {s : Set E}
-theorem absorbs_zero_iff : Absorbs π s 0 β (0 : E) β s := by
- refine' β¨_, fun h => β¨1, zero_lt_one, fun a _ => zero_subset.2 <| zero_mem_smul_set hβ©β©
- rintro β¨r, hr, hβ©
- obtain β¨a, haβ© := NormedSpace.exists_lt_norm π π r
- have := h _ ha.le
- rwa [zero_subset, zero_mem_smul_set_iff] at this
- exact norm_ne_zero_iff.1 (hr.trans ha).ne'
-#align absorbs_zero_iff absorbs_zero_iff
-
-theorem Absorbent.zero_mem (hs : Absorbent π s) : (0 : E) β s :=
- absorbs_zero_iff.1 <| absorbent_iff_forall_absorbs_singleton.1 hs _
-#align absorbent.zero_mem Absorbent.zero_mem
+theorem Absorbent.zero_mem' (hs : Absorbent π s) : (0 : E) β s := hs.zero_mem
variable [Module β E] [SMulCommClass β π E]
@@ -420,9 +261,8 @@ theorem balanced_iff_neg_mem (hs : Convex β s) : Balanced β s β β β¦x
refine' β¨fun h x => h.neg_mem_iff.2, fun h a ha => smul_set_subset_iff.2 fun x hx => _β©
rw [Real.norm_eq_abs, abs_le] at ha
rw [show a = -((1 - a) / 2) + (a - -1) / 2 by ring, add_smul, neg_smul, β smul_neg]
- exact
- hs (h hx) hx (div_nonneg (sub_nonneg_of_le ha.2) zero_le_two)
- (div_nonneg (sub_nonneg_of_le ha.1) zero_le_two) (by ring)
+ exact hs (h hx) hx (div_nonneg (sub_nonneg_of_le ha.2) zero_le_two)
+ (div_nonneg (sub_nonneg_of_le ha.1) zero_le_two) (by ring)
#align balanced_iff_neg_mem balanced_iff_neg_mem
end Real
@@ -184,7 +184,7 @@ theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced
#align balanced.inter Balanced.inter
theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun _a ha => (smul_set_Union _ _).subset.trans <| iUnion_mono fun _ => h _ _ ha
+ fun _a ha => (smul_set_iUnion _ _).subset.trans <| iUnion_mono fun _ => h _ _ ha
#align balanced_Union balanced_iUnion
theorem balanced_iUnionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
@@ -164,7 +164,7 @@ theorem balanced_iff_smul_mem : Balanced π s β β β¦a : πβ¦, βaβ
forallβ_congr fun _a _ha => smul_set_subset_iff
#align balanced_iff_smul_mem balanced_iff_smul_mem
-alias balanced_iff_smul_mem β Balanced.smul_mem _
+alias β¨Balanced.smul_mem, _β© := balanced_iff_smul_mem
#align balanced.smul_mem Balanced.smul_mem
@[simp]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -43,7 +43,7 @@ open Set
open Pointwise Topology
-variable {π π E : Type _} {ΞΉ : Sort _} {ΞΊ : ΞΉ β Sort _}
+variable {π π E : Type*} {ΞΉ : Sort*} {ΞΊ : ΞΉ β Sort*}
section SeminormedRing
@@ -93,7 +93,7 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
fun h => h.1.union h.2β©
#align absorbs_union absorbs_union
-theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
+theorem absorbs_iUnion_finset {ΞΉ : Type*} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
induction' t using Finset.induction_on with i t _ht hi
@@ -108,7 +108,7 @@ theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
#align absorbs_Union_finset absorbs_iUnion_finset
-theorem Set.Finite.absorbs_iUnion {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
+theorem Set.Finite.absorbs_iUnion {ΞΉ : Type*} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
(hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
lift t to Finset ΞΉ using hi
simp only [Finset.mem_coe]
@@ -2,16 +2,13 @@
Copyright (c) 2019 Jean Lo. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Jean Lo, Bhavik Mehta, YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.locally_convex.basic
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! 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.Analysis.Convex.Hull
import Mathlib.Analysis.NormedSpace.Basic
+#align_import analysis.locally_convex.basic from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Local convexity
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1Β· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +Β·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with Β·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -100,8 +100,7 @@ theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
induction' t using Finset.induction_on with i t _ht hi
- Β·
- simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
+ Β· simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
IsEmpty.forall_iff, imp_true_iff]
rw [Finset.set_biUnion_insert, absorbs_union, hi]
constructor <;> intro h
at
and goals (#5387)
Changes are of the form
some_tactic at hβ’
-> some_tactic at h β’
some_tactic at h
-> some_tactic at h
@@ -406,7 +406,7 @@ variable [Module β E] [SMulCommClass β π E]
theorem balanced_convexHull_of_balanced (hs : Balanced π s) : Balanced π (convexHull β s) := by
suffices Convex β { x | β a : π, βaβ β€ 1 β a β’ x β convexHull β s } by
- rw [balanced_iff_smul_mem] at hsβ’
+ rw [balanced_iff_smul_mem] at hs β’
refine' fun a ha x hx => convexHull_min _ this hx a ha
exact fun y hy a ha => subset_convexHull β s (hs ha hy)
intro x hx y hy u v hu hv huv a ha
@@ -361,7 +361,7 @@ theorem balanced_zero_union_interior (hA : Balanced π A) :
intro a ha
obtain rfl | h := eq_or_ne a 0
Β· rw [zero_smul_set]
- exacts[subset_union_left _ _, β¨0, Or.inl rflβ©]
+ exacts [subset_union_left _ _, β¨0, Or.inl rflβ©]
Β· rw [β image_smul, image_union]
apply union_subset_union
Β· rw [image_zero, smul_zero]
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.
@@ -303,7 +303,7 @@ theorem Balanced.mem_smul_iff (hs : Balanced π s) (h : βaβ = βbβ) : a
Β· rw [norm_zero, norm_eq_zero] at h
rw [h]
have ha : a β 0 := norm_ne_zero_iff.1 (ne_of_eq_of_ne h <| norm_ne_zero_iff.2 hb)
- constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b],
+ constructor <;> intro h' <;> [rw [β inv_mul_cancel_rightβ ha b];
rw [β inv_mul_cancel_rightβ hb a]] <;>
Β· rw [β smul_eq_mul, smul_assoc]
refine' hs.smul_mem _ h'
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>
@@ -96,28 +96,28 @@ theorem absorbs_union : Absorbs π s (u βͺ v) β Absorbs π s u β§ Absorb
fun h => h.1.union h.2β©
#align absorbs_union absorbs_union
-theorem absorbs_unionα΅’_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
+theorem absorbs_iUnion_finset {ΞΉ : Type _} {t : Finset ΞΉ} {f : ΞΉ β Set E} :
Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
classical
induction' t using Finset.induction_on with i t _ht hi
Β·
- simp only [Finset.not_mem_empty, Set.unionα΅’_false, Set.unionα΅’_empty, absorbs_empty,
+ simp only [Finset.not_mem_empty, Set.iUnion_false, Set.iUnion_empty, absorbs_empty,
IsEmpty.forall_iff, imp_true_iff]
- rw [Finset.set_bunionα΅’_insert, absorbs_union, hi]
+ rw [Finset.set_biUnion_insert, absorbs_union, hi]
constructor <;> intro h
Β· refine' fun _ hi' => (Finset.mem_insert.mp hi').elim _ (h.2 _)
exact fun hi'' => by
rw [hi'']
exact h.1
exact β¨h i (Finset.mem_insert_self i t), fun i' hi' => h i' (Finset.mem_insert_of_mem hi')β©
-#align absorbs_Union_finset absorbs_unionα΅’_finset
+#align absorbs_Union_finset absorbs_iUnion_finset
-theorem Set.Finite.absorbs_unionα΅’ {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
+theorem Set.Finite.absorbs_iUnion {ΞΉ : Type _} {s : Set E} {t : Set ΞΉ} {f : ΞΉ β Set E}
(hi : t.Finite) : Absorbs π s (β i β t, f i) β β i β t, Absorbs π s (f i) := by
lift t to Finset ΞΉ using hi
simp only [Finset.mem_coe]
- exact absorbs_unionα΅’_finset
-#align set.finite.absorbs_Union Set.Finite.absorbs_unionα΅’
+ exact absorbs_iUnion_finset
+#align set.finite.absorbs_Union Set.Finite.absorbs_iUnion
variable (π)
@@ -151,8 +151,8 @@ theorem absorbent_iff_nonneg_lt :
theorem Absorbent.absorbs_finite {s : Set E} (hs : Absorbent π s) {v : Set E} (hv : v.Finite) :
Absorbs π s v := by
- rw [β Set.bunionα΅’_of_singleton v]
- exact hv.absorbs_unionα΅’.mpr fun _ _ => hs.absorbs
+ rw [β Set.biUnion_of_singleton v]
+ exact hv.absorbs_iUnion.mpr fun _ _ => hs.absorbs
#align absorbent.absorbs_finite Absorbent.absorbs_finite
variable (π)
@@ -187,23 +187,23 @@ theorem Balanced.inter (hA : Balanced π A) (hB : Balanced π B) : Balanced
smul_set_inter_subset.trans <| inter_subset_inter (hA _ ha) <| hB _ ha
#align balanced.inter Balanced.inter
-theorem balanced_unionα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun _a ha => (smul_set_Union _ _).subset.trans <| unionα΅’_mono fun _ => h _ _ ha
-#align balanced_Union balanced_unionα΅’
+theorem balanced_iUnion {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
+ fun _a ha => (smul_set_Union _ _).subset.trans <| iUnion_mono fun _ => h _ _ ha
+#align balanced_Union balanced_iUnion
-theorem balanced_unionα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_iUnionβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
- balanced_unionα΅’ fun _ => balanced_unionα΅’ <| h _
-#align balanced_Unionβ balanced_unionα΅’β
+ balanced_iUnion fun _ => balanced_iUnion <| h _
+#align balanced_Unionβ balanced_iUnionβ
-theorem balanced_interα΅’ {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
- fun _a ha => (smul_set_interα΅’_subset _ _).trans <| interα΅’_mono fun _ => h _ _ ha
-#align balanced_Inter balanced_interα΅’
+theorem balanced_iInter {f : ΞΉ β Set E} (h : β i, Balanced π (f i)) : Balanced π (β i, f i) :=
+ fun _a ha => (smul_set_iInter_subset _ _).trans <| iInter_mono fun _ => h _ _ ha
+#align balanced_Inter balanced_iInter
-theorem balanced_interα΅’β {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
+theorem balanced_iInterβ {f : β i, ΞΊ i β Set E} (h : β i j, Balanced π (f i j)) :
Balanced π (β (i) (j), f i j) :=
- balanced_interα΅’ fun _ => balanced_interα΅’ <| h _
-#align balanced_Interβ balanced_interα΅’β
+ balanced_iInter fun _ => balanced_iInter <| h _
+#align balanced_Interβ balanced_iInterβ
variable [SMul π E] [SMulCommClass π π E]
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".
@@ -237,8 +237,8 @@ theorem Balanced.add (hs : Balanced π s) (ht : Balanced π t) : Balanced
(smul_add _ _ _).subset.trans <| add_subset_add (hs _ ha) <| ht _ ha
#align balanced.add Balanced.add
-theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) : Absorbs π (sβ - sβ) (tβ - tβ) :=
- by
+theorem Absorbs.sub (hβ : Absorbs π sβ tβ) (hβ : Absorbs π sβ tβ) :
+ Absorbs π (sβ - sβ) (tβ - tβ) := by
simp_rw [sub_eq_add_neg]
exact hβ.add hβ.neg
#align absorbs.sub Absorbs.sub
@@ -356,8 +356,8 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A := by
#align absorbent_nhds_zero absorbent_nhds_zero
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
-theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0 : Set E) βͺ interior A) :=
- by
+theorem balanced_zero_union_interior (hA : Balanced π A) :
+ Balanced π ((0 : Set E) βͺ interior A) := by
intro a ha
obtain rfl | h := eq_or_ne a 0
Β· rw [zero_smul_set]
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -353,7 +353,6 @@ theorem absorbent_nhds_zero (hA : A β π (0 : E)) : Absorbent π A := by
calc
βaββ»ΒΉ β€ r / 2 := (inv_le (half_pos hrβ) haβ).mp haβ
_ < r := half_lt_self hrβ
-
#align absorbent_nhds_zero absorbent_nhds_zero
/-- The union of `{0}` with the interior of a balanced set is balanced. -/
@@ -367,11 +366,9 @@ theorem balanced_zero_union_interior (hA : Balanced π A) : Balanced π ((0
apply union_subset_union
Β· rw [image_zero, smul_zero]
rfl
- Β·
- calc
+ Β· calc
a β’ interior A β interior (a β’ A) := (isOpenMap_smulβ h).image_interior_subset A
_ β interior A := interior_mono (hA _ ha)
-
#align balanced_zero_union_interior balanced_zero_union_interior
/-- The interior of a balanced set is balanced if it contains the origin. -/
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file