analysis.locally_convex.balanced_core_hull
β·
Mathlib.Analysis.LocallyConvex.BalancedCoreHull
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
@@ -95,7 +95,7 @@ theorem balancedCore_empty : balancedCore π (β
: Set E) = β
:=
#print mem_balancedCore_iff /-
theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced π t β§ t β s β§ x β t := by
- simp_rw [balancedCore, mem_sUnion, mem_set_of_eq, exists_prop, and_assoc']
+ simp_rw [balancedCore, mem_sUnion, mem_set_of_eq, exists_prop, and_assoc]
#align mem_balanced_core_iff mem_balancedCore_iff
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Moritz Doll. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
-/
-import Analysis.LocallyConvex.Basic
+import Topology.Bornology.Absorbs
#align_import analysis.locally_convex.balanced_core_hull from "leanprover-community/mathlib"@"4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -104,7 +104,7 @@ theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
a β’ balancedCore π s β balancedCore π s :=
by
rintro x β¨y, hy, rflβ©
- rw [mem_balancedCore_iff] at hy
+ rw [mem_balancedCore_iff] at hy
rcases hy with β¨t, ht1, ht2, hyβ©
exact β¨t, β¨ht1, ht2β©, ht1 a ha (smul_mem_smul_set hy)β©
#align smul_balanced_core_subset smul_balancedCore_subset
@@ -185,7 +185,7 @@ theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s)
intro a ha
simp_rw [balancedHull, smul_set_Unionβ, subset_def, mem_Unionβ]
rintro x β¨r, hr, hxβ©
- rw [β smul_assoc] at hx
+ rw [β smul_assoc] at hx
exact β¨a β’ r, (SeminormedRing.norm_hMul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
#align balanced_hull.balanced balancedHull.balanced
-/
@@ -226,7 +226,7 @@ theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
rw [norm_smul, norm_inv]
exact one_le_mul_of_one_le_of_one_le (one_le_inv (norm_pos_iff.mpr h) ha) hr
have h' := hy (aβ»ΒΉ β’ r) h''
- rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
+ rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
#align balanced_core_aux_balanced balancedCoreAux_balanced
-/
@@ -289,7 +289,7 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
refine' isClosed_iInter fun a => _
refine' isClosed_iInter fun ha => _
have ha' := lt_of_lt_of_le zero_lt_one ha
- rw [norm_pos_iff] at ha'
+ rw [norm_pos_iff] at ha'
refine' isClosedMap_smul_of_ne_zero ha' U hU
convert isClosed_empty
contrapose! h
@@ -309,7 +309,7 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
simpa only [β Prod.exists', β Prod.forall', β and_imp, β and_assoc, exists_prop] using
h.basis_left (normed_add_comm_group.nhds_zero_basis_norm_lt.prod_nhds (π _).basis_sets) U hU
rcases NormedField.exists_norm_lt π hr with β¨y, hyβ, hyrβ©
- rw [norm_pos_iff] at hyβ
+ rw [norm_pos_iff] at hyβ
have : y β’ V β π (0 : E) := (set_smul_mem_nhds_zero_iff hyβ).mpr hV
-- It remains to show that `y β’ V β balanced_core π U`
refine' Filter.mem_of_superset this (subset_balancedCore (mem_of_mem_nhds hU) fun a ha => _)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Moritz Doll. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
-/
-import Mathbin.Analysis.LocallyConvex.Basic
+import Analysis.LocallyConvex.Basic
#align_import analysis.locally_convex.balanced_core_hull from "leanprover-community/mathlib"@"4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -186,7 +186,7 @@ theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s)
simp_rw [balancedHull, smul_set_Unionβ, subset_def, mem_Unionβ]
rintro x β¨r, hr, hxβ©
rw [β smul_assoc] at hx
- exact β¨a β’ r, (SeminormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
+ exact β¨a β’ r, (SeminormedRing.norm_hMul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
#align balanced_hull.balanced balancedHull.balanced
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Moritz Doll. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
-
-! This file was ported from Lean 3 source module analysis.locally_convex.balanced_core_hull
-! leanprover-community/mathlib commit 4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.LocallyConvex.Basic
+#align_import analysis.locally_convex.balanced_core_hull from "leanprover-community/mathlib"@"4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b"
+
/-!
# Balanced Core and Balanced Hull
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -102,6 +102,7 @@ theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced
#align mem_balanced_core_iff mem_balancedCore_iff
-/
+#print smul_balancedCore_subset /-
theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
a β’ balancedCore π s β balancedCore π s :=
by
@@ -110,6 +111,7 @@ theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
rcases hy with β¨t, ht1, ht2, hyβ©
exact β¨t, β¨ht1, ht2β©, ht1 a ha (smul_mem_smul_set hy)β©
#align smul_balanced_core_subset smul_balancedCore_subset
+-/
#print balancedCore_balanced /-
theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s) := fun _ =>
@@ -117,27 +119,35 @@ theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s)
#align balanced_core_balanced balancedCore_balanced
-/
+#print Balanced.subset_balancedCore_of_subset /-
/-- The balanced core of `t` is maximal in the sense that it contains any balanced subset
`s` of `t`.-/
theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
s β balancedCore π t :=
subset_sUnion_of_mem β¨hs, hβ©
#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subset
+-/
+#print mem_balancedCoreAux_iff /-
theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π, 1 β€ βrβ β x β r β’ s :=
mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
+-/
+#print mem_balancedHull_iff /-
theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π) (hr : βrβ β€ 1), x β r β’ s :=
mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
+-/
+#print Balanced.balancedHull_subset_of_subset /-
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
`t` of `s`. -/
theorem Balanced.balancedHull_subset_of_subset (ht : Balanced π t) (h : s β t) :
balancedHull π s β t := fun x hx => by obtain β¨r, hr, y, hy, rflβ© := mem_balancedHull_iff.1 hx;
exact ht.smul_mem hr (h hy)
#align balanced.hull_subset_of_subset Balanced.balancedHull_subset_of_subset
+-/
end SMul
@@ -145,10 +155,13 @@ section Module
variable [AddCommGroup E] [Module π E] {s : Set E}
+#print balancedCore_zero_mem /-
theorem balancedCore_zero_mem (hs : (0 : E) β s) : (0 : E) β balancedCore π s :=
mem_balancedCore_iff.2 β¨0, balanced_zero, zero_subset.2 hs, zero_mem_zeroβ©
#align balanced_core_zero_mem balancedCore_zero_mem
+-/
+#print balancedCore_nonempty_iff /-
theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E) β s :=
β¨fun h =>
zero_subset.1 <|
@@ -157,12 +170,15 @@ theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E)
balancedCore_subset _,
fun h => β¨0, balancedCore_zero_mem hβ©β©
#align balanced_core_nonempty_iff balancedCore_nonempty_iff
+-/
variable (π)
+#print subset_balancedHull /-
theorem subset_balancedHull [NormOneClass π] {s : Set E} : s β balancedHull π s := fun _ hx =>
mem_balancedHull_iff.2 β¨1, norm_one.le, _, hx, one_smul _ _β©
#align subset_balanced_hull subset_balancedHull
+-/
variable {π}
@@ -200,6 +216,7 @@ theorem balancedCoreAux_subset (s : Set E) : balancedCoreAux π s β s := fun
#align balanced_core_aux_subset balancedCoreAux_subset
-/
+#print balancedCoreAux_balanced /-
theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
Balanced π (balancedCoreAux π s) :=
by
@@ -214,6 +231,7 @@ theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
have h' := hy (aβ»ΒΉ β’ r) h''
rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
#align balanced_core_aux_balanced balancedCoreAux_balanced
+-/
#print balancedCoreAux_maximal /-
theorem balancedCoreAux_maximal (h : t β s) (ht : Balanced π t) : t β balancedCoreAux π s :=
@@ -232,6 +250,7 @@ theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCo
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
-/
+#print balancedCore_eq_iInter /-
theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
balancedCore π s = β (r : π) (hr : 1 β€ βrβ), r β’ s :=
by
@@ -239,7 +258,9 @@ theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
#align balanced_core_eq_Inter balancedCore_eq_iInter
+-/
+#print subset_balancedCore /-
theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (ha : βaβ β€ 1), a β’ s β t) :
s β balancedCore π t := by
rw [balancedCore_eq_iInter ht]
@@ -249,6 +270,7 @@ theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (ha : β
rw [norm_inv]
exact inv_le_one ha
#align subset_balanced_core subset_balancedCore
+-/
end NormedField
@@ -278,6 +300,7 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
#align is_closed.balanced_core IsClosed.balancedCore
-/
+#print balancedCore_mem_nhds_zero /-
theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π U β π (0 : E) :=
by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
@@ -299,16 +322,20 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
rw [norm_mul, β one_mul r]
exact mul_lt_mul' ha hyr (norm_nonneg y) one_pos
#align balanced_core_mem_nhds_zero balancedCore_mem_nhds_zero
+-/
variable (π E)
+#print nhds_basis_balanced /-
theorem nhds_basis_balanced :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ Balanced π s) id :=
Filter.hasBasis_self.mpr fun s hs =>
β¨balancedCore π s, balancedCore_mem_nhds_zero hs, balancedCore_balanced s,
balancedCore_subset sβ©
#align nhds_basis_balanced nhds_basis_balanced
+-/
+#print nhds_basis_closed_balanced /-
theorem nhds_basis_closed_balanced [RegularSpace E] :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ IsClosed s β§ Balanced π s) id :=
by
@@ -317,6 +344,7 @@ theorem nhds_basis_closed_balanced [RegularSpace E] :
refine' β¨balancedCore π s, β¨balancedCore_mem_nhds_zero hs.1, _β©, balancedCore_subset sβ©
exact β¨hs.2.balancedCore, balancedCore_balanced sβ©
#align nhds_basis_closed_balanced nhds_basis_closed_balanced
+-/
end Topology
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -64,7 +64,7 @@ variable (π) [SMul π E] {s t : Set E} {x : E}
#print balancedCore /-
/-- The largest balanced subset of `s`.-/
def balancedCore (s : Set E) :=
- ββ { t : Set E | Balanced π t β§ t β s }
+ ββ {t : Set E | Balanced π t β§ t β s}
#align balanced_core balancedCore
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -106,7 +106,7 @@ theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
a β’ balancedCore π s β balancedCore π s :=
by
rintro x β¨y, hy, rflβ©
- rw [mem_balancedCore_iff] at hy
+ rw [mem_balancedCore_iff] at hy
rcases hy with β¨t, ht1, ht2, hyβ©
exact β¨t, β¨ht1, ht2β©, ht1 a ha (smul_mem_smul_set hy)β©
#align smul_balanced_core_subset smul_balancedCore_subset
@@ -128,7 +128,7 @@ theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π,
mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
-theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(hr : βrβ β€ 1), x β r β’ s :=
+theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π) (hr : βrβ β€ 1), x β r β’ s :=
mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
@@ -172,7 +172,7 @@ theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s)
intro a ha
simp_rw [balancedHull, smul_set_Unionβ, subset_def, mem_Unionβ]
rintro x β¨r, hr, hxβ©
- rw [β smul_assoc] at hx
+ rw [β smul_assoc] at hx
exact β¨a β’ r, (SeminormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
#align balanced_hull.balanced balancedHull.balanced
-/
@@ -206,13 +206,13 @@ theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
rintro a ha x β¨y, hy, rflβ©
obtain rfl | h := eq_or_ne a 0
Β· rwa [zero_smul]
- rw [mem_balancedCoreAux_iff] at hyβ’
+ rw [mem_balancedCoreAux_iff] at hy β’
intro r hr
have h'' : 1 β€ βaβ»ΒΉ β’ rβ := by
rw [norm_smul, norm_inv]
exact one_le_mul_of_one_le_of_one_le (one_le_inv (norm_pos_iff.mpr h) ha) hr
have h' := hy (aβ»ΒΉ β’ r) h''
- rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
+ rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
#align balanced_core_aux_balanced balancedCoreAux_balanced
#print balancedCoreAux_maximal /-
@@ -270,7 +270,7 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
refine' isClosed_iInter fun a => _
refine' isClosed_iInter fun ha => _
have ha' := lt_of_lt_of_le zero_lt_one ha
- rw [norm_pos_iff] at ha'
+ rw [norm_pos_iff] at ha'
refine' isClosedMap_smul_of_ne_zero ha' U hU
convert isClosed_empty
contrapose! h
@@ -282,14 +282,14 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
obtain β¨r, V, hr, hV, hrVUβ© :
- β (r : β)(V : Set E), 0 < r β§ V β π (0 : E) β§ β (c : π) (y : E), βcβ < r β y β V β c β’ y β U :=
+ β (r : β) (V : Set E), 0 < r β§ V β π (0 : E) β§ β (c : π) (y : E), βcβ < r β y β V β c β’ y β U :=
by
have h : Filter.Tendsto (fun x : π Γ E => x.fst β’ x.snd) (π (0, 0)) (π 0) :=
continuous_smul.tendsto' (0, 0) _ (smul_zero _)
simpa only [β Prod.exists', β Prod.forall', β and_imp, β and_assoc, exists_prop] using
h.basis_left (normed_add_comm_group.nhds_zero_basis_norm_lt.prod_nhds (π _).basis_sets) U hU
rcases NormedField.exists_norm_lt π hr with β¨y, hyβ, hyrβ©
- rw [norm_pos_iff] at hyβ
+ rw [norm_pos_iff] at hyβ
have : y β’ V β π (0 : E) := (set_smul_mem_nhds_zero_iff hyβ).mpr hV
-- It remains to show that `y β’ V β balanced_core π U`
refine' Filter.mem_of_superset this (subset_balancedCore (mem_of_mem_nhds hU) fun a ha => _)
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,7 +47,7 @@ balanced
open Set
-open Pointwise Topology Filter
+open scoped Pointwise Topology Filter
variable {π E ΞΉ : Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -102,12 +102,6 @@ theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced
#align mem_balanced_core_iff mem_balancedCore_iff
-/
-/- warning: smul_balanced_core_subset -> smul_balancedCore_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] (s : Set.{u2} E) {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)))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2) a (balancedCore.{u1, u2} π E _inst_1 _inst_2 s)) (balancedCore.{u1, u2} π E _inst_1 _inst_2 s))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] (s : Set.{u2} E) {a : π}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) a (balancedCore.{u1, u2} π E _inst_1 _inst_2 s)) (balancedCore.{u1, u2} π E _inst_1 _inst_2 s))
-Case conversion may be inaccurate. Consider using '#align smul_balanced_core_subset smul_balancedCore_subsetβ'. -/
theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
a β’ balancedCore π s β balancedCore π s :=
by
@@ -123,12 +117,6 @@ theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s)
#align balanced_core_balanced balancedCore_balanced
-/
-/- warning: balanced.subset_core_of_subset -> Balanced.subset_balancedCore_of_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] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedCore.{u1, u2} π E _inst_1 _inst_2 t))
-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}, (Balanced.{u2, u1} π E _inst_1 _inst_2 s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedCore.{u2, u1} π E _inst_1 _inst_2 t))
-Case conversion may be inaccurate. Consider using '#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subsetβ'. -/
/-- The balanced core of `t` is maximal in the sense that it contains any balanced subset
`s` of `t`.-/
theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
@@ -136,32 +124,14 @@ theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β
subset_sUnion_of_mem β¨hs, hβ©
#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subset
-/- warning: mem_balanced_core_aux_iff -> mem_balancedCoreAux_iff 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} {x : E}, Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (balancedCoreAux.{u1, u2} π E _inst_1 _inst_2 s)) (forall (r : π), (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} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r)) -> (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) r s)))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedCoreAux.{u1, u2} π E _inst_1 _inst_2 s)) (forall (r : π), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r)) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s)))
-Case conversion may be inaccurate. Consider using '#align mem_balanced_core_aux_iff mem_balancedCoreAux_iffβ'. -/
theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π, 1 β€ βrβ β x β r β’ s :=
mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
-/- warning: mem_balanced_hull_iff -> mem_balancedHull_iff 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} {x : E}, Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (balancedHull.{u1, u2} π E _inst_1 _inst_2 s)) (Exists.{succ u1} π (fun (r : π) => Exists.{0} (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (fun (hr : LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) => 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) r s))))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedHull.{u1, u2} π E _inst_1 _inst_2 s)) (Exists.{succ u1} π (fun (r : π) => Exists.{0} (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (fun (hr : LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s))))
-Case conversion may be inaccurate. Consider using '#align mem_balanced_hull_iff mem_balancedHull_iffβ'. -/
theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(hr : βrβ β€ 1), x β r β’ s :=
mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
-/- warning: balanced.hull_subset_of_subset -> Balanced.balancedHull_subset_of_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] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (balancedHull.{u1, u2} π E _inst_1 _inst_2 s) t)
-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}, (Balanced.{u2, u1} π E _inst_1 _inst_2 t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (balancedHull.{u2, u1} π E _inst_1 _inst_2 s) t)
-Case conversion may be inaccurate. Consider using '#align balanced.hull_subset_of_subset Balanced.balancedHull_subset_of_subsetβ'. -/
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
`t` of `s`. -/
theorem Balanced.balancedHull_subset_of_subset (ht : Balanced π t) (h : s β t) :
@@ -175,22 +145,10 @@ section Module
variable [AddCommGroup E] [Module π E] {s : Set E}
-/- warning: balanced_core_zero_mem -> balancedCore_zero_mem 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}, (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) -> (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)))))))) (balancedCore.{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))
-but is expected to have type
- 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}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) (balancedCore.{u1, u2} π E _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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
-Case conversion may be inaccurate. Consider using '#align balanced_core_zero_mem balancedCore_zero_memβ'. -/
theorem balancedCore_zero_mem (hs : (0 : E) β s) : (0 : E) β balancedCore π s :=
mem_balancedCore_iff.2 β¨0, balanced_zero, zero_subset.2 hs, zero_mem_zeroβ©
#align balanced_core_zero_mem balancedCore_zero_mem
-/- warning: balanced_core_nonempty_iff -> balancedCore_nonempty_iff 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}, Iff (Set.Nonempty.{u2} E (balancedCore.{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)) (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.{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}, Iff (Set.Nonempty.{u2} E (balancedCore.{u1, u2} π E _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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s)
-Case conversion may be inaccurate. Consider using '#align balanced_core_nonempty_iff balancedCore_nonempty_iffβ'. -/
theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E) β s :=
β¨fun h =>
zero_subset.1 <|
@@ -202,12 +160,6 @@ theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E)
variable (π)
-/- warning: subset_balanced_hull -> subset_balancedHull 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)] [_inst_4 : NormOneClass.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) (AddMonoidWithOne.toOne.{u1} π (AddGroupWithOne.toAddMonoidWithOne.{u1} π (AddCommGroupWithOne.toAddGroupWithOne.{u1} π (Ring.toAddCommGroupWithOne.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))] {s : Set.{u2} E}, HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedHull.{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)
-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)] [_inst_4 : NormOneClass.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) (Semiring.toOne.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))] {s : Set.{u1} E}, HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedHull.{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)
-Case conversion may be inaccurate. Consider using '#align subset_balanced_hull subset_balancedHullβ'. -/
theorem subset_balancedHull [NormOneClass π] {s : Set E} : s β balancedHull π s := fun _ hx =>
mem_balancedHull_iff.2 β¨1, norm_one.le, _, hx, one_smul _ _β©
#align subset_balanced_hull subset_balancedHull
@@ -248,9 +200,6 @@ theorem balancedCoreAux_subset (s : Set E) : balancedCoreAux π s β s := fun
#align balanced_core_aux_subset balancedCoreAux_subset
-/
-/- warning: balanced_core_aux_balanced -> balancedCoreAux_balanced is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align balanced_core_aux_balanced balancedCoreAux_balancedβ'. -/
theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
Balanced π (balancedCoreAux π s) :=
by
@@ -283,12 +232,6 @@ theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCo
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
-/
-/- warning: balanced_core_eq_Inter -> balancedCore_eq_iInter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.iInter.{u2, succ u1} E π (fun (r : π) => Set.iInter.{u2, 0} E (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) r)) (fun (hr : 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) r)) => SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (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_2)))) (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_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) r s))))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.iInter.{u2, succ u1} E π (fun (r : π) => Set.iInter.{u2, 0} E (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) (fun (hr : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) => 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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) r s))))
-Case conversion may be inaccurate. Consider using '#align balanced_core_eq_Inter balancedCore_eq_iInterβ'. -/
theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
balancedCore π s = β (r : π) (hr : 1 β€ βrβ), r β’ s :=
by
@@ -297,12 +240,6 @@ theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
#align balanced_core_eq_Inter balancedCore_eq_iInter
-/- warning: subset_balanced_core -> subset_balancedCore is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (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)))))))) t) -> (forall (a : π), (LE.le.{0} Real Real.hasLe (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)))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) a s) t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) t) -> (forall (a : π), (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) a s) t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) s (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t))
-Case conversion may be inaccurate. Consider using '#align subset_balanced_core subset_balancedCoreβ'. -/
theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (ha : βaβ β€ 1), a β’ s β t) :
s β balancedCore π t := by
rw [balancedCore_eq_iInter ht]
@@ -341,12 +278,6 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
#align is_closed.balanced_core IsClosed.balancedCore
-/
-/- warning: balanced_core_mem_nhds_zero -> balancedCore_mem_nhds_zero 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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] {U : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) U (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) (balancedCore.{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)))) U) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] {U : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) U (nhds.{u2} E _inst_4 (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_2))))))))) -> (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) (balancedCore.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) U) (nhds.{u2} E _inst_4 (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_2)))))))))
-Case conversion may be inaccurate. Consider using '#align balanced_core_mem_nhds_zero balancedCore_mem_nhds_zeroβ'. -/
theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π U β π (0 : E) :=
by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
@@ -371,12 +302,6 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
variable (π E)
-/- warning: nhds_basis_balanced -> nhds_basis_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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))) (fun (s : Set.{u2} E) => And (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) s (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (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)) (id.{succ u2} (Set.{u2} E))
-but is expected to have type
- forall (π : Type.{u1}) (E : Type.{u2}) [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (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_2)))))))) (fun (s : Set.{u2} E) => And (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) s (nhds.{u2} E _inst_4 (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_2))))))))) (Balanced.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) (id.{succ u2} (Set.{u2} E))
-Case conversion may be inaccurate. Consider using '#align nhds_basis_balanced nhds_basis_balancedβ'. -/
theorem nhds_basis_balanced :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ Balanced π s) id :=
Filter.hasBasis_self.mpr fun s hs =>
@@ -384,12 +309,6 @@ theorem nhds_basis_balanced :
balancedCore_subset sβ©
#align nhds_basis_balanced nhds_basis_balanced
-/- warning: nhds_basis_closed_balanced -> nhds_basis_closed_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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] [_inst_6 : RegularSpace.{u2} E _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))) (fun (s : Set.{u2} E) => And (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) s (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (And (IsClosed.{u2} E _inst_4 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)))) s))) (id.{succ u2} (Set.{u2} E))
-but is expected to have type
- forall (π : Type.{u1}) (E : Type.{u2}) [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] [_inst_6 : RegularSpace.{u2} E _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (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_2)))))))) (fun (s : Set.{u2} E) => And (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) s (nhds.{u2} E _inst_4 (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_2))))))))) (And (IsClosed.{u2} E _inst_4 s) (Balanced.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))) (id.{succ u2} (Set.{u2} E))
-Case conversion may be inaccurate. Consider using '#align nhds_basis_closed_balanced nhds_basis_closed_balancedβ'. -/
theorem nhds_basis_closed_balanced [RegularSpace E] :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ IsClosed s β§ Balanced π s) id :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -165,9 +165,7 @@ Case conversion may be inaccurate. Consider using '#align balanced.hull_subset_o
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
`t` of `s`. -/
theorem Balanced.balancedHull_subset_of_subset (ht : Balanced π t) (h : s β t) :
- balancedHull π s β t := fun x hx =>
- by
- obtain β¨r, hr, y, hy, rflβ© := mem_balancedHull_iff.1 hx
+ balancedHull π s β t := fun x hx => by obtain β¨r, hr, y, hy, rflβ© := mem_balancedHull_iff.1 hx;
exact ht.smul_mem hr (h hy)
#align balanced.hull_subset_of_subset Balanced.balancedHull_subset_of_subset
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -251,10 +251,7 @@ theorem balancedCoreAux_subset (s : Set E) : balancedCoreAux π s β s := fun
-/
/- warning: balanced_core_aux_balanced -> balancedCoreAux_balanced is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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)))))))) (balancedCoreAux.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) -> (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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (balancedCoreAux.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
-but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) (balancedCoreAux.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{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} π _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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (balancedCoreAux.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align balanced_core_aux_balanced balancedCoreAux_balancedβ'. -/
theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
Balanced π (balancedCoreAux π s) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -86,7 +86,7 @@ variable {π}
#print balancedCore_subset /-
theorem balancedCore_subset (s : Set E) : balancedCore π s β s :=
- unionβ_subset fun t ht => ht.2
+ sUnion_subset fun t ht => ht.2
#align balanced_core_subset balancedCore_subset
-/
@@ -133,7 +133,7 @@ Case conversion may be inaccurate. Consider using '#align balanced.subset_core_o
`s` of `t`.-/
theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
s β balancedCore π t :=
- subset_unionβ_of_mem β¨hs, hβ©
+ subset_sUnion_of_mem β¨hs, hβ©
#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subset
/- warning: mem_balanced_core_aux_iff -> mem_balancedCoreAux_iff is a dubious translation:
@@ -143,7 +143,7 @@ but is expected to have type
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedCoreAux.{u1, u2} π E _inst_1 _inst_2 s)) (forall (r : π), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r)) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s)))
Case conversion may be inaccurate. Consider using '#align mem_balanced_core_aux_iff mem_balancedCoreAux_iffβ'. -/
theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π, 1 β€ βrβ β x β r β’ s :=
- mem_interα΅’β
+ mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
/- warning: mem_balanced_hull_iff -> mem_balancedHull_iff is a dubious translation:
@@ -153,7 +153,7 @@ but is expected to have type
forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedHull.{u1, u2} π E _inst_1 _inst_2 s)) (Exists.{succ u1} π (fun (r : π) => Exists.{0} (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (fun (hr : LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s))))
Case conversion may be inaccurate. Consider using '#align mem_balanced_hull_iff mem_balancedHull_iffβ'. -/
theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(hr : βrβ β€ 1), x β r β’ s :=
- mem_unionα΅’β
+ mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
/- warning: balanced.hull_subset_of_subset -> Balanced.balancedHull_subset_of_subset is a dubious translation:
@@ -288,19 +288,19 @@ theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCo
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
-/
-/- warning: balanced_core_eq_Inter -> balancedCore_eq_interα΅’ is a dubious translation:
+/- warning: balanced_core_eq_Inter -> balancedCore_eq_iInter is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.interα΅’.{u2, succ u1} E π (fun (r : π) => Set.interα΅’.{u2, 0} E (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) r)) (fun (hr : 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) r)) => SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (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_2)))) (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_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) r s))))
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.iInter.{u2, succ u1} E π (fun (r : π) => Set.iInter.{u2, 0} E (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) r)) (fun (hr : 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) r)) => SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (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_2)))) (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_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) r s))))
but is expected to have type
- forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.interα΅’.{u2, succ u1} E π (fun (r : π) => Set.interα΅’.{u2, 0} E (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) (fun (hr : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) => 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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) r s))))
-Case conversion may be inaccurate. Consider using '#align balanced_core_eq_Inter balancedCore_eq_interα΅’β'. -/
-theorem balancedCore_eq_interα΅’ (hs : (0 : E) β s) :
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.iInter.{u2, succ u1} E π (fun (r : π) => Set.iInter.{u2, 0} E (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) (fun (hr : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) => 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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) r s))))
+Case conversion may be inaccurate. Consider using '#align balanced_core_eq_Inter balancedCore_eq_iInterβ'. -/
+theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
balancedCore π s = β (r : π) (hr : 1 β€ βrβ), r β’ s :=
by
refine' balanced_core_subset_balanced_core_aux.antisymm _
refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
-#align balanced_core_eq_Inter balancedCore_eq_interα΅’
+#align balanced_core_eq_Inter balancedCore_eq_iInter
/- warning: subset_balanced_core -> subset_balancedCore is a dubious translation:
lean 3 declaration is
@@ -310,7 +310,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align subset_balanced_core subset_balancedCoreβ'. -/
theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (ha : βaβ β€ 1), a β’ s β t) :
s β balancedCore π t := by
- rw [balancedCore_eq_interα΅’ ht]
+ rw [balancedCore_eq_iInter ht]
refine' subset_Interβ fun a ha => _
rw [β smul_inv_smulβ (norm_pos_iff.mp <| zero_lt_one.trans_le ha) s]
refine' smul_set_mono (hst _ _)
@@ -334,9 +334,9 @@ variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] [Topolo
protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCore π U) :=
by
by_cases h : (0 : E) β U
- Β· rw [balancedCore_eq_interα΅’ h]
- refine' isClosed_interα΅’ fun a => _
- refine' isClosed_interα΅’ fun ha => _
+ Β· rw [balancedCore_eq_iInter h]
+ refine' isClosed_iInter fun a => _
+ refine' isClosed_iInter fun ha => _
have ha' := lt_of_lt_of_le zero_lt_one ha
rw [norm_pos_iff] at ha'
refine' isClosedMap_smul_of_ne_zero ha' U hU
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -208,7 +208,7 @@ variable (π)
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)] [_inst_4 : NormOneClass.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) (AddMonoidWithOne.toOne.{u1} π (AddGroupWithOne.toAddMonoidWithOne.{u1} π (AddCommGroupWithOne.toAddGroupWithOne.{u1} π (Ring.toAddCommGroupWithOne.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))] {s : Set.{u2} E}, HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedHull.{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)
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)] [_inst_4 : NormOneClass.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) (NonAssocRing.toOne.{u2} π (Ring.toNonAssocRing.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))] {s : Set.{u1} E}, HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedHull.{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)
+ 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)] [_inst_4 : NormOneClass.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) (Semiring.toOne.{u2} π (Ring.toSemiring.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))] {s : Set.{u1} E}, HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedHull.{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)
Case conversion may be inaccurate. Consider using '#align subset_balanced_hull subset_balancedHullβ'. -/
theorem subset_balancedHull [NormOneClass π] {s : Set E} : s β balancedHull π s := fun _ hx =>
mem_balancedHull_iff.2 β¨1, norm_one.le, _, hx, one_smul _ _β©
mathlib commit https://github.com/leanprover-community/mathlib/commit/4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
! This file was ported from Lean 3 source module analysis.locally_convex.balanced_core_hull
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Analysis.LocallyConvex.Basic
/-!
# Balanced Core and Balanced Hull
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
## Main definitions
* `balanced_core`: The largest balanced subset of a set `s`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -58,35 +58,53 @@ section SMul
variable (π) [SMul π E] {s t : Set E} {x : E}
+#print balancedCore /-
/-- The largest balanced subset of `s`.-/
def balancedCore (s : Set E) :=
ββ { t : Set E | Balanced π t β§ t β s }
#align balanced_core balancedCore
+-/
+#print balancedCoreAux /-
/-- Helper definition to prove `balanced_core_eq_Inter`-/
def balancedCoreAux (s : Set E) :=
β (r : π) (hr : 1 β€ βrβ), r β’ s
#align balanced_core_aux balancedCoreAux
+-/
+#print balancedHull /-
/-- The smallest balanced superset of `s`.-/
def balancedHull (s : Set E) :=
β (r : π) (hr : βrβ β€ 1), r β’ s
#align balanced_hull balancedHull
+-/
variable {π}
+#print balancedCore_subset /-
theorem balancedCore_subset (s : Set E) : balancedCore π s β s :=
unionβ_subset fun t ht => ht.2
#align balanced_core_subset balancedCore_subset
+-/
+#print balancedCore_empty /-
theorem balancedCore_empty : balancedCore π (β
: Set E) = β
:=
eq_empty_of_subset_empty (balancedCore_subset _)
#align balanced_core_empty balancedCore_empty
+-/
+#print mem_balancedCore_iff /-
theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced π t β§ t β s β§ x β t := by
simp_rw [balancedCore, mem_sUnion, mem_set_of_eq, exists_prop, and_assoc']
#align mem_balanced_core_iff mem_balancedCore_iff
+-/
+/- warning: smul_balanced_core_subset -> smul_balancedCore_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] (s : Set.{u2} E) {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)))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2) a (balancedCore.{u1, u2} π E _inst_1 _inst_2 s)) (balancedCore.{u1, u2} π E _inst_1 _inst_2 s))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] (s : Set.{u2} E) {a : π}, (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) a (balancedCore.{u1, u2} π E _inst_1 _inst_2 s)) (balancedCore.{u1, u2} π E _inst_1 _inst_2 s))
+Case conversion may be inaccurate. Consider using '#align smul_balanced_core_subset smul_balancedCore_subsetβ'. -/
theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
a β’ balancedCore π s β balancedCore π s :=
by
@@ -96,31 +114,59 @@ theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
exact β¨t, β¨ht1, ht2β©, ht1 a ha (smul_mem_smul_set hy)β©
#align smul_balanced_core_subset smul_balancedCore_subset
+#print balancedCore_balanced /-
theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s) := fun _ =>
smul_balancedCore_subset s
#align balanced_core_balanced balancedCore_balanced
+-/
+/- warning: balanced.subset_core_of_subset -> Balanced.subset_balancedCore_of_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] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 s) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedCore.{u1, u2} π E _inst_1 _inst_2 t))
+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}, (Balanced.{u2, u1} π E _inst_1 _inst_2 s) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedCore.{u2, u1} π E _inst_1 _inst_2 t))
+Case conversion may be inaccurate. Consider using '#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subsetβ'. -/
/-- The balanced core of `t` is maximal in the sense that it contains any balanced subset
`s` of `t`.-/
-theorem Balanced.subset_core_of_subset (hs : Balanced π s) (h : s β t) : s β balancedCore π t :=
+theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
+ s β balancedCore π t :=
subset_unionβ_of_mem β¨hs, hβ©
-#align balanced.subset_core_of_subset Balanced.subset_core_of_subset
-
+#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subset
+
+/- warning: mem_balanced_core_aux_iff -> mem_balancedCoreAux_iff 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} {x : E}, Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (balancedCoreAux.{u1, u2} π E _inst_1 _inst_2 s)) (forall (r : π), (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} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r)) -> (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) r s)))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedCoreAux.{u1, u2} π E _inst_1 _inst_2 s)) (forall (r : π), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r)) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s)))
+Case conversion may be inaccurate. Consider using '#align mem_balanced_core_aux_iff mem_balancedCoreAux_iffβ'. -/
theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π, 1 β€ βrβ β x β r β’ s :=
mem_interα΅’β
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
+/- warning: mem_balanced_hull_iff -> mem_balancedHull_iff 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} {x : E}, Iff (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (balancedHull.{u1, u2} π E _inst_1 _inst_2 s)) (Exists.{succ u1} π (fun (r : π) => Exists.{0} (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) (fun (hr : LE.le.{0} Real Real.hasLe (Norm.norm.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))) => 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) r s))))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : SeminormedRing.{u1} π] [_inst_2 : SMul.{u1, u2} π E] {s : Set.{u2} E} {x : E}, Iff (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (balancedHull.{u1, u2} π E _inst_1 _inst_2 s)) (Exists.{succ u1} π (fun (r : π) => Exists.{0} (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) (fun (hr : LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (SeminormedRing.toNorm.{u1} π _inst_1) r) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (HSMul.hSMul.{u1, u2, u2} π (Set.{u2} E) (Set.{u2} E) (instHSMul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E _inst_2)) r s))))
+Case conversion may be inaccurate. Consider using '#align mem_balanced_hull_iff mem_balancedHull_iffβ'. -/
theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(hr : βrβ β€ 1), x β r β’ s :=
mem_unionα΅’β
#align mem_balanced_hull_iff mem_balancedHull_iff
+/- warning: balanced.hull_subset_of_subset -> Balanced.balancedHull_subset_of_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] {s : Set.{u2} E} {t : Set.{u2} E}, (Balanced.{u1, u2} π E _inst_1 _inst_2 t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (balancedHull.{u1, u2} π E _inst_1 _inst_2 s) t)
+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}, (Balanced.{u2, u1} π E _inst_1 _inst_2 t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) (balancedHull.{u2, u1} π E _inst_1 _inst_2 s) t)
+Case conversion may be inaccurate. Consider using '#align balanced.hull_subset_of_subset Balanced.balancedHull_subset_of_subsetβ'. -/
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
`t` of `s`. -/
-theorem Balanced.hull_subset_of_subset (ht : Balanced π t) (h : s β t) : balancedHull π s β t :=
- fun x hx => by
+theorem Balanced.balancedHull_subset_of_subset (ht : Balanced π t) (h : s β t) :
+ balancedHull π s β t := fun x hx =>
+ by
obtain β¨r, hr, y, hy, rflβ© := mem_balancedHull_iff.1 hx
exact ht.smul_mem hr (h hy)
-#align balanced.hull_subset_of_subset Balanced.hull_subset_of_subset
+#align balanced.hull_subset_of_subset Balanced.balancedHull_subset_of_subset
end SMul
@@ -128,10 +174,22 @@ section Module
variable [AddCommGroup E] [Module π E] {s : Set E}
+/- warning: balanced_core_zero_mem -> balancedCore_zero_mem 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}, (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) -> (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)))))))) (balancedCore.{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))
+but is expected to have type
+ 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}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) (balancedCore.{u1, u2} π E _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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
+Case conversion may be inaccurate. Consider using '#align balanced_core_zero_mem balancedCore_zero_memβ'. -/
theorem balancedCore_zero_mem (hs : (0 : E) β s) : (0 : E) β balancedCore π s :=
mem_balancedCore_iff.2 β¨0, balanced_zero, zero_subset.2 hs, zero_mem_zeroβ©
#align balanced_core_zero_mem balancedCore_zero_mem
+/- warning: balanced_core_nonempty_iff -> balancedCore_nonempty_iff 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}, Iff (Set.Nonempty.{u2} E (balancedCore.{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)) (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.{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}, Iff (Set.Nonempty.{u2} E (balancedCore.{u1, u2} π E _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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (MonoidWithZero.toZero.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s)
+Case conversion may be inaccurate. Consider using '#align balanced_core_nonempty_iff balancedCore_nonempty_iffβ'. -/
theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E) β s :=
β¨fun h =>
zero_subset.1 <|
@@ -143,12 +201,19 @@ theorem balancedCore_nonempty_iff : (balancedCore π s).Nonempty β (0 : E)
variable (π)
+/- warning: subset_balanced_hull -> subset_balancedHull 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)] [_inst_4 : NormOneClass.{u1} π (SeminormedRing.toHasNorm.{u1} π _inst_1) (AddMonoidWithOne.toOne.{u1} π (AddGroupWithOne.toAddMonoidWithOne.{u1} π (AddCommGroupWithOne.toAddGroupWithOne.{u1} π (Ring.toAddCommGroupWithOne.{u1} π (SeminormedRing.toRing.{u1} π _inst_1)))))] {s : Set.{u2} E}, HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedHull.{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)
+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)] [_inst_4 : NormOneClass.{u2} π (SeminormedRing.toNorm.{u2} π _inst_1) (NonAssocRing.toOne.{u2} π (Ring.toNonAssocRing.{u2} π (SeminormedRing.toRing.{u2} π _inst_1)))] {s : Set.{u1} E}, HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s (balancedHull.{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)
+Case conversion may be inaccurate. Consider using '#align subset_balanced_hull subset_balancedHullβ'. -/
theorem subset_balancedHull [NormOneClass π] {s : Set E} : s β balancedHull π s := fun _ hx =>
mem_balancedHull_iff.2 β¨1, norm_one.le, _, hx, one_smul _ _β©
#align subset_balanced_hull subset_balancedHull
variable {π}
+#print balancedHull.balanced /-
theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s) :=
by
intro a ha
@@ -157,6 +222,7 @@ theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s)
rw [β smul_assoc] at hx
exact β¨a β’ r, (SeminormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
#align balanced_hull.balanced balancedHull.balanced
+-/
end Module
@@ -166,17 +232,27 @@ section NormedField
variable [NormedField π] [AddCommGroup E] [Module π E] {s t : Set E}
+#print balancedCoreAux_empty /-
@[simp]
theorem balancedCoreAux_empty : balancedCoreAux π (β
: Set E) = β
:=
by
simp_rw [balancedCoreAux, Interβ_eq_empty_iff, smul_set_empty]
exact fun _ => β¨1, norm_one.ge, not_mem_empty _β©
#align balanced_core_aux_empty balancedCoreAux_empty
+-/
+#print balancedCoreAux_subset /-
theorem balancedCoreAux_subset (s : Set E) : balancedCoreAux π s β s := fun x hx => by
simpa only [one_smul] using mem_balancedCoreAux_iff.1 hx 1 norm_one.ge
#align balanced_core_aux_subset balancedCoreAux_subset
+-/
+/- warning: balanced_core_aux_balanced -> balancedCoreAux_balanced is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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)))))))) (balancedCoreAux.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) -> (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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (balancedCoreAux.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) (balancedCoreAux.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{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} π _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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (balancedCoreAux.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))
+Case conversion may be inaccurate. Consider using '#align balanced_core_aux_balanced balancedCoreAux_balancedβ'. -/
theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
Balanced π (balancedCoreAux π s) :=
by
@@ -192,6 +268,7 @@ theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
rwa [smul_assoc, mem_inv_smul_set_iffβ h] at h'
#align balanced_core_aux_balanced balancedCoreAux_balanced
+#print balancedCoreAux_maximal /-
theorem balancedCoreAux_maximal (h : t β s) (ht : Balanced π t) : t β balancedCoreAux π s :=
by
refine' fun x hx => mem_balancedCoreAux_iff.2 fun r hr => _
@@ -200,19 +277,34 @@ theorem balancedCoreAux_maximal (h : t β s) (ht : Balanced π t) : t β bal
rw [norm_inv]
exact inv_le_one hr
#align balanced_core_aux_maximal balancedCoreAux_maximal
+-/
+#print balancedCore_subset_balancedCoreAux /-
theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCoreAux π s :=
balancedCoreAux_maximal (balancedCore_subset s) (balancedCore_balanced s)
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
+-/
+/- warning: balanced_core_eq_Inter -> balancedCore_eq_interα΅’ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (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) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.interα΅’.{u2, succ u1} E π (fun (r : π) => Set.interα΅’.{u2, 0} E (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) r)) (fun (hr : 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) r)) => SMul.smul.{u1, u2} π (Set.{u2} E) (Set.smulSet.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π E (MulZeroClass.toHasZero.{u1} π (MulZeroOneClass.toMulZeroClass.{u1} π (MonoidWithZero.toMulZeroOneClass.{u1} π (Semiring.toMonoidWithZero.{u1} π (Ring.toSemiring.{u1} π (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_2)))) (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_2)))) (Module.toMulActionWithZero.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) r s))))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) s) -> (Eq.{succ u2} (Set.{u2} E) (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s) (Set.interα΅’.{u2, succ u1} E π (fun (r : π) => Set.interα΅’.{u2, 0} E (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) (fun (hr : LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) r)) => 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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) r s))))
+Case conversion may be inaccurate. Consider using '#align balanced_core_eq_Inter balancedCore_eq_interα΅’β'. -/
theorem balancedCore_eq_interα΅’ (hs : (0 : E) β s) :
balancedCore π s = β (r : π) (hr : 1 β€ βrβ), r β’ s :=
by
refine' balanced_core_subset_balanced_core_aux.antisymm _
- refine' (balancedCoreAux_balanced _).subset_core_of_subset (balancedCoreAux_subset s)
+ refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
#align balanced_core_eq_Inter balancedCore_eq_interα΅’
+/- warning: subset_balanced_core -> subset_balancedCore is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (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)))))))) t) -> (forall (a : π), (LE.le.{0} Real Real.hasLe (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)))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) a s) t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s (balancedCore.{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_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} π _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} π _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} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (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_2))))))) t) -> (forall (a : π), (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} π (NormedField.toNorm.{u1} π _inst_1) a) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))))) a s) t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) s (balancedCore.{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_2))))) (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_2))))) (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_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) t))
+Case conversion may be inaccurate. Consider using '#align subset_balanced_core subset_balancedCoreβ'. -/
theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (ha : βaβ β€ 1), a β’ s β t) :
s β balancedCore π t := by
rw [balancedCore_eq_interα΅’ ht]
@@ -235,6 +327,7 @@ section Topology
variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] [TopologicalSpace E]
[ContinuousSMul π E] {U : Set E}
+#print IsClosed.balancedCore /-
protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCore π U) :=
by
by_cases h : (0 : E) β U
@@ -248,7 +341,14 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
contrapose! h
exact balanced_core_nonempty_iff.mp (Set.nonempty_iff_ne_empty.2 h)
#align is_closed.balanced_core IsClosed.balancedCore
+-/
+/- warning: balanced_core_mem_nhds_zero -> balancedCore_mem_nhds_zero 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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] {U : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) U (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) (balancedCore.{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)))) U) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))))
+but is expected to have type
+ forall {π : Type.{u1}} {E : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] {U : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) U (nhds.{u2} E _inst_4 (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_2))))))))) -> (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) (balancedCore.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) U) (nhds.{u2} E _inst_4 (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_2)))))))))
+Case conversion may be inaccurate. Consider using '#align balanced_core_mem_nhds_zero balancedCore_mem_nhds_zeroβ'. -/
theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π U β π (0 : E) :=
by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
@@ -273,6 +373,12 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
variable (π E)
+/- warning: nhds_basis_balanced -> nhds_basis_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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))) (fun (s : Set.{u2} E) => And (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) s (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (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)) (id.{succ u2} (Set.{u2} E))
+but is expected to have type
+ forall (π : Type.{u1}) (E : Type.{u2}) [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (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_2)))))))) (fun (s : Set.{u2} E) => And (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) s (nhds.{u2} E _inst_4 (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_2))))))))) (Balanced.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s)) (id.{succ u2} (Set.{u2} E))
+Case conversion may be inaccurate. Consider using '#align nhds_basis_balanced nhds_basis_balancedβ'. -/
theorem nhds_basis_balanced :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ Balanced π s) id :=
Filter.hasBasis_self.mpr fun s hs =>
@@ -280,6 +386,12 @@ theorem nhds_basis_balanced :
balancedCore_subset sβ©
#align nhds_basis_balanced nhds_basis_balanced
+/- warning: nhds_basis_closed_balanced -> nhds_basis_closed_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)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_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)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] [_inst_6 : RegularSpace.{u2} E _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2))))))))) (fun (s : Set.{u2} E) => And (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) s (nhds.{u2} E _inst_4 (OfNat.ofNat.{u2} E 0 (OfNat.mk.{u2} E 0 (Zero.zero.{u2} E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))))))) (And (IsClosed.{u2} E _inst_4 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)))) s))) (id.{succ u2} (Set.{u2} E))
+but is expected to have type
+ forall (π : Type.{u1}) (E : Type.{u2}) [_inst_1 : NontriviallyNormedField.{u1} π] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : TopologicalSpace.{u2} E] [_inst_5 : 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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) _inst_4] [_inst_6 : RegularSpace.{u2} E _inst_4], Filter.HasBasis.{u2, succ u2} E (Set.{u2} E) (nhds.{u2} E _inst_4 (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_2)))))))) (fun (s : Set.{u2} E) => And (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) s (nhds.{u2} E _inst_4 (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_2))))))))) (And (IsClosed.{u2} E _inst_4 s) (Balanced.{u1, u2} π E (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{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_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} π E (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π E (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π E (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) s))) (id.{succ u2} (Set.{u2} E))
+Case conversion may be inaccurate. Consider using '#align nhds_basis_closed_balanced nhds_basis_closed_balancedβ'. -/
theorem nhds_basis_closed_balanced [RegularSpace E] :
(π (0 : E)).HasBasis (fun s : Set E => s β π (0 : E) β§ IsClosed s β§ Balanced π s) id :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/2af0836443b4cfb5feda0df0051acdb398304931
@@ -50,9 +50,9 @@ variable {π E ΞΉ : Type _}
section balancedHull
-section SemiNormedRing
+section SeminormedRing
-variable [SemiNormedRing π]
+variable [SeminormedRing π]
section SMul
@@ -155,12 +155,12 @@ theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s)
simp_rw [balancedHull, smul_set_Unionβ, subset_def, mem_Unionβ]
rintro x β¨r, hr, hxβ©
rw [β smul_assoc] at hx
- exact β¨a β’ r, (SemiNormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
+ exact β¨a β’ r, (SeminormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
#align balanced_hull.balanced balancedHull.balanced
end Module
-end SemiNormedRing
+end SeminormedRing
section NormedField
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.
@@ -53,7 +53,7 @@ section SMul
variable (π) [SMul π E] {s t : Set E} {x : E}
-/-- The largest balanced subset of `s`.-/
+/-- The largest balanced subset of `s`. -/
def balancedCore (s : Set E) :=
ββ { t : Set E | Balanced π t β§ t β s }
#align balanced_core balancedCore
@@ -63,7 +63,7 @@ def balancedCoreAux (s : Set E) :=
β (r : π) (_ : 1 β€ βrβ), r β’ s
#align balanced_core_aux balancedCoreAux
-/-- The smallest balanced superset of `s`.-/
+/-- The smallest balanced superset of `s`. -/
def balancedHull (s : Set E) :=
β (r : π) (_ : βrβ β€ 1), r β’ s
#align balanced_hull balancedHull
@@ -95,7 +95,7 @@ theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s)
#align balanced_core_balanced balancedCore_balanced
/-- The balanced core of `t` is maximal in the sense that it contains any balanced subset
-`s` of `t`.-/
+`s` of `t`. -/
theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
s β balancedCore π t :=
subset_sUnion_of_mem β¨hs, hβ©
β x β s, _
instead of β (x) (_ : x β s), _
(#9184)
Search for [ββ].*(_
and manually replace some occurrences with more readable versions.
In case of β
, the new expressions are defeq to the old ones.
In case of β
, they differ by exists_prop
.
In some rare cases, golf proofs that needed fixing.
@@ -105,8 +105,8 @@ theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π,
mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
-theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π) (_ : βrβ β€ 1), x β r β’ s :=
- mem_iUnionβ
+theorem mem_balancedHull_iff : x β balancedHull π s β β r : π, βrβ β€ 1 β§ x β r β’ s := by
+ simp [balancedHull]
#align mem_balanced_hull_iff mem_balancedHull_iff
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
@@ -202,7 +202,7 @@ theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
#align balanced_core_eq_Inter balancedCore_eq_iInter
-theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (_ : βaβ β€ 1), a β’ s β t) :
+theorem subset_balancedCore (ht : (0 : E) β t) (hst : β a : π, βaβ β€ 1 β a β’ s β t) :
s β balancedCore π t := by
rw [balancedCore_eq_iInter ht]
refine' subset_iInterβ fun a ha => _
@@ -234,7 +234,7 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
exact isClosedMap_smul_of_ne_zero ha' U hU
Β· have : balancedCore π U = β
:= by
contrapose! h
- exact balancedCore_nonempty_iff.mp (Set.nonempty_iff_ne_empty.2 h)
+ exact balancedCore_nonempty_iff.mp h
rw [this]
exact isClosed_empty
#align is_closed.balanced_core IsClosed.balancedCore
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -41,7 +41,7 @@ balanced
open Set Pointwise Topology Filter
-variable {π E ΞΉ : Type _}
+variable {π E ΞΉ : Type*}
section balancedHull
@@ -2,14 +2,11 @@
Copyright (c) 2022 Moritz Doll. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Moritz Doll
-
-! This file was ported from Lean 3 source module analysis.locally_convex.balanced_core_hull
-! 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.LocallyConvex.Basic
+#align_import analysis.locally_convex.balanced_core_hull from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Balanced Core and Balanced Hull
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
@@ -177,7 +177,7 @@ theorem balancedCoreAux_balanced (h0 : (0 : E) β balancedCoreAux π s) :
rintro a ha x β¨y, hy, rflβ©
obtain rfl | h := eq_or_ne a 0
Β· simp_rw [zero_smul, h0]
- rw [mem_balancedCoreAux_iff] at hyβ’
+ rw [mem_balancedCoreAux_iff] at hy β’
intro r hr
have h'' : 1 β€ βaβ»ΒΉ β’ rβ := by
rw [norm_smul, norm_inv]
@@ -108,7 +108,7 @@ theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π,
mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
-theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(_ : βrβ β€ 1), x β r β’ s :=
+theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π) (_ : βrβ β€ 1), x β r β’ s :=
mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
@@ -244,7 +244,7 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π U β π (0 : E) := by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
- obtain β¨r, V, hr, hV, hrVUβ© : β (r : β)(V : Set E),
+ obtain β¨r, V, hr, hV, hrVUβ© : β (r : β) (V : Set E),
0 < r β§ V β π (0 : E) β§ β (c : π) (y : E), βcβ < r β y β V β c β’ y β U := by
have h : Filter.Tendsto (fun x : π Γ E => x.fst β’ x.snd) (π (0, 0)) (π 0) :=
continuous_smul.tendsto' (0, 0) _ (smul_zero _)
@@ -63,12 +63,12 @@ def balancedCore (s : Set E) :=
/-- Helper definition to prove `balanced_core_eq_iInter`-/
def balancedCoreAux (s : Set E) :=
- β (r : π) (_hr : 1 β€ βrβ), r β’ s
+ β (r : π) (_ : 1 β€ βrβ), r β’ s
#align balanced_core_aux balancedCoreAux
/-- The smallest balanced superset of `s`.-/
def balancedHull (s : Set E) :=
- β (r : π) (_hr : βrβ β€ 1), r β’ s
+ β (r : π) (_ : βrβ β€ 1), r β’ s
#align balanced_hull balancedHull
variable {π}
@@ -199,7 +199,7 @@ theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCo
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
- balancedCore π s = β (r : π) (_hr : 1 β€ βrβ), r β’ s := by
+ balancedCore π s = β (r : π) (_ : 1 β€ βrβ), r β’ s := by
refine' balancedCore_subset_balancedCoreAux.antisymm _
refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
fix-comments.py
on all files.@@ -253,7 +253,7 @@ theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π
rcases NormedField.exists_norm_lt π hr with β¨y, hyβ, hyrβ©
rw [norm_pos_iff] at hyβ
have : y β’ V β π (0 : E) := (set_smul_mem_nhds_zero_iff hyβ).mpr hV
- -- It remains to show that `y β’ V β balanced_core π U`
+ -- It remains to show that `y β’ V β balancedCore π U`
refine' Filter.mem_of_superset this (subset_balancedCore (mem_of_mem_nhds hU) fun a ha => _)
rw [smul_smul]
rintro _ β¨z, hz, rflβ©
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>
@@ -20,7 +20,7 @@ import Mathlib.Analysis.LocallyConvex.Basic
## Main statements
-* `balancedCore_eq_interα΅’`: Characterization of the balanced core as an intersection over subsets.
+* `balancedCore_eq_iInter`: Characterization of the balanced core as an intersection over subsets.
* `nhds_basis_closed_balanced`: The closed balanced sets form a basis of the neighborhood filter.
## Implementation details
@@ -30,7 +30,7 @@ of the union over all balanced sets that are contained in `s`, whereas for the h
union over `r β’ s`, for `r` the scalars with `βrβ β€ 1`. We show that `balancedHull` has the
defining properties of a hull in `Balanced.balancedHull_subset_of_subset` and `subset_balancedHull`.
For the core we need slightly stronger assumptions to obtain a characterization as an intersection,
-this is `balancedCore_eq_interα΅’`.
+this is `balancedCore_eq_iInter`.
## References
@@ -61,7 +61,7 @@ def balancedCore (s : Set E) :=
ββ { t : Set E | Balanced π t β§ t β s }
#align balanced_core balancedCore
-/-- Helper definition to prove `balanced_core_eq_interα΅’`-/
+/-- Helper definition to prove `balanced_core_eq_iInter`-/
def balancedCoreAux (s : Set E) :=
β (r : π) (_hr : 1 β€ βrβ), r β’ s
#align balanced_core_aux balancedCoreAux
@@ -74,7 +74,7 @@ def balancedHull (s : Set E) :=
variable {π}
theorem balancedCore_subset (s : Set E) : balancedCore π s β s :=
- unionβ_subset fun _ ht => ht.2
+ sUnion_subset fun _ ht => ht.2
#align balanced_core_subset balancedCore_subset
theorem balancedCore_empty : balancedCore π (β
: Set E) = β
:=
@@ -82,7 +82,7 @@ theorem balancedCore_empty : balancedCore π (β
: Set E) = β
:=
#align balanced_core_empty balancedCore_empty
theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced π t β§ t β s β§ x β t := by
- simp_rw [balancedCore, mem_unionβ, mem_setOf_eq, and_assoc]
+ simp_rw [balancedCore, mem_sUnion, mem_setOf_eq, and_assoc]
#align mem_balanced_core_iff mem_balancedCore_iff
theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
@@ -101,15 +101,15 @@ theorem balancedCore_balanced (s : Set E) : Balanced π (balancedCore π s)
`s` of `t`.-/
theorem Balanced.subset_balancedCore_of_subset (hs : Balanced π s) (h : s β t) :
s β balancedCore π t :=
- subset_unionβ_of_mem β¨hs, hβ©
+ subset_sUnion_of_mem β¨hs, hβ©
#align balanced.subset_core_of_subset Balanced.subset_balancedCore_of_subset
theorem mem_balancedCoreAux_iff : x β balancedCoreAux π s β β r : π, 1 β€ βrβ β x β r β’ s :=
- mem_interα΅’β
+ mem_iInterβ
#align mem_balanced_core_aux_iff mem_balancedCoreAux_iff
theorem mem_balancedHull_iff : x β balancedHull π s β β (r : π)(_ : βrβ β€ 1), x β r β’ s :=
- mem_unionα΅’β
+ mem_iUnionβ
#align mem_balanced_hull_iff mem_balancedHull_iff
/-- The balanced hull of `s` is minimal in the sense that it is contained in any balanced superset
@@ -148,7 +148,7 @@ variable {π}
theorem balancedHull.balanced (s : Set E) : Balanced π (balancedHull π s) := by
intro a ha
- simp_rw [balancedHull, smul_set_unionα΅’β, subset_def, mem_unionα΅’β]
+ simp_rw [balancedHull, smul_set_iUnionβ, subset_def, mem_iUnionβ]
rintro x β¨r, hr, hxβ©
rw [β smul_assoc] at hx
exact β¨a β’ r, (SeminormedRing.norm_mul _ _).trans (mul_le_one ha (norm_nonneg r) hr), hxβ©
@@ -164,7 +164,7 @@ variable [NormedField π] [AddCommGroup E] [Module π E] {s t : Set E}
@[simp]
theorem balancedCoreAux_empty : balancedCoreAux π (β
: Set E) = β
:= by
- simp_rw [balancedCoreAux, interα΅’β_eq_empty_iff, smul_set_empty]
+ simp_rw [balancedCoreAux, iInterβ_eq_empty_iff, smul_set_empty]
exact fun _ => β¨1, norm_one.ge, not_mem_empty _β©
#align balanced_core_aux_empty balancedCoreAux_empty
@@ -198,17 +198,17 @@ theorem balancedCore_subset_balancedCoreAux : balancedCore π s β balancedCo
balancedCoreAux_maximal (balancedCore_subset s) (balancedCore_balanced s)
#align balanced_core_subset_balanced_core_aux balancedCore_subset_balancedCoreAux
-theorem balancedCore_eq_interα΅’ (hs : (0 : E) β s) :
+theorem balancedCore_eq_iInter (hs : (0 : E) β s) :
balancedCore π s = β (r : π) (_hr : 1 β€ βrβ), r β’ s := by
refine' balancedCore_subset_balancedCoreAux.antisymm _
refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
-#align balanced_core_eq_Inter balancedCore_eq_interα΅’
+#align balanced_core_eq_Inter balancedCore_eq_iInter
theorem subset_balancedCore (ht : (0 : E) β t) (hst : β (a : π) (_ : βaβ β€ 1), a β’ s β t) :
s β balancedCore π t := by
- rw [balancedCore_eq_interα΅’ ht]
- refine' subset_interα΅’β fun a ha => _
+ rw [balancedCore_eq_iInter ht]
+ refine' subset_iInterβ fun a ha => _
rw [β smul_inv_smulβ (norm_pos_iff.mp <| zero_lt_one.trans_le ha) s]
refine' smul_set_mono (hst _ _)
rw [norm_inv]
@@ -229,9 +229,9 @@ variable [NontriviallyNormedField π] [AddCommGroup E] [Module π E] [Topolo
protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCore π U) := by
by_cases h : (0 : E) β U
- Β· rw [balancedCore_eq_interα΅’ h]
- refine' isClosed_interα΅’ fun a => _
- refine' isClosed_interα΅’ fun ha => _
+ Β· rw [balancedCore_eq_iInter h]
+ refine' isClosed_iInter fun a => _
+ refine' isClosed_iInter fun ha => _
have ha' := lt_of_lt_of_le zero_lt_one ha
rw [norm_pos_iff] at ha'
exact isClosedMap_smul_of_ne_zero ha' U hU
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -244,9 +244,8 @@ protected theorem IsClosed.balancedCore (hU : IsClosed U) : IsClosed (balancedCo
theorem balancedCore_mem_nhds_zero (hU : U β π (0 : E)) : balancedCore π U β π (0 : E) := by
-- Getting neighborhoods of the origin for `0 : π` and `0 : E`
- obtain β¨r, V, hr, hV, hrVUβ© :
- β (r : β)(V : Set E), 0 < r β§ V β π (0 : E) β§ β (c : π) (y : E), βcβ < r β y β V β c β’ y β U :=
- by
+ obtain β¨r, V, hr, hV, hrVUβ© : β (r : β)(V : Set E),
+ 0 < r β§ V β π (0 : E) β§ β (c : π) (y : E), βcβ < r β y β V β c β’ y β U := by
have h : Filter.Tendsto (fun x : π Γ E => x.fst β’ x.snd) (π (0, 0)) (π 0) :=
continuous_smul.tendsto' (0, 0) _ (smul_zero _)
simpa only [β Prod.exists', β Prod.forall', β and_imp, β and_assoc, exists_prop] using
closes #3680, see https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Stepping.20through.20simp_rw/near/326712986
@@ -82,7 +82,7 @@ theorem balancedCore_empty : balancedCore π (β
: Set E) = β
:=
#align balanced_core_empty balancedCore_empty
theorem mem_balancedCore_iff : x β balancedCore π s β β t, Balanced π t β§ t β s β§ x β t := by
- simp_rw [balancedCore, mem_unionβ, mem_setOf_eq, exists_prop, and_assoc]
+ simp_rw [balancedCore, mem_unionβ, mem_setOf_eq, and_assoc]
#align mem_balanced_core_iff mem_balancedCore_iff
theorem smul_balancedCore_subset (s : Set E) {a : π} (ha : βaβ β€ 1) :
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