analysis.calculus.tangent_cone
β·
Mathlib.Analysis.Calculus.TangentCone
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
@@ -221,8 +221,8 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (j Β«expr β Β» i) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (j Β«expr β Β» i) -/
#print mapsTo_tangentCone_pi /-
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -131,7 +131,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
have A : tendsto (fun n => βc nββ»ΒΉ) l (π 0) := tendsto_inv_at_top_zero.comp hc
have B : tendsto (fun n => βc n β’ d nβ) l (π βyβ) := (continuous_norm.tendsto _).comp hd
have C : tendsto (fun n => βc nββ»ΒΉ * βc n β’ d nβ) l (π (0 * βyβ)) := A.mul B
- rw [MulZeroClass.zero_mul] at C
+ rw [MulZeroClass.zero_mul] at C
have : βαΆ n in l, βc nββ»ΒΉ * βc n β’ d nβ = βd nβ :=
by
apply (eventually_ne_of_tendsto_norm_atTop hc 0).mono fun n hn => _
@@ -416,7 +416,7 @@ theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt
have : _ β€ Submodule.span π (tangentConeAt π (s ΓΛ’ t) (x, y)) :=
Submodule.span_mono
(union_subset (subset_tangentCone_prod_left ht.2) (subset_tangentCone_prod_right hs.2))
- rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
+ rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
exact (hs.1.Prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -191,7 +191,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
simp [hn, (hd' n).1]
Β· apply tendsto.prod_mk_nhds hy _
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
-/
@@ -217,7 +217,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
simp [hn, (hd' n).1]
Β· apply tendsto.prod_mk_nhds _ hy
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/
@@ -248,7 +248,7 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
Β· simp [hy]
Β· suffices tendsto (fun n => c n β’ d' n j) at_top (π 0) by simpa [hj]
refine' squeeze_zero_norm (fun n => (hcd' n j hj).le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align maps_to_tangent_cone_pi mapsTo_tangentCone_pi
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -426,6 +426,12 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
+ simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
+ refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
+ norm_cast
+ simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
+ maps_to']
+ exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
-/
@@ -433,7 +439,11 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
- UniqueDiffWithinAt π (Set.pi I s) x := by classical
+ UniqueDiffWithinAt π (Set.pi I s) x := by
+ classical
+ rw [β Set.univ_pi_piecewise_univ]
+ refine' UniqueDiffWithinAt.univ_pi _ _ _ _ fun i => _
+ by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -426,12 +426,6 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
- simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
- refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
- norm_cast
- simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
- maps_to']
- exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
-/
@@ -439,11 +433,7 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
- UniqueDiffWithinAt π (Set.pi I s) x := by
- classical
- rw [β Set.univ_pi_piecewise_univ]
- refine' UniqueDiffWithinAt.univ_pi _ _ _ _ fun i => _
- by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
+ UniqueDiffWithinAt π (Set.pi I s) x := by classical
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2019 SΓ©bastien GouΓ«zel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: SΓ©bastien GouΓ«zel
-/
-import Mathbin.Analysis.Convex.Topology
-import Mathbin.Analysis.NormedSpace.Basic
-import Mathbin.Analysis.SpecificLimits.Basic
+import Analysis.Convex.Topology
+import Analysis.NormedSpace.Basic
+import Analysis.SpecificLimits.Basic
#align_import analysis.calculus.tangent_cone from "leanprover-community/mathlib"@"2ed2c6310e6f1c5562bdf6bfbda55ebbf6891abe"
@@ -221,8 +221,8 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (j Β«expr β Β» i) -/
#print mapsTo_tangentCone_pi /-
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2019 SΓ©bastien GouΓ«zel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: SΓ©bastien GouΓ«zel
-
-! This file was ported from Lean 3 source module analysis.calculus.tangent_cone
-! leanprover-community/mathlib commit 2ed2c6310e6f1c5562bdf6bfbda55ebbf6891abe
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.Convex.Topology
import Mathbin.Analysis.NormedSpace.Basic
import Mathbin.Analysis.SpecificLimits.Basic
+#align_import analysis.calculus.tangent_cone from "leanprover-community/mathlib"@"2ed2c6310e6f1c5562bdf6bfbda55ebbf6891abe"
+
/-!
# Tangent cone
@@ -224,8 +221,8 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
#print mapsTo_tangentCone_pi /-
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -124,6 +124,7 @@ theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeA
#align tangent_cone_mono tangentCone_mono
-/
+#print tangentConeAt.lim_zero /-
/-- Auxiliary lemma ensuring that, under the assumptions defining the tangent cone,
the sequence `d` tends to 0 at infinity. -/
theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {d : Ξ± β E}
@@ -143,7 +144,9 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
rw [tendsto_zero_iff_norm_tendsto_zero]
exact D
#align tangent_cone_at.lim_zero tangentConeAt.lim_zero
+-/
+#print tangentCone_mono_nhds /-
theorem tangentCone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt π s x β tangentConeAt π t x :=
by
rintro y β¨c, d, ds, ctop, climβ©
@@ -153,6 +156,7 @@ theorem tangentCone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt π
refine' (tendsto_inf.2 β¨_, tendsto_principal.2 dsβ©).mono_right h
simpa only [add_zero] using tendsto_const_nhds.add (tangentConeAt.lim_zero at_top Ctop clim)
#align tangent_cone_mono_nhds tangentCone_mono_nhds
+-/
#print tangentCone_congr /-
/-- Tangent cone of `s` at `x` depends only on `π[s] x`. -/
@@ -161,13 +165,16 @@ theorem tangentCone_congr (h : π[s] x = π[t] x) : tangentConeAt π s x =
#align tangent_cone_congr tangentCone_congr
-/
+#print tangentCone_inter_nhds /-
/-- Intersecting with a neighborhood of the point does not change the tangent cone. -/
theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t) x = tangentConeAt π s x :=
tangentCone_congr (nhdsWithin_restrict' _ ht).symm
#align tangent_cone_inter_nhds tangentCone_inter_nhds
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print subset_tangentCone_prod_left /-
/-- The tangent cone of a product contains the tangent cone of its left factor. -/
theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t) :
LinearMap.inl π E F '' tangentConeAt π s x β tangentConeAt π (s ΓΛ’ t) (x, y) :=
@@ -189,9 +196,11 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print subset_tangentCone_prod_right /-
/-- The tangent cone of a product contains the tangent cone of its right factor. -/
theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s) :
LinearMap.inr π E F '' tangentConeAt π t y β tangentConeAt π (s ΓΛ’ t) (x, y) :=
@@ -213,9 +222,11 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
+-/
/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+#print mapsTo_tangentCone_pi /-
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
@@ -242,7 +253,9 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
refine' squeeze_zero_norm (fun n => (hcd' n j hj).le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align maps_to_tangent_cone_pi mapsTo_tangentCone_pi
+-/
+#print mem_tangentCone_of_openSegment_subset /-
/-- If a subset of a real vector space contains an open segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSegment β x y β s) :
@@ -271,13 +284,16 @@ theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSeg
rw [this]
apply tendsto_const_nhds
#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subset
+-/
+#print mem_tangentCone_of_segment_subset /-
/-- If a subset of a real vector space contains a segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
theorem mem_tangentCone_of_segment_subset {s : Set G} {x y : G} (h : segment β x y β s) :
y - x β tangentConeAt β s x :=
mem_tangentCone_of_openSegment_subset ((openSegment_subset_segment β x y).trans h)
#align mem_tangent_cone_of_segment_subset mem_tangentCone_of_segment_subset
+-/
end TangentCone
@@ -297,16 +313,23 @@ theorem UniqueDiffOn.uniqueDiffWithinAt {s : Set E} {x} (hs : UniqueDiffOn π
#align unique_diff_on.unique_diff_within_at UniqueDiffOn.uniqueDiffWithinAt
-/
+#print uniqueDiffWithinAt_univ /-
theorem uniqueDiffWithinAt_univ : UniqueDiffWithinAt π univ x := by
rw [uniqueDiffWithinAt_iff, tangentCone_univ]; simp
#align unique_diff_within_at_univ uniqueDiffWithinAt_univ
+-/
+#print uniqueDiffOn_univ /-
theorem uniqueDiffOn_univ : UniqueDiffOn π (univ : Set E) := fun x hx => uniqueDiffWithinAt_univ
#align unique_diff_on_univ uniqueDiffOn_univ
+-/
+#print uniqueDiffOn_empty /-
theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) := fun x hx => hx.elim
#align unique_diff_on_empty uniqueDiffOn_empty
+-/
+#print UniqueDiffWithinAt.mono_nhds /-
theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st : π[s] x β€ π[t] x) :
UniqueDiffWithinAt π t x :=
by
@@ -314,11 +337,14 @@ theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st :
rw [mem_closure_iff_nhdsWithin_neBot] at h β’
exact β¨h.1.mono <| Submodule.span_mono <| tangentCone_mono_nhds st, h.2.mono stβ©
#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhds
+-/
+#print UniqueDiffWithinAt.mono /-
theorem UniqueDiffWithinAt.mono (h : UniqueDiffWithinAt π s x) (st : s β t) :
UniqueDiffWithinAt π t x :=
h.mono_nhds <| nhdsWithin_mono _ st
#align unique_diff_within_at.mono UniqueDiffWithinAt.mono
+-/
#print uniqueDiffWithinAt_congr /-
theorem uniqueDiffWithinAt_congr (st : π[s] x = π[t] x) :
@@ -327,25 +353,33 @@ theorem uniqueDiffWithinAt_congr (st : π[s] x = π[t] x) :
#align unique_diff_within_at_congr uniqueDiffWithinAt_congr
-/
+#print uniqueDiffWithinAt_inter /-
theorem uniqueDiffWithinAt_inter (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict' _ ht).symm
#align unique_diff_within_at_inter uniqueDiffWithinAt_inter
+-/
+#print UniqueDiffWithinAt.inter /-
theorem UniqueDiffWithinAt.inter (hs : UniqueDiffWithinAt π s x) (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter ht).2 hs
#align unique_diff_within_at.inter UniqueDiffWithinAt.inter
+-/
+#print uniqueDiffWithinAt_inter' /-
theorem uniqueDiffWithinAt_inter' (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict'' _ ht).symm
#align unique_diff_within_at_inter' uniqueDiffWithinAt_inter'
+-/
+#print UniqueDiffWithinAt.inter' /-
theorem UniqueDiffWithinAt.inter' (hs : UniqueDiffWithinAt π s x) (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter' ht).2 hs
#align unique_diff_within_at.inter' UniqueDiffWithinAt.inter'
+-/
#print uniqueDiffWithinAt_of_mem_nhds /-
theorem uniqueDiffWithinAt_of_mem_nhds (h : s β π x) : UniqueDiffWithinAt π s x := by
@@ -359,9 +393,11 @@ theorem IsOpen.uniqueDiffWithinAt (hs : IsOpen s) (xs : x β s) : UniqueDiffWit
#align is_open.unique_diff_within_at IsOpen.uniqueDiffWithinAt
-/
+#print UniqueDiffOn.inter /-
theorem UniqueDiffOn.inter (hs : UniqueDiffOn π s) (ht : IsOpen t) : UniqueDiffOn π (s β© t) :=
fun x hx => (hs x hx.1).inter (IsOpen.mem_nhds ht hx.2)
#align unique_diff_on.inter UniqueDiffOn.inter
+-/
#print IsOpen.uniqueDiffOn /-
theorem IsOpen.uniqueDiffOn (hs : IsOpen s) : UniqueDiffOn π s := fun x hx =>
@@ -371,6 +407,7 @@ theorem IsOpen.uniqueDiffOn (hs : IsOpen s) : UniqueDiffOn π s := fun x hx =>
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print UniqueDiffWithinAt.prod /-
/-- The product of two sets of unique differentiability at points `x` and `y` has unique
differentiability at `(x, y)`. -/
theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt π s x)
@@ -385,7 +422,9 @@ theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt
rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
exact (hs.1.Prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
+-/
+#print UniqueDiffWithinAt.univ_pi /-
theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
@@ -397,7 +436,9 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
maps_to']
exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
+-/
+#print UniqueDiffWithinAt.pi /-
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
@@ -407,13 +448,17 @@ theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
refine' UniqueDiffWithinAt.univ_pi _ _ _ _ fun i => _
by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print UniqueDiffOn.prod /-
/-- The product of two sets of unique differentiability is a set of unique differentiability. -/
theorem UniqueDiffOn.prod {t : Set F} (hs : UniqueDiffOn π s) (ht : UniqueDiffOn π t) :
UniqueDiffOn π (s ΓΛ’ t) := fun β¨x, yβ© h => UniqueDiffWithinAt.prod (hs x h.1) (ht y h.2)
#align unique_diff_on.prod UniqueDiffOn.prod
+-/
+#print UniqueDiffOn.pi /-
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, NormedAddCommGroup (E i)]
@@ -421,7 +466,9 @@ theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, No
(h : β i β I, UniqueDiffOn π (s i)) : UniqueDiffOn π (Set.pi I s) := fun x hx =>
UniqueDiffWithinAt.pi _ _ _ _ _ fun i hi => h i hi (x i) (hx i hi)
#align unique_diff_on.pi UniqueDiffOn.pi
+-/
+#print UniqueDiffOn.univ_pi /-
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
@@ -429,6 +476,7 @@ theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
(h : β i, UniqueDiffOn π (s i)) : UniqueDiffOn π (Set.pi univ s) :=
UniqueDiffOn.pi _ _ _ _ fun i _ => h i
#align unique_diff_on.univ_pi UniqueDiffOn.univ_pi
+-/
#print uniqueDiffWithinAt_convex /-
/-- In a real vector space, a convex set with nonempty interior is a set of unique
@@ -483,9 +531,11 @@ theorem uniqueDiffOn_Iio (a : β) : UniqueDiffOn β (Iio a) :=
#align unique_diff_on_Iio uniqueDiffOn_Iio
-/
+#print uniqueDiffOn_Icc /-
theorem uniqueDiffOn_Icc {a b : β} (hab : a < b) : UniqueDiffOn β (Icc a b) :=
uniqueDiffOn_convex (convex_Icc a b) <| by simp only [interior_Icc, nonempty_Ioo, hab]
#align unique_diff_on_Icc uniqueDiffOn_Icc
+-/
#print uniqueDiffOn_Ico /-
theorem uniqueDiffOn_Ico (a b : β) : UniqueDiffOn β (Ico a b) :=
@@ -509,10 +559,12 @@ theorem uniqueDiffOn_Ioo (a b : β) : UniqueDiffOn β (Ioo a b) :=
#align unique_diff_on_Ioo uniqueDiffOn_Ioo
-/
+#print uniqueDiffOn_Icc_zero_one /-
/-- The real interval `[0, 1]` is a set of unique differentiability. -/
theorem uniqueDiffOn_Icc_zero_one : UniqueDiffOn β (Icc (0 : β) 1) :=
uniqueDiffOn_Icc zero_lt_one
#align unique_diff_on_Icc_zero_one uniqueDiffOn_Icc_zero_one
+-/
#print uniqueDiffWithinAt_Ioo /-
theorem uniqueDiffWithinAt_Ioo {a b t : β} (ht : t β Set.Ioo a b) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/31c24aa72e7b3e5ed97a8412470e904f82b81004
@@ -214,8 +214,8 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -52,10 +52,10 @@ variable {E : Type _} [AddCommMonoid E] [Module π E] [TopologicalSpace E]
#print tangentConeAt /-
/-- The set of all tangent directions to the set `s` at the point `x`. -/
def tangentConeAt (s : Set E) (x : E) : Set E :=
- { y : E |
+ {y : E |
β (c : β β π) (d : β β E),
(βαΆ n in atTop, x + d n β s) β§
- Tendsto (fun n => βc nβ) atTop atTop β§ Tendsto (fun n => c n β’ d n) atTop (π y) }
+ Tendsto (fun n => βc nβ) atTop atTop β§ Tendsto (fun n => c n β’ d n) atTop (π y)}
#align tangent_cone_at tangentConeAt
-/
@@ -183,7 +183,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
choose d' hd' using this
refine' β¨c, fun n => (d n, d' n), _, hc, _β©
show βαΆ n in at_top, (x, y) + (d n, d' n) β s ΓΛ’ t
- Β· filter_upwards [hd]with n hn
+ Β· filter_upwards [hd] with n hn
simp [hn, (hd' n).1]
Β· apply tendsto.prod_mk_nhds hy _
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
@@ -207,7 +207,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
choose d' hd' using this
refine' β¨c, fun n => (d' n, d n), _, hc, _β©
show βαΆ n in at_top, (x, y) + (d' n, d n) β s ΓΛ’ t
- Β· filter_upwards [hd]with n hn
+ Β· filter_upwards [hd] with n hn
simp [hn, (hd' n).1]
Β· apply tendsto.prod_mk_nhds _ hy
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
@@ -390,12 +390,12 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
- simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
- refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
- norm_cast
- simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
- maps_to']
- exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
+ simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
+ refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
+ norm_cast
+ simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
+ maps_to']
+ exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
@@ -403,9 +403,9 @@ theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
UniqueDiffWithinAt π (Set.pi I s) x := by
classical
- rw [β Set.univ_pi_piecewise_univ]
- refine' UniqueDiffWithinAt.univ_pi _ _ _ _ fun i => _
- by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
+ rw [β Set.univ_pi_piecewise_univ]
+ refine' UniqueDiffWithinAt.univ_pi _ _ _ _ fun i => _
+ by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -53,7 +53,7 @@ variable {E : Type _} [AddCommMonoid E] [Module π E] [TopologicalSpace E]
/-- The set of all tangent directions to the set `s` at the point `x`. -/
def tangentConeAt (s : Set E) (x : E) : Set E :=
{ y : E |
- β (c : β β π)(d : β β E),
+ β (c : β β π) (d : β β E),
(βαΆ n in atTop, x + d n β s) β§
Tendsto (fun n => βc nβ) atTop atTop β§ Tendsto (fun n => c n β’ d n) atTop (π y) }
#align tangent_cone_at tangentConeAt
@@ -133,7 +133,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
have A : tendsto (fun n => βc nββ»ΒΉ) l (π 0) := tendsto_inv_at_top_zero.comp hc
have B : tendsto (fun n => βc n β’ d nβ) l (π βyβ) := (continuous_norm.tendsto _).comp hd
have C : tendsto (fun n => βc nββ»ΒΉ * βc n β’ d nβ) l (π (0 * βyβ)) := A.mul B
- rw [MulZeroClass.zero_mul] at C
+ rw [MulZeroClass.zero_mul] at C
have : βαΆ n in l, βc nββ»ΒΉ * βc n β’ d nβ = βd nβ :=
by
apply (eventually_ne_of_tendsto_norm_atTop hc 0).mono fun n hn => _
@@ -311,7 +311,7 @@ theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st :
UniqueDiffWithinAt π t x :=
by
simp only [uniqueDiffWithinAt_iff] at *
- rw [mem_closure_iff_nhdsWithin_neBot] at hβ’
+ rw [mem_closure_iff_nhdsWithin_neBot] at h β’
exact β¨h.1.mono <| Submodule.span_mono <| tangentCone_mono_nhds st, h.2.mono stβ©
#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhds
@@ -376,13 +376,13 @@ differentiability at `(x, y)`. -/
theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt π s x)
(ht : UniqueDiffWithinAt π t y) : UniqueDiffWithinAt π (s ΓΛ’ t) (x, y) :=
by
- rw [uniqueDiffWithinAt_iff] at hs htβ’
+ rw [uniqueDiffWithinAt_iff] at hs ht β’
rw [closure_prod_eq]
refine' β¨_, hs.2, ht.2β©
have : _ β€ Submodule.span π (tangentConeAt π (s ΓΛ’ t) (x, y)) :=
Submodule.span_mono
(union_subset (subset_tangentCone_prod_left ht.2) (subset_tangentCone_prod_right hs.2))
- rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
+ rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
exact (hs.1.Prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
@@ -390,7 +390,7 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
- simp only [uniqueDiffWithinAt_iff, closure_pi_set] at hβ’
+ simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
norm_cast
simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -43,7 +43,7 @@ variable (π : Type _) [NontriviallyNormedField π]
open Filter Set
-open Topology
+open scoped Topology
section TangentCone
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -124,9 +124,6 @@ theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeA
#align tangent_cone_mono tangentCone_mono
-/
-/- warning: tangent_cone_at.lim_zero -> tangentConeAt.lim_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align tangent_cone_at.lim_zero tangentConeAt.lim_zeroβ'. -/
/-- Auxiliary lemma ensuring that, under the assumptions defining the tangent cone,
the sequence `d` tends to 0 at infinity. -/
theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {d : Ξ± β E}
@@ -147,12 +144,6 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
exact D
#align tangent_cone_at.lim_zero tangentConeAt.lim_zero
-/- warning: tangent_cone_mono_nhds -> tangentCone_mono_nhds is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toHasLe.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.instPartialOrderFilter.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
-Case conversion may be inaccurate. Consider using '#align tangent_cone_mono_nhds tangentCone_mono_nhdsβ'. -/
theorem tangentCone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt π s x β tangentConeAt π t x :=
by
rintro y β¨c, d, ds, ctop, climβ©
@@ -170,20 +161,11 @@ theorem tangentCone_congr (h : π[s] x = π[t] x) : tangentConeAt π s x =
#align tangent_cone_congr tangentCone_congr
-/
-/- warning: tangent_cone_inter_nhds -> tangentCone_inter_nhds is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Eq.{succ u2} (Set.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Eq.{succ u2} (Set.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-Case conversion may be inaccurate. Consider using '#align tangent_cone_inter_nhds tangentCone_inter_nhdsβ'. -/
/-- Intersecting with a neighborhood of the point does not change the tangent cone. -/
theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t) x = tangentConeAt π s x :=
tangentCone_congr (nhdsWithin_restrict' _ ht).symm
#align tangent_cone_inter_nhds tangentCone_inter_nhds
-/- warning: subset_tangent_cone_prod_left -> subset_tangentCone_prod_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_left subset_tangentCone_prod_leftβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The tangent cone of a product contains the tangent cone of its left factor. -/
@@ -208,9 +190,6 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
-/- warning: subset_tangent_cone_prod_right -> subset_tangentCone_prod_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_right subset_tangentCone_prod_rightβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The tangent cone of a product contains the tangent cone of its right factor. -/
@@ -235,9 +214,6 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
-/- warning: maps_to_tangent_cone_pi -> mapsTo_tangentCone_pi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align maps_to_tangent_cone_pi mapsTo_tangentCone_piβ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/-- The tangent cone of a product contains the tangent cone of each factor. -/
@@ -267,12 +243,6 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align maps_to_tangent_cone_pi mapsTo_tangentCone_pi
-/- warning: mem_tangent_cone_of_open_segment_subset -> mem_tangentCone_of_openSegment_subset is a dubious translation:
-lean 3 declaration is
- forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.hasSubset.{u1} G) (openSegment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toHasSmul.{0, u1} Real G (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real G (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))) (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6))) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.Mem.{u1, u1} G (Set.{u1} G) (Set.hasMem.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toHasSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
-but is expected to have type
- forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.instHasSubsetSet.{u1} G) (openSegment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toSMul.{0, u1} Real G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real G Real.instZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G Real.semiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.mem.{u1, u1} G (Set.{u1} G) (Set.instMembershipSet.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
-Case conversion may be inaccurate. Consider using '#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subsetβ'. -/
/-- If a subset of a real vector space contains an open segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSegment β x y β s) :
@@ -302,12 +272,6 @@ theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSeg
apply tendsto_const_nhds
#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subset
-/- warning: mem_tangent_cone_of_segment_subset -> mem_tangentCone_of_segment_subset is a dubious translation:
-lean 3 declaration is
- forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.hasSubset.{u1} G) (segment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toHasSmul.{0, u1} Real G (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real G (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))) (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6))) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.Mem.{u1, u1} G (Set.{u1} G) (Set.hasMem.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toHasSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
-but is expected to have type
- forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.instHasSubsetSet.{u1} G) (segment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toSMul.{0, u1} Real G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real G Real.instZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G Real.semiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.mem.{u1, u1} G (Set.{u1} G) (Set.instMembershipSet.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
-Case conversion may be inaccurate. Consider using '#align mem_tangent_cone_of_segment_subset mem_tangentCone_of_segment_subsetβ'. -/
/-- If a subset of a real vector space contains a segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
theorem mem_tangentCone_of_segment_subset {s : Set G} {x y : G} (h : segment β x y β s) :
@@ -333,40 +297,16 @@ theorem UniqueDiffOn.uniqueDiffWithinAt {s : Set E} {x} (hs : UniqueDiffOn π
#align unique_diff_on.unique_diff_within_at UniqueDiffOn.uniqueDiffWithinAt
-/
-/- warning: unique_diff_within_at_univ -> uniqueDiffWithinAt_univ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E}, UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Set.univ.{u2} E) x
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E}, UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Set.univ.{u1} E) x
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_univ uniqueDiffWithinAt_univβ'. -/
theorem uniqueDiffWithinAt_univ : UniqueDiffWithinAt π univ x := by
rw [uniqueDiffWithinAt_iff, tangentCone_univ]; simp
#align unique_diff_within_at_univ uniqueDiffWithinAt_univ
-/- warning: unique_diff_on_univ -> uniqueDiffOn_univ is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)], UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Set.univ.{u2} E)
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)], UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Set.univ.{u1} E)
-Case conversion may be inaccurate. Consider using '#align unique_diff_on_univ uniqueDiffOn_univβ'. -/
theorem uniqueDiffOn_univ : UniqueDiffOn π (univ : Set E) := fun x hx => uniqueDiffWithinAt_univ
#align unique_diff_on_univ uniqueDiffOn_univ
-/- warning: unique_diff_on_empty -> uniqueDiffOn_empty is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)], UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)], UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on_empty uniqueDiffOn_emptyβ'. -/
theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) := fun x hx => hx.elim
#align unique_diff_on_empty uniqueDiffOn_empty
-/- warning: unique_diff_within_at.mono_nhds -> UniqueDiffWithinAt.mono_nhds is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (LE.le.{u2} (Filter.{u2} E) (Preorder.toHasLe.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (LE.le.{u1} (Filter.{u1} E) (Preorder.toLE.{u1} (Filter.{u1} E) (PartialOrder.toPreorder.{u1} (Filter.{u1} E) (Filter.instPartialOrderFilter.{u1} E))) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x s) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhdsβ'. -/
theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st : π[s] x β€ π[t] x) :
UniqueDiffWithinAt π t x :=
by
@@ -375,12 +315,6 @@ theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st :
exact β¨h.1.mono <| Submodule.span_mono <| tangentCone_mono_nhds st, h.2.mono stβ©
#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhds
-/- warning: unique_diff_within_at.mono -> UniqueDiffWithinAt.mono is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.mono UniqueDiffWithinAt.monoβ'. -/
theorem UniqueDiffWithinAt.mono (h : UniqueDiffWithinAt π s x) (st : s β t) :
UniqueDiffWithinAt π t x :=
h.mono_nhds <| nhdsWithin_mono _ st
@@ -393,45 +327,21 @@ theorem uniqueDiffWithinAt_congr (st : π[s] x = π[t] x) :
#align unique_diff_within_at_congr uniqueDiffWithinAt_congr
-/
-/- warning: unique_diff_within_at_inter -> uniqueDiffWithinAt_inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_inter uniqueDiffWithinAt_interβ'. -/
theorem uniqueDiffWithinAt_inter (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict' _ ht).symm
#align unique_diff_within_at_inter uniqueDiffWithinAt_inter
-/- warning: unique_diff_within_at.inter -> UniqueDiffWithinAt.inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x)
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (Membership.mem.{u1, u1} (Set.{u1} E) (Filter.{u1} E) (instMembershipSetFilter.{u1} E) t (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.inter UniqueDiffWithinAt.interβ'. -/
theorem UniqueDiffWithinAt.inter (hs : UniqueDiffWithinAt π s x) (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter ht).2 hs
#align unique_diff_within_at.inter UniqueDiffWithinAt.inter
-/- warning: unique_diff_within_at_inter' -> uniqueDiffWithinAt_inter' is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_inter' uniqueDiffWithinAt_inter'β'. -/
theorem uniqueDiffWithinAt_inter' (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict'' _ ht).symm
#align unique_diff_within_at_inter' uniqueDiffWithinAt_inter'
-/- warning: unique_diff_within_at.inter' -> UniqueDiffWithinAt.inter' is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x)
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (Membership.mem.{u1, u1} (Set.{u1} E) (Filter.{u1} E) (instMembershipSetFilter.{u1} E) t (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x s)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.inter' UniqueDiffWithinAt.inter'β'. -/
theorem UniqueDiffWithinAt.inter' (hs : UniqueDiffWithinAt π s x) (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter' ht).2 hs
@@ -449,12 +359,6 @@ theorem IsOpen.uniqueDiffWithinAt (hs : IsOpen s) (xs : x β s) : UniqueDiffWit
#align is_open.unique_diff_within_at IsOpen.uniqueDiffWithinAt
-/
-/- warning: unique_diff_on.inter -> UniqueDiffOn.inter is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s) -> (IsOpen.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t) -> (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s) -> (IsOpen.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t) -> (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on.inter UniqueDiffOn.interβ'. -/
theorem UniqueDiffOn.inter (hs : UniqueDiffOn π s) (ht : IsOpen t) : UniqueDiffOn π (s β© t) :=
fun x hx => (hs x hx.1).inter (IsOpen.mem_nhds ht hx.2)
#align unique_diff_on.inter UniqueDiffOn.inter
@@ -465,12 +369,6 @@ theorem IsOpen.uniqueDiffOn (hs : IsOpen s) : UniqueDiffOn π s := fun x hx =>
#align is_open.unique_diff_on IsOpen.uniqueDiffOn
-/
-/- warning: unique_diff_within_at.prod -> UniqueDiffWithinAt.prod is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (UniqueDiffWithinAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y))
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u1} E} {t : Set.{u3} F} {y : F}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (UniqueDiffWithinAt.{u2, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y) -> (UniqueDiffWithinAt.{u2, max u3 u1} π _inst_1 (Prod.{u1, u3} E F) (Prod.instAddCommMonoidSum.{u1, u3} E F (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u2, u1, u3} π E F (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u1, u3} E F (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u1, u3} E F s t) (Prod.mk.{u1, u3} E F x y))
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.prod UniqueDiffWithinAt.prodβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The product of two sets of unique differentiability at points `x` and `y` has unique
@@ -488,12 +386,6 @@ theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt
exact (hs.1.Prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
-/- warning: unique_diff_within_at.univ_pi -> UniqueDiffWithinAt.univ_pi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (x : forall (i : ΞΉ), E i), (forall (i : ΞΉ), UniqueDiffWithinAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x)
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (x : forall (i : ΞΉ), E i), (forall (i : ΞΉ), UniqueDiffWithinAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_piβ'. -/
theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
@@ -506,12 +398,6 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
-/- warning: unique_diff_within_at.pi -> UniqueDiffWithinAt.pi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (x : forall (i : ΞΉ), E i) (I : Set.{u2} ΞΉ), (forall (i : ΞΉ), (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i I) -> (UniqueDiffWithinAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i))) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) I s) x)
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (x : forall (i : ΞΉ), E i) (I : Set.{u3} ΞΉ), (forall (i : ΞΉ), (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i I) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i))) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) I s) x)
-Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.pi UniqueDiffWithinAt.piβ'. -/
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
@@ -522,24 +408,12 @@ theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
-/- warning: unique_diff_on.prod -> UniqueDiffOn.prod is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {s : Set.{u2} E} {t : Set.{u3} F}, (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s) -> (UniqueDiffOn.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t))
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {s : Set.{u1} E} {t : Set.{u3} F}, (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s) -> (UniqueDiffOn.{u2, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t) -> (UniqueDiffOn.{u2, max u3 u1} π _inst_1 (Prod.{u1, u3} E F) (Prod.instAddCommMonoidSum.{u1, u3} E F (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u2, u1, u3} π E F (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u1, u3} E F (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u1, u3} E F s t))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on.prod UniqueDiffOn.prodβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The product of two sets of unique differentiability is a set of unique differentiability. -/
theorem UniqueDiffOn.prod {t : Set F} (hs : UniqueDiffOn π s) (ht : UniqueDiffOn π t) :
UniqueDiffOn π (s ΓΛ’ t) := fun β¨x, yβ© h => UniqueDiffWithinAt.prod (hs x h.1) (ht y h.2)
#align unique_diff_on.prod UniqueDiffOn.prod
-/- warning: unique_diff_on.pi -> UniqueDiffOn.pi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (I : Set.{u2} ΞΉ), (forall (i : ΞΉ), (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i I) -> (UniqueDiffOn.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i))) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) I s))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (I : Set.{u3} ΞΉ), (forall (i : ΞΉ), (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i I) -> (UniqueDiffOn.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i))) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) I s))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on.pi UniqueDiffOn.piβ'. -/
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, NormedAddCommGroup (E i)]
@@ -548,12 +422,6 @@ theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, No
UniqueDiffWithinAt.pi _ _ _ _ _ fun i hi => h i hi (x i) (hx i hi)
#align unique_diff_on.pi UniqueDiffOn.pi
-/- warning: unique_diff_on.univ_pi -> UniqueDiffOn.univ_pi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)), (forall (i : ΞΉ), UniqueDiffOn.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i)) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)), (forall (i : ΞΉ), UniqueDiffOn.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i)) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on.univ_pi UniqueDiffOn.univ_piβ'. -/
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
@@ -615,12 +483,6 @@ theorem uniqueDiffOn_Iio (a : β) : UniqueDiffOn β (Iio a) :=
#align unique_diff_on_Iio uniqueDiffOn_Iio
-/
-/- warning: unique_diff_on_Icc -> uniqueDiffOn_Icc is a dubious translation:
-lean 3 declaration is
- forall {a : Real} {b : Real}, (LT.lt.{0} Real Real.hasLt a b) -> (UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.addCommMonoid Real.module (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.preorder a b))
-but is expected to have type
- forall {a : Real} {b : Real}, (LT.lt.{0} Real Real.instLTReal a b) -> (UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.instAddCommMonoidReal (NormedSpace.toModule.{0, 0} Real Real Real.normedField (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))) (NormedField.toNormedSpace.{0} Real Real.normedField)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.instPreorderReal a b))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on_Icc uniqueDiffOn_Iccβ'. -/
theorem uniqueDiffOn_Icc {a b : β} (hab : a < b) : UniqueDiffOn β (Icc a b) :=
uniqueDiffOn_convex (convex_Icc a b) <| by simp only [interior_Icc, nonempty_Ioo, hab]
#align unique_diff_on_Icc uniqueDiffOn_Icc
@@ -647,12 +509,6 @@ theorem uniqueDiffOn_Ioo (a b : β) : UniqueDiffOn β (Ioo a b) :=
#align unique_diff_on_Ioo uniqueDiffOn_Ioo
-/
-/- warning: unique_diff_on_Icc_zero_one -> uniqueDiffOn_Icc_zero_one is a dubious translation:
-lean 3 declaration is
- UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.addCommMonoid Real.module (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
-but is expected to have type
- UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.instAddCommMonoidReal (NormedSpace.toModule.{0, 0} Real Real Real.normedField (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))) (NormedField.toNormedSpace.{0} Real Real.normedField)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
-Case conversion may be inaccurate. Consider using '#align unique_diff_on_Icc_zero_one uniqueDiffOn_Icc_zero_oneβ'. -/
/-- The real interval `[0, 1]` is a set of unique differentiability. -/
theorem uniqueDiffOn_Icc_zero_one : UniqueDiffOn β (Icc (0 : β) 1) :=
uniqueDiffOn_Icc zero_lt_one
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -284,18 +284,11 @@ theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSeg
show x + d n β openSegment β x y
Β· rw [openSegment_eq_image]
refine' β¨(c n)β»ΒΉ, β¨_, _β©, _β©
- Β· rw [inv_pos]
- apply pow_pos
- norm_num
- Β· apply inv_lt_one
- apply one_lt_pow _ (Nat.succ_ne_zero _)
- norm_num
- Β· simp only [d, sub_smul, smul_sub, one_smul]
- abel
+ Β· rw [inv_pos]; apply pow_pos; norm_num
+ Β· apply inv_lt_one; apply one_lt_pow _ (Nat.succ_ne_zero _); norm_num
+ Β· simp only [d, sub_smul, smul_sub, one_smul]; abel
show Filter.Tendsto (fun n : β => βc nβ) Filter.atTop Filter.atTop
- Β· have : (fun n : β => βc nβ) = c := by
- ext n
- exact abs_of_nonneg (pow_nonneg (by norm_num) _)
+ Β· have : (fun n : β => βc nβ) = c := by ext n; exact abs_of_nonneg (pow_nonneg (by norm_num) _)
rw [this]
exact (tendsto_pow_atTop_atTop_of_one_lt (by norm_num)).comp (tendsto_add_at_top_nat 1)
show Filter.Tendsto (fun n : β => c n β’ d n) Filter.atTop (π (y - x))
@@ -346,10 +339,8 @@ lean 3 declaration is
but is expected to have type
forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E}, UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Set.univ.{u1} E) x
Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_univ uniqueDiffWithinAt_univβ'. -/
-theorem uniqueDiffWithinAt_univ : UniqueDiffWithinAt π univ x :=
- by
- rw [uniqueDiffWithinAt_iff, tangentCone_univ]
- simp
+theorem uniqueDiffWithinAt_univ : UniqueDiffWithinAt π univ x := by
+ rw [uniqueDiffWithinAt_iff, tangentCone_univ]; simp
#align unique_diff_within_at_univ uniqueDiffWithinAt_univ
/- warning: unique_diff_on_univ -> uniqueDiffOn_univ is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -125,10 +125,7 @@ theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeA
-/
/- warning: tangent_cone_at.lim_zero -> tangentConeAt.lim_zero is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {y : E} {Ξ± : Type.{u3}} (l : Filter.{u3} Ξ±) {c : Ξ± -> π} {d : Ξ± -> E}, (Filter.Tendsto.{u3, 0} Ξ± Real (fun (n : Ξ±) => Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)) (c n)) l (Filter.atTop.{0} Real Real.preorder)) -> (Filter.Tendsto.{u3, u2} Ξ± E (fun (n : Ξ±) => SMul.smul.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3))))) (c n) (d n)) l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) y)) -> (Filter.Tendsto.{u3, u2} Ξ± E d l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (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 (NormedAddGroup.toAddGroup.{u2} E (NormedAddCommGroup.toNormedAddGroup.{u2} E _inst_2)))))))))))
-but is expected to have type
- forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {y : E} {Ξ± : Type.{u3}} (l : Filter.{u3} Ξ±) {c : Ξ± -> π} {d : Ξ± -> E}, (Filter.Tendsto.{u3, 0} Ξ± Real (fun (n : Ξ±) => Norm.norm.{u2} π (NormedField.toNorm.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)) (c n)) l (Filter.atTop.{0} Real Real.instPreorderReal)) -> (Filter.Tendsto.{u3, u1} Ξ± E (fun (n : Ξ±) => HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3)))))) (c n) (d n)) l (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) y)) -> (Filter.Tendsto.{u3, u1} Ξ± E d l (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align tangent_cone_at.lim_zero tangentConeAt.lim_zeroβ'. -/
/-- Auxiliary lemma ensuring that, under the assumptions defining the tangent cone,
the sequence `d` tends to 0 at infinity. -/
@@ -185,10 +182,7 @@ theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t
#align tangent_cone_inter_nhds tangentCone_inter_nhds
/- warning: subset_tangent_cone_prod_left -> subset_tangentCone_prod_left is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u3, u3} F (Set.{u3} F) (Set.hasMem.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => E -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+<too large>
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_left subset_tangentCone_prod_leftβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -215,10 +209,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
/- warning: subset_tangent_cone_prod_right -> subset_tangentCone_prod_right is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => F -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+<too large>
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_right subset_tangentCone_prod_rightβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -245,10 +236,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
/- warning: maps_to_tangent_cone_pi -> mapsTo_tangentCone_pi is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u2}} [_inst_8 : DecidableEq.{succ u2} ΞΉ] {E : ΞΉ -> Type.{u3}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u3} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u2} ΞΉ j i) -> (Membership.Mem.{u3, u3} (E j) (Set.{u3} (E j)) (Set.hasMem.{u3} (E j)) (x j) (closure.{u3} (E j) (UniformSpace.toTopologicalSpace.{u3} (E j) (PseudoMetricSpace.toUniformSpace.{u3} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u3, max u2 u3} (E i) (forall (i : ΞΉ), E i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) => (E i) -> (forall (i : ΞΉ), E i)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π (E i) (forall (i : ΞΉ), E i) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u2, u3} π ΞΉ (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align maps_to_tangent_cone_pi mapsTo_tangentCone_piβ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -188,7 +188,7 @@ theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u3, u3} F (Set.{u3} F) (Set.hasMem.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => E -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_left subset_tangentCone_prod_leftβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -218,7 +218,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => F -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_right subset_tangentCone_prod_rightβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -248,7 +248,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u2}} [_inst_8 : DecidableEq.{succ u2} ΞΉ] {E : ΞΉ -> Type.{u3}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u3} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u2} ΞΉ j i) -> (Membership.Mem.{u3, u3} (E j) (Set.{u3} (E j)) (Set.hasMem.{u3} (E j)) (x j) (closure.{u3} (E j) (UniformSpace.toTopologicalSpace.{u3} (E j) (PseudoMetricSpace.toUniformSpace.{u3} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u3, max u2 u3} (E i) (forall (i : ΞΉ), E i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) => (E i) -> (forall (i : ΞΉ), E i)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π (E i) (forall (i : ΞΉ), E i) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u2, u3} π ΞΉ (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
Case conversion may be inaccurate. Consider using '#align maps_to_tangent_cone_pi mapsTo_tangentCone_piβ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: SΓ©bastien GouΓ«zel
! This file was ported from Lean 3 source module analysis.calculus.tangent_cone
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 2ed2c6310e6f1c5562bdf6bfbda55ebbf6891abe
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Analysis.SpecificLimits.Basic
/-!
# Tangent cone
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In this file, we define two predicates `unique_diff_within_at π s x` and `unique_diff_on π s`
ensuring that, if a function has two derivatives, then they have to coincide. As a direct
definition of this fact (quantifying on all target types and all functions) would depend on
@@ -185,7 +188,7 @@ theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u3, u3} F (Set.{u3} F) (Set.hasMem.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => E -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_left subset_tangentCone_prod_leftβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -215,7 +218,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => F -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_right subset_tangentCone_prod_rightβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -245,7 +248,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u2}} [_inst_8 : DecidableEq.{succ u2} ΞΉ] {E : ΞΉ -> Type.{u3}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u3} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u2} ΞΉ j i) -> (Membership.Mem.{u3, u3} (E j) (Set.{u3} (E j)) (Set.hasMem.{u3} (E j)) (x j) (closure.{u3} (E j) (UniformSpace.toTopologicalSpace.{u3} (E j) (PseudoMetricSpace.toUniformSpace.{u3} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u3, max u2 u3} (E i) (forall (i : ΞΉ), E i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) => (E i) -> (forall (i : ΞΉ), E i)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π (E i) (forall (i : ΞΉ), E i) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u2, u3} π ΞΉ (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
Case conversion may be inaccurate. Consider using '#align maps_to_tangent_cone_pi mapsTo_tangentCone_piβ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -149,7 +149,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
/- warning: tangent_cone_mono_nhds -> tangentCone_mono_nhds is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toHasLe.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.instPartialOrderFilter.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
Case conversion may be inaccurate. Consider using '#align tangent_cone_mono_nhds tangentCone_mono_nhdsβ'. -/
@@ -381,7 +381,7 @@ theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) := fun x hx => hx.e
/- warning: unique_diff_within_at.mono_nhds -> UniqueDiffWithinAt.mono_nhds is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (LE.le.{u2} (Filter.{u2} E) (Preorder.toHasLe.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
but is expected to have type
forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (LE.le.{u1} (Filter.{u1} E) (Preorder.toLE.{u1} (Filter.{u1} E) (PartialOrder.toPreorder.{u1} (Filter.{u1} E) (Filter.instPartialOrderFilter.{u1} E))) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x s) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t x)
Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhdsβ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7ad820c4997738e2f542f8a20f32911f52020e26
@@ -46,6 +46,7 @@ section TangentCone
variable {E : Type _} [AddCommMonoid E] [Module π E] [TopologicalSpace E]
+#print tangentConeAt /-
/-- The set of all tangent directions to the set `s` at the point `x`. -/
def tangentConeAt (s : Set E) (x : E) : Set E :=
{ y : E |
@@ -53,7 +54,9 @@ def tangentConeAt (s : Set E) (x : E) : Set E :=
(βαΆ n in atTop, x + d n β s) β§
Tendsto (fun n => βc nβ) atTop atTop β§ Tendsto (fun n => c n β’ d n) atTop (π y) }
#align tangent_cone_at tangentConeAt
+-/
+#print UniqueDiffWithinAt /-
/-- A property ensuring that the tangent cone to `s` at `x` spans a dense subset of the whole space.
The main role of this property is to ensure that the differential within `s` at `x` is unique,
hence this name. The uniqueness it asserts is proved in `unique_diff_within_at.eq` in `fderiv.lean`.
@@ -65,7 +68,9 @@ structure UniqueDiffWithinAt (s : Set E) (x : E) : Prop where
dense_tangent_cone : Dense (Submodule.span π (tangentConeAt π s x) : Set E)
mem_closure : x β closure s
#align unique_diff_within_at UniqueDiffWithinAt
+-/
+#print UniqueDiffOn /-
/-- A property ensuring that the tangent cone to `s` at any of its points spans a dense subset of
the whole space. The main role of this property is to ensure that the differential along `s` is
unique, hence this name. The uniqueness it asserts is proved in `unique_diff_on.eq` in
@@ -73,6 +78,7 @@ unique, hence this name. The uniqueness it asserts is proved in `unique_diff_on.
def UniqueDiffOn (s : Set E) : Prop :=
β x β s, UniqueDiffWithinAt π s x
#align unique_diff_on UniqueDiffOn
+-/
end TangentCone
@@ -89,7 +95,8 @@ section TangentCone
-- This section is devoted to the properties of the tangent cone.
open NormedField
-theorem tangent_cone_univ : tangentConeAt π univ x = univ :=
+#print tangentCone_univ /-
+theorem tangentCone_univ : tangentConeAt π univ x = univ :=
by
refine' univ_subset_iff.1 fun y hy => _
rcases exists_one_lt_norm π with β¨w, hwβ©
@@ -103,14 +110,23 @@ theorem tangent_cone_univ : tangentConeAt π univ x = univ :=
apply pow_ne_zero
simpa [norm_eq_zero] using (ne_of_lt (lt_trans zero_lt_one hw)).symm
rw [smul_smul, this, one_smul]
-#align tangent_cone_univ tangent_cone_univ
+#align tangent_cone_univ tangentCone_univ
+-/
-theorem tangent_cone_mono (h : s β t) : tangentConeAt π s x β tangentConeAt π t x :=
+#print tangentCone_mono /-
+theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeAt π t x :=
by
rintro y β¨c, d, ds, ctop, climβ©
exact β¨c, d, mem_of_superset ds fun n hn => h hn, Ctop, climβ©
-#align tangent_cone_mono tangent_cone_mono
+#align tangent_cone_mono tangentCone_mono
+-/
+/- warning: tangent_cone_at.lim_zero -> tangentConeAt.lim_zero is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {y : E} {Ξ± : Type.{u3}} (l : Filter.{u3} Ξ±) {c : Ξ± -> π} {d : Ξ± -> E}, (Filter.Tendsto.{u3, 0} Ξ± Real (fun (n : Ξ±) => Norm.norm.{u1} π (NormedField.toHasNorm.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)) (c n)) l (Filter.atTop.{0} Real Real.preorder)) -> (Filter.Tendsto.{u3, u2} Ξ± E (fun (n : Ξ±) => SMul.smul.{u1, u2} π E (SMulZeroClass.toHasSmul.{u1, u2} π E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{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 (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3))))) (c n) (d n)) l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) y)) -> (Filter.Tendsto.{u3, u2} Ξ± E d l (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (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 (NormedAddGroup.toAddGroup.{u2} E (NormedAddCommGroup.toNormedAddGroup.{u2} E _inst_2)))))))))))
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {y : E} {Ξ± : Type.{u3}} (l : Filter.{u3} Ξ±) {c : Ξ± -> π} {d : Ξ± -> E}, (Filter.Tendsto.{u3, 0} Ξ± Real (fun (n : Ξ±) => Norm.norm.{u2} π (NormedField.toNorm.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)) (c n)) l (Filter.atTop.{0} Real Real.instPreorderReal)) -> (Filter.Tendsto.{u3, u1} Ξ± E (fun (n : Ξ±) => HSMul.hSMul.{u2, u1, u1} π E E (instHSMul.{u2, u1} π E (SMulZeroClass.toSMul.{u2, u1} π E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π E (CommMonoidWithZero.toZero.{u2} π (CommGroupWithZero.toCommMonoidWithZero.{u2} π (Semifield.toCommGroupWithZero.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π E (Semiring.toMonoidWithZero.{u2} π (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1)))))) (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)))))) (Module.toMulActionWithZero.{u2, u1} π E (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3)))))) (c n) (d n)) l (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) y)) -> (Filter.Tendsto.{u3, u1} Ξ± E d l (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2))))))))))
+Case conversion may be inaccurate. Consider using '#align tangent_cone_at.lim_zero tangentConeAt.lim_zeroβ'. -/
/-- Auxiliary lemma ensuring that, under the assumptions defining the tangent cone,
the sequence `d` tends to 0 at infinity. -/
theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {d : Ξ± β E}
@@ -131,7 +147,13 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
exact D
#align tangent_cone_at.lim_zero tangentConeAt.lim_zero
-theorem tangent_cone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt π s x β tangentConeAt π t x :=
+/- warning: tangent_cone_mono_nhds -> tangentCone_mono_nhds is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.instPartialOrderFilter.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x))
+Case conversion may be inaccurate. Consider using '#align tangent_cone_mono_nhds tangentCone_mono_nhdsβ'. -/
+theorem tangentCone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt π s x β tangentConeAt π t x :=
by
rintro y β¨c, d, ds, ctop, climβ©
refine' β¨c, d, _, Ctop, climβ©
@@ -139,22 +161,36 @@ theorem tangent_cone_mono_nhds (h : π[s] x β€ π[t] x) : tangentConeAt
exact tendsto_principal.1 (tendsto_inf.1 this).2
refine' (tendsto_inf.2 β¨_, tendsto_principal.2 dsβ©).mono_right h
simpa only [add_zero] using tendsto_const_nhds.add (tangentConeAt.lim_zero at_top Ctop clim)
-#align tangent_cone_mono_nhds tangent_cone_mono_nhds
+#align tangent_cone_mono_nhds tangentCone_mono_nhds
+#print tangentCone_congr /-
/-- Tangent cone of `s` at `x` depends only on `π[s] x`. -/
-theorem tangent_cone_congr (h : π[s] x = π[t] x) : tangentConeAt π s x = tangentConeAt π t x :=
- Subset.antisymm (tangent_cone_mono_nhds <| le_of_eq h) (tangent_cone_mono_nhds <| le_of_eq h.symm)
-#align tangent_cone_congr tangent_cone_congr
+theorem tangentCone_congr (h : π[s] x = π[t] x) : tangentConeAt π s x = tangentConeAt π t x :=
+ Subset.antisymm (tangentCone_mono_nhds <| le_of_eq h) (tangentCone_mono_nhds <| le_of_eq h.symm)
+#align tangent_cone_congr tangentCone_congr
+-/
+/- warning: tangent_cone_inter_nhds -> tangentCone_inter_nhds is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Eq.{succ u2} (Set.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Eq.{succ u2} (Set.{u2} E) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+Case conversion may be inaccurate. Consider using '#align tangent_cone_inter_nhds tangentCone_inter_nhdsβ'. -/
/-- Intersecting with a neighborhood of the point does not change the tangent cone. -/
-theorem tangent_cone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t) x = tangentConeAt π s x :=
- tangent_cone_congr (nhdsWithin_restrict' _ ht).symm
-#align tangent_cone_inter_nhds tangent_cone_inter_nhds
-
+theorem tangentCone_inter_nhds (ht : t β π x) : tangentConeAt π (s β© t) x = tangentConeAt π s x :=
+ tangentCone_congr (nhdsWithin_restrict' _ ht).symm
+#align tangent_cone_inter_nhds tangentCone_inter_nhds
+
+/- warning: subset_tangent_cone_prod_left -> subset_tangentCone_prod_left is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u3, u3} F (Set.{u3} F) (Set.hasMem.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (coeFn.{max (succ u2) (succ (max u2 u3)), max (succ u2) (succ (max u2 u3))} (LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u2, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => E -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u3, u3} F (Set.{u3} F) (Set.instMembershipSet.{u3} F) y (closure.{u3} F (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u2, max u2 u3} E (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u2, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) E (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u2 u3} π π E (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inl.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_left subset_tangentCone_prod_leftβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The tangent cone of a product contains the tangent cone of its left factor. -/
-theorem subset_tangent_cone_prod_left {t : Set F} {y : F} (ht : y β closure t) :
+theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t) :
LinearMap.inl π E F '' tangentConeAt π s x β tangentConeAt π (s ΓΛ’ t) (x, y) :=
by
rintro _ β¨v, β¨c, d, hd, hc, hyβ©, rflβ©
@@ -173,12 +209,18 @@ theorem subset_tangent_cone_prod_left {t : Set F} {y : F} (ht : y β closure t)
Β· apply tendsto.prod_mk_nhds hy _
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
-#align subset_tangent_cone_prod_left subset_tangent_cone_prod_left
-
+#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
+
+/- warning: subset_tangent_cone_prod_right -> subset_tangentCone_prod_right is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) => F -> (Prod.{u2, u3} E F)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (closure.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s)) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E F)) (Set.instHasSubsetSet.{max u2 u3} (Prod.{u2, u3} E F)) (Set.image.{u3, max u2 u3} F (Prod.{u2, u3} E F) (FunLike.coe.{max (succ u2) (succ u3), succ u3, max (succ u2) (succ u3)} (LinearMap.{u1, u1, u3, max u3 u2} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) F (Prod.{u2, u3} E F) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) F (fun (_x : F) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : F) => Prod.{u2, u3} E F) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, max u2 u3} π π F (Prod.{u2, u3} E F) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.inr.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5))) (tangentConeAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.instAddCommMonoidSum.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y)))
+Case conversion may be inaccurate. Consider using '#align subset_tangent_cone_prod_right subset_tangentCone_prod_rightβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The tangent cone of a product contains the tangent cone of its right factor. -/
-theorem subset_tangent_cone_prod_right {t : Set F} {y : F} (hs : x β closure s) :
+theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s) :
LinearMap.inr π E F '' tangentConeAt π t y β tangentConeAt π (s ΓΛ’ t) (x, y) :=
by
rintro _ β¨w, β¨c, d, hd, hc, hyβ©, rflβ©
@@ -197,12 +239,18 @@ theorem subset_tangent_cone_prod_right {t : Set F} {y : F} (hs : x β closure s
Β· apply tendsto.prod_mk_nhds _ hy
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
-#align subset_tangent_cone_prod_right subset_tangent_cone_prod_right
-
+#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
+
+/- warning: maps_to_tangent_cone_pi -> mapsTo_tangentCone_pi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u2}} [_inst_8 : DecidableEq.{succ u2} ΞΉ] {E : ΞΉ -> Type.{u3}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u3} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u2} ΞΉ j i) -> (Membership.Mem.{u3, u3} (E j) (Set.{u3} (E j)) (Set.hasMem.{u3} (E j)) (x j) (closure.{u3} (E j) (UniformSpace.toTopologicalSpace.{u3} (E j) (PseudoMetricSpace.toUniformSpace.{u3} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u3, max u2 u3} (E i) (forall (i : ΞΉ), E i) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) (fun (_x : LinearMap.{u1, u1, u3, max u2 u3} π π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i))) => (E i) -> (forall (i : ΞΉ), E i)) (LinearMap.hasCoeToFun.{u1, u1, u3, max u2 u3} π π (E i) (forall (i : ΞΉ), E i) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) ((fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i)) ((fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) i) (fun (i : ΞΉ) => (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) i)) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u2, u3} π ΞΉ (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun {i : ΞΉ} => NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun {i : ΞΉ} => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {ΞΉ : Type.{u3}} [_inst_8 : DecidableEq.{succ u3} ΞΉ] {E : ΞΉ -> Type.{u2}} [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] {s : forall (i : ΞΉ), Set.{u2} (E i)} {x : forall (i : ΞΉ), E i} {i : ΞΉ}, (forall (j : ΞΉ), (Ne.{succ u3} ΞΉ j i) -> (Membership.mem.{u2, u2} (E j) (Set.{u2} (E j)) (Set.instMembershipSet.{u2} (E j)) (x j) (closure.{u2} (E j) (UniformSpace.toTopologicalSpace.{u2} (E j) (PseudoMetricSpace.toUniformSpace.{u2} (E j) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E j) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E j) (_inst_9 j))))) (s j)))) -> (Set.MapsTo.{u2, max u3 u2} (E i) (forall (i : ΞΉ), E i) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (LinearMap.{u1, u1, u2, max u2 u3} π π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))))) (E i) (forall (i : ΞΉ), E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)))) (E i) (fun (_x : E i) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E i) => forall (i : ΞΉ), E i) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max u3 u2} π π (E i) (forall (i : ΞΉ), E i) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (RingHom.id.{u1} π (Semiring.toNonAssocSemiring.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1)))))))) (LinearMap.single.{u1, u3, u2} π ΞΉ (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) E (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (fun (a : ΞΉ) (b : ΞΉ) => _inst_8 a b) i)) (tangentConeAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) (tangentConeAt.{u1, max u3 u2} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x))
+Case conversion may be inaccurate. Consider using '#align maps_to_tangent_cone_pi mapsTo_tangentCone_piβ'. -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/-- The tangent cone of a product contains the tangent cone of each factor. -/
-theorem mapsTo_tangent_cone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
+theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
{i : ΞΉ} (hi : β (j) (_ : j β i), x j β closure (s j)) :
MapsTo (LinearMap.single i : E i ββ[π] β j, E j) (tangentConeAt π (s i) (x i))
@@ -226,11 +274,17 @@ theorem mapsTo_tangent_cone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _
Β· suffices tendsto (fun n => c n β’ d' n j) at_top (π 0) by simpa [hj]
refine' squeeze_zero_norm (fun n => (hcd' n j hj).le) _
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
-#align maps_to_tangent_cone_pi mapsTo_tangent_cone_pi
-
+#align maps_to_tangent_cone_pi mapsTo_tangentCone_pi
+
+/- warning: mem_tangent_cone_of_open_segment_subset -> mem_tangentCone_of_openSegment_subset is a dubious translation:
+lean 3 declaration is
+ forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.hasSubset.{u1} G) (openSegment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toHasSmul.{0, u1} Real G (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real G (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))) (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6))) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.Mem.{u1, u1} G (Set.{u1} G) (Set.hasMem.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toHasSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
+but is expected to have type
+ forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.instHasSubsetSet.{u1} G) (openSegment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toSMul.{0, u1} Real G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real G Real.instZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G Real.semiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.mem.{u1, u1} G (Set.{u1} G) (Set.instMembershipSet.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
+Case conversion may be inaccurate. Consider using '#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subsetβ'. -/
/-- If a subset of a real vector space contains an open segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
-theorem mem_tangent_cone_of_openSegment_subset {s : Set G} {x y : G} (h : openSegment β x y β s) :
+theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSegment β x y β s) :
y - x β tangentConeAt β s x :=
by
let c := fun n : β => (2 : β) ^ (n + 1)
@@ -262,14 +316,20 @@ theorem mem_tangent_cone_of_openSegment_subset {s : Set G} {x y : G} (h : openSe
exact pow_ne_zero _ (by norm_num)
rw [this]
apply tendsto_const_nhds
-#align mem_tangent_cone_of_open_segment_subset mem_tangent_cone_of_openSegment_subset
-
+#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subset
+
+/- warning: mem_tangent_cone_of_segment_subset -> mem_tangentCone_of_segment_subset is a dubious translation:
+lean 3 declaration is
+ forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.hasSubset.{u1} G) (segment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toHasSmul.{0, u1} Real G (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSmulZeroClass.{0, u1} Real G (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G (Semiring.toMonoidWithZero.{0} Real (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField))))) (AddZeroClass.toHasZero.{u1} G (AddMonoid.toAddZeroClass.{u1} G (AddCommMonoid.toAddMonoid.{u1} G (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G (Ring.toSemiring.{0} Real (NormedRing.toRing.{0} Real (NormedCommRing.toNormedRing.{0} Real (NormedField.toNormedCommRing.{0} Real Real.normedField)))) (AddCommGroup.toAddCommMonoid.{u1} G (SeminormedAddCommGroup.toAddCommGroup.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6))) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.Mem.{u1, u1} G (Set.{u1} G) (Set.hasMem.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toHasSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
+but is expected to have type
+ forall {G : Type.{u1}} [_inst_6 : NormedAddCommGroup.{u1} G] [_inst_7 : NormedSpace.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)] {s : Set.{u1} G} {x : G} {y : G}, (HasSubset.Subset.{u1} (Set.{u1} G) (Set.instHasSubsetSet.{u1} G) (segment.{0, u1} Real G Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (SMulZeroClass.toSMul.{0, u1} Real G (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real G Real.instZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real G Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} G (SubNegZeroMonoid.toNegZeroClass.{u1} G (SubtractionMonoid.toSubNegZeroMonoid.{u1} G (SubtractionCommMonoid.toSubtractionMonoid.{u1} G (AddCommGroup.toDivisionAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)))))) (Module.toMulActionWithZero.{0, u1} Real G Real.semiring (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7))))) x y) s) -> (Membership.mem.{u1, u1} G (Set.{u1} G) (Set.instMembershipSet.{u1} G) (HSub.hSub.{u1, u1, u1} G G G (instHSub.{u1} G (SubNegMonoid.toSub.{u1} G (AddGroup.toSubNegMonoid.{u1} G (NormedAddGroup.toAddGroup.{u1} G (NormedAddCommGroup.toNormedAddGroup.{u1} G _inst_6))))) y x) (tangentConeAt.{0, u1} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) G (AddCommGroup.toAddCommMonoid.{u1} G (NormedAddCommGroup.toAddCommGroup.{u1} G _inst_6)) (NormedSpace.toModule.{0, u1} Real G Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6) _inst_7) (UniformSpace.toTopologicalSpace.{u1} G (PseudoMetricSpace.toUniformSpace.{u1} G (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} G (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} G _inst_6)))) s x))
+Case conversion may be inaccurate. Consider using '#align mem_tangent_cone_of_segment_subset mem_tangentCone_of_segment_subsetβ'. -/
/-- If a subset of a real vector space contains a segment, then the direction of this
segment belongs to the tangent cone at its endpoints. -/
-theorem mem_tangent_cone_of_segment_subset {s : Set G} {x y : G} (h : segment β x y β s) :
+theorem mem_tangentCone_of_segment_subset {s : Set G} {x y : G} (h : segment β x y β s) :
y - x β tangentConeAt β s x :=
- mem_tangent_cone_of_openSegment_subset ((openSegment_subset_segment β x y).trans h)
-#align mem_tangent_cone_of_segment_subset mem_tangent_cone_of_segment_subset
+ mem_tangentCone_of_openSegment_subset ((openSegment_subset_segment β x y).trans h)
+#align mem_tangent_cone_of_segment_subset mem_tangentCone_of_segment_subset
end TangentCone
@@ -282,77 +342,153 @@ This section is devoted to properties of the predicates
`unique_diff_within_at` and `unique_diff_on`. -/
+#print UniqueDiffOn.uniqueDiffWithinAt /-
theorem UniqueDiffOn.uniqueDiffWithinAt {s : Set E} {x} (hs : UniqueDiffOn π s) (h : x β s) :
UniqueDiffWithinAt π s x :=
hs x h
#align unique_diff_on.unique_diff_within_at UniqueDiffOn.uniqueDiffWithinAt
+-/
+/- warning: unique_diff_within_at_univ -> uniqueDiffWithinAt_univ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E}, UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Set.univ.{u2} E) x
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E}, UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Set.univ.{u1} E) x
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_univ uniqueDiffWithinAt_univβ'. -/
theorem uniqueDiffWithinAt_univ : UniqueDiffWithinAt π univ x :=
by
- rw [uniqueDiffWithinAt_iff, tangent_cone_univ]
+ rw [uniqueDiffWithinAt_iff, tangentCone_univ]
simp
#align unique_diff_within_at_univ uniqueDiffWithinAt_univ
+/- warning: unique_diff_on_univ -> uniqueDiffOn_univ is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)], UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Set.univ.{u2} E)
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)], UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Set.univ.{u1} E)
+Case conversion may be inaccurate. Consider using '#align unique_diff_on_univ uniqueDiffOn_univβ'. -/
theorem uniqueDiffOn_univ : UniqueDiffOn π (univ : Set E) := fun x hx => uniqueDiffWithinAt_univ
#align unique_diff_on_univ uniqueDiffOn_univ
+/- warning: unique_diff_on_empty -> uniqueDiffOn_empty is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)], UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (EmptyCollection.emptyCollection.{u2} (Set.{u2} E) (Set.hasEmptyc.{u2} E))
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)], UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} E) (Set.instEmptyCollectionSet.{u1} E))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on_empty uniqueDiffOn_emptyβ'. -/
theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) := fun x hx => hx.elim
#align unique_diff_on_empty uniqueDiffOn_empty
+/- warning: unique_diff_within_at.mono_nhds -> UniqueDiffWithinAt.mono_nhds is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (LE.le.{u2} (Filter.{u2} E) (Preorder.toLE.{u2} (Filter.{u2} E) (PartialOrder.toPreorder.{u2} (Filter.{u2} E) (Filter.partialOrder.{u2} E))) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s) (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (LE.le.{u1} (Filter.{u1} E) (Preorder.toLE.{u1} (Filter.{u1} E) (PartialOrder.toPreorder.{u1} (Filter.{u1} E) (Filter.instPartialOrderFilter.{u1} E))) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x s) (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x t)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhdsβ'. -/
theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st : π[s] x β€ π[t] x) :
UniqueDiffWithinAt π t x :=
by
simp only [uniqueDiffWithinAt_iff] at *
rw [mem_closure_iff_nhdsWithin_neBot] at hβ’
- exact β¨h.1.mono <| Submodule.span_mono <| tangent_cone_mono_nhds st, h.2.mono stβ©
+ exact β¨h.1.mono <| Submodule.span_mono <| tangentCone_mono_nhds st, h.2.mono stβ©
#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhds
+/- warning: unique_diff_within_at.mono -> UniqueDiffWithinAt.mono is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t x)
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (HasSubset.Subset.{u1} (Set.{u1} E) (Set.instHasSubsetSet.{u1} E) s t) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.mono UniqueDiffWithinAt.monoβ'. -/
theorem UniqueDiffWithinAt.mono (h : UniqueDiffWithinAt π s x) (st : s β t) :
UniqueDiffWithinAt π t x :=
h.mono_nhds <| nhdsWithin_mono _ st
#align unique_diff_within_at.mono UniqueDiffWithinAt.mono
+#print uniqueDiffWithinAt_congr /-
theorem uniqueDiffWithinAt_congr (st : π[s] x = π[t] x) :
UniqueDiffWithinAt π s x β UniqueDiffWithinAt π t x :=
β¨fun h => h.mono_nhds <| le_of_eq st, fun h => h.mono_nhds <| le_of_eq st.symmβ©
#align unique_diff_within_at_congr uniqueDiffWithinAt_congr
+-/
+/- warning: unique_diff_within_at_inter -> uniqueDiffWithinAt_inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_inter uniqueDiffWithinAt_interβ'. -/
theorem uniqueDiffWithinAt_inter (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict' _ ht).symm
#align unique_diff_within_at_inter uniqueDiffWithinAt_inter
+/- warning: unique_diff_within_at.inter -> UniqueDiffWithinAt.inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhds.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x)
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (Membership.mem.{u1, u1} (Set.{u1} E) (Filter.{u1} E) (instMembershipSetFilter.{u1} E) t (nhds.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.inter UniqueDiffWithinAt.interβ'. -/
theorem UniqueDiffWithinAt.inter (hs : UniqueDiffWithinAt π s x) (ht : t β π x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter ht).2 hs
#align unique_diff_within_at.inter UniqueDiffWithinAt.inter
+/- warning: unique_diff_within_at_inter' -> uniqueDiffWithinAt_inter' is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (Membership.mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (instMembershipSetFilter.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (Iff (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.instInterSet.{u2} E) s t) x) (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x))
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at_inter' uniqueDiffWithinAt_inter'β'. -/
theorem uniqueDiffWithinAt_inter' (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x β UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_congr <| (nhdsWithin_restrict'' _ ht).symm
#align unique_diff_within_at_inter' uniqueDiffWithinAt_inter'
+/- warning: unique_diff_within_at.inter' -> UniqueDiffWithinAt.inter' is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {x : E} {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (Membership.Mem.{u2, u2} (Set.{u2} E) (Filter.{u2} E) (Filter.hasMem.{u2} E) t (nhdsWithin.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) x s)) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t) x)
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {x : E} {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (Membership.mem.{u1, u1} (Set.{u1} E) (Filter.{u1} E) (instMembershipSetFilter.{u1} E) t (nhdsWithin.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) x s)) -> (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t) x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.inter' UniqueDiffWithinAt.inter'β'. -/
theorem UniqueDiffWithinAt.inter' (hs : UniqueDiffWithinAt π s x) (ht : t β π[s] x) :
UniqueDiffWithinAt π (s β© t) x :=
(uniqueDiffWithinAt_inter' ht).2 hs
#align unique_diff_within_at.inter' UniqueDiffWithinAt.inter'
+#print uniqueDiffWithinAt_of_mem_nhds /-
theorem uniqueDiffWithinAt_of_mem_nhds (h : s β π x) : UniqueDiffWithinAt π s x := by
simpa only [univ_inter] using unique_diff_within_at_univ.inter h
#align unique_diff_within_at_of_mem_nhds uniqueDiffWithinAt_of_mem_nhds
+-/
+#print IsOpen.uniqueDiffWithinAt /-
theorem IsOpen.uniqueDiffWithinAt (hs : IsOpen s) (xs : x β s) : UniqueDiffWithinAt π s x :=
uniqueDiffWithinAt_of_mem_nhds (IsOpen.mem_nhds hs xs)
#align is_open.unique_diff_within_at IsOpen.uniqueDiffWithinAt
+-/
+/- warning: unique_diff_on.inter -> UniqueDiffOn.inter is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {s : Set.{u2} E} {t : Set.{u2} E}, (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s) -> (IsOpen.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) t) -> (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (Inter.inter.{u2} (Set.{u2} E) (Set.hasInter.{u2} E) s t))
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {s : Set.{u1} E} {t : Set.{u1} E}, (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s) -> (IsOpen.{u1} E (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) t) -> (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (Inter.inter.{u1} (Set.{u1} E) (Set.instInterSet.{u1} E) s t))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on.inter UniqueDiffOn.interβ'. -/
theorem UniqueDiffOn.inter (hs : UniqueDiffOn π s) (ht : IsOpen t) : UniqueDiffOn π (s β© t) :=
fun x hx => (hs x hx.1).inter (IsOpen.mem_nhds ht hx.2)
#align unique_diff_on.inter UniqueDiffOn.inter
+#print IsOpen.uniqueDiffOn /-
theorem IsOpen.uniqueDiffOn (hs : IsOpen s) : UniqueDiffOn π s := fun x hx =>
IsOpen.uniqueDiffWithinAt hs hx
#align is_open.unique_diff_on IsOpen.uniqueDiffOn
+-/
+/- warning: unique_diff_within_at.prod -> UniqueDiffWithinAt.prod is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u2} E} {t : Set.{u3} F} {y : F}, (UniqueDiffWithinAt.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s x) -> (UniqueDiffWithinAt.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t) (Prod.mk.{u2, u3} E F x y))
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {x : E} {s : Set.{u1} E} {t : Set.{u3} F} {y : F}, (UniqueDiffWithinAt.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s x) -> (UniqueDiffWithinAt.{u2, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t y) -> (UniqueDiffWithinAt.{u2, max u3 u1} π _inst_1 (Prod.{u1, u3} E F) (Prod.instAddCommMonoidSum.{u1, u3} E F (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u2, u1, u3} π E F (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u1, u3} E F (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u1, u3} E F s t) (Prod.mk.{u1, u3} E F x y))
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.prod UniqueDiffWithinAt.prodβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The product of two sets of unique differentiability at points `x` and `y` has unique
@@ -365,11 +501,17 @@ theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt
refine' β¨_, hs.2, ht.2β©
have : _ β€ Submodule.span π (tangentConeAt π (s ΓΛ’ t) (x, y)) :=
Submodule.span_mono
- (union_subset (subset_tangent_cone_prod_left ht.2) (subset_tangent_cone_prod_right hs.2))
+ (union_subset (subset_tangentCone_prod_left ht.2) (subset_tangentCone_prod_right hs.2))
rw [LinearMap.span_inl_union_inr, SetLike.le_def] at this
exact (hs.1.Prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
+/- warning: unique_diff_within_at.univ_pi -> UniqueDiffWithinAt.univ_pi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (x : forall (i : ΞΉ), E i), (forall (i : ΞΉ), UniqueDiffWithinAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i)) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s) x)
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (x : forall (i : ΞΉ), E i), (forall (i : ΞΉ), UniqueDiffWithinAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i)) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s) x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_piβ'. -/
theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
@@ -379,10 +521,15 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
norm_cast
simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
maps_to']
- exact fun i =>
- (mapsTo_tangent_cone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
+ exact fun i => (mapsTo_tangentCone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
+/- warning: unique_diff_within_at.pi -> UniqueDiffWithinAt.pi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (x : forall (i : ΞΉ), E i) (I : Set.{u2} ΞΉ), (forall (i : ΞΉ), (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i I) -> (UniqueDiffWithinAt.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i) (x i))) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) I s) x)
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (x : forall (i : ΞΉ), E i) (I : Set.{u3} ΞΉ), (forall (i : ΞΉ), (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i I) -> (UniqueDiffWithinAt.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i) (x i))) -> (UniqueDiffWithinAt.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) I s) x)
+Case conversion may be inaccurate. Consider using '#align unique_diff_within_at.pi UniqueDiffWithinAt.piβ'. -/
theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
@@ -393,12 +540,24 @@ theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
by_cases hi : i β I <;> simp [*, uniqueDiffWithinAt_univ]
#align unique_diff_within_at.pi UniqueDiffWithinAt.pi
+/- warning: unique_diff_on.prod -> UniqueDiffOn.prod is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] {E : Type.{u2}} [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : NormedSpace.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {s : Set.{u2} E} {t : Set.{u3} F}, (UniqueDiffOn.{u1, u2} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) s) -> (UniqueDiffOn.{u1, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (Prod.{u2, u3} E F) (Prod.addCommMonoid.{u2, u3} E F (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u1, u2, u3} π E F (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u1, u2} π E (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2) _inst_3) (NormedSpace.toModule.{u1, u3} π F (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (Prod.topologicalSpace.{u2, u3} E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u2, u3} E F s t))
+but is expected to have type
+ forall {π : Type.{u2}} [_inst_1 : NontriviallyNormedField.{u2} π] {E : Type.{u1}} [_inst_2 : NormedAddCommGroup.{u1} E] [_inst_3 : NormedSpace.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)] {F : Type.{u3}} [_inst_4 : NormedAddCommGroup.{u3} F] [_inst_5 : NormedSpace.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)] {s : Set.{u1} E} {t : Set.{u3} F}, (UniqueDiffOn.{u2, u1} π _inst_1 E (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) s) -> (UniqueDiffOn.{u2, u3} π _inst_1 F (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4)))) t) -> (UniqueDiffOn.{u2, max u3 u1} π _inst_1 (Prod.{u1, u3} E F) (Prod.instAddCommMonoidSum.{u1, u3} E F (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4))) (Prod.module.{u2, u1, u3} π E F (DivisionSemiring.toSemiring.{u2} π (Semifield.toDivisionSemiring.{u2} π (Field.toSemifield.{u2} π (NormedField.toField.{u2} π (NontriviallyNormedField.toNormedField.{u2} π _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} F (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_4)) (NormedSpace.toModule.{u2, u1} π E (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2) _inst_3) (NormedSpace.toModule.{u2, u3} π F (NontriviallyNormedField.toNormedField.{u2} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4) _inst_5)) (instTopologicalSpaceProd.{u1, u3} E F (UniformSpace.toTopologicalSpace.{u1} E (PseudoMetricSpace.toUniformSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_2)))) (UniformSpace.toTopologicalSpace.{u3} F (PseudoMetricSpace.toUniformSpace.{u3} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_4))))) (Set.prod.{u1, u3} E F s t))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on.prod UniqueDiffOn.prodβ'. -/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
/-- The product of two sets of unique differentiability is a set of unique differentiability. -/
theorem UniqueDiffOn.prod {t : Set F} (hs : UniqueDiffOn π s) (ht : UniqueDiffOn π t) :
UniqueDiffOn π (s ΓΛ’ t) := fun β¨x, yβ© h => UniqueDiffWithinAt.prod (hs x h.1) (ht y h.2)
#align unique_diff_on.prod UniqueDiffOn.prod
+/- warning: unique_diff_on.pi -> UniqueDiffOn.pi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)) (I : Set.{u2} ΞΉ), (forall (i : ΞΉ), (Membership.Mem.{u2, u2} ΞΉ (Set.{u2} ΞΉ) (Set.hasMem.{u2} ΞΉ) i I) -> (UniqueDiffOn.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i))) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) I s))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)) (I : Set.{u3} ΞΉ), (forall (i : ΞΉ), (Membership.mem.{u3, u3} ΞΉ (Set.{u3} ΞΉ) (Set.instMembershipSet.{u3} ΞΉ) i I) -> (UniqueDiffOn.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i))) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) I s))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on.pi UniqueDiffOn.piβ'. -/
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, NormedAddCommGroup (E i)]
@@ -407,6 +566,12 @@ theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, No
UniqueDiffWithinAt.pi _ _ _ _ _ fun i hi => h i hi (x i) (hx i hi)
#align unique_diff_on.pi UniqueDiffOn.pi
+/- warning: unique_diff_on.univ_pi -> UniqueDiffOn.univ_pi is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u2}) [_inst_8 : Finite.{succ u2} ΞΉ] (E : ΞΉ -> Type.{u3}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u3} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u3} (E i)), (forall (i : ΞΉ), UniqueDiffOn.{u1, u3} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u3} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u3} (E i) (PseudoMetricSpace.toUniformSpace.{u3} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E i) (_inst_9 i))))) (s i)) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i)))) (Pi.module.{u2, u3, u1} ΞΉ (fun (i : ΞΉ) => E i) π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u3} (E i) (NormedAddCommGroup.toAddCommGroup.{u3} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule'.{u1, u3} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (E i) (_inst_9 i) (_inst_10 i))) (Pi.topologicalSpace.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u3} (E a) (PseudoMetricSpace.toUniformSpace.{u3} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} (E a) (_inst_9 a)))))) (Set.pi.{u2, u3} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u2} ΞΉ) s))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} π] (ΞΉ : Type.{u3}) [_inst_8 : Finite.{succ u3} ΞΉ] (E : ΞΉ -> Type.{u2}) [_inst_9 : forall (i : ΞΉ), NormedAddCommGroup.{u2} (E i)] [_inst_10 : forall (i : ΞΉ), NormedSpace.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))] (s : forall (i : ΞΉ), Set.{u2} (E i)), (forall (i : ΞΉ), UniqueDiffOn.{u1, u2} π _inst_1 (E i) (AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i)) (UniformSpace.toTopologicalSpace.{u2} (E i) (PseudoMetricSpace.toUniformSpace.{u2} (E i) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E i) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i))))) (s i)) -> (UniqueDiffOn.{u1, max u2 u3} π _inst_1 (forall (i : ΞΉ), E i) (Pi.addCommMonoid.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i)))) (Pi.module.{u3, u2, u1} ΞΉ (fun (i : ΞΉ) => E i) π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (Field.toSemifield.{u1} π (NormedField.toField.{u1} π (NontriviallyNormedField.toNormedField.{u1} π _inst_1))))) (fun (i : ΞΉ) => AddCommGroup.toAddCommMonoid.{u2} (E i) (NormedAddCommGroup.toAddCommGroup.{u2} (E i) (_inst_9 i))) (fun (i : ΞΉ) => NormedSpace.toModule.{u1, u2} π (E i) (NontriviallyNormedField.toNormedField.{u1} π _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E i) (_inst_9 i)) (_inst_10 i))) (Pi.topologicalSpace.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (fun (a : ΞΉ) => UniformSpace.toTopologicalSpace.{u2} (E a) (PseudoMetricSpace.toUniformSpace.{u2} (E a) (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} (E a) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} (E a) (_inst_9 a)))))) (Set.pi.{u3, u2} ΞΉ (fun (i : ΞΉ) => E i) (Set.univ.{u3} ΞΉ) s))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on.univ_pi UniqueDiffOn.univ_piβ'. -/
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
@@ -415,6 +580,7 @@ theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
UniqueDiffOn.pi _ _ _ _ fun i _ => h i
#align unique_diff_on.univ_pi UniqueDiffOn.univ_pi
+#print uniqueDiffWithinAt_convex /-
/-- In a real vector space, a convex set with nonempty interior is a set of unique
differentiability at every point of its closure. -/
theorem uniqueDiffWithinAt_convex {s : Set G} (conv : Convex β s) (hs : (interior s).Nonempty)
@@ -430,69 +596,104 @@ theorem uniqueDiffWithinAt_convex {s : Set G} (conv : Convex β s) (hs : (inter
replace hy : interior s β π y := IsOpen.mem_nhds isOpen_interior hy
apply mem_of_superset ((isOpenMap_sub_right x).image_mem_nhds hy)
rintro _ β¨z, zs, rflβ©
- refine' mem_tangent_cone_of_openSegment_subset (subset.trans _ interior_subset)
+ refine' mem_tangentCone_of_openSegment_subset (subset.trans _ interior_subset)
exact conv.open_segment_closure_interior_subset_interior hx zs
#align unique_diff_within_at_convex uniqueDiffWithinAt_convex
+-/
+#print uniqueDiffOn_convex /-
/-- In a real vector space, a convex set with nonempty interior is a set of unique
differentiability. -/
theorem uniqueDiffOn_convex {s : Set G} (conv : Convex β s) (hs : (interior s).Nonempty) :
UniqueDiffOn β s := fun x xs => uniqueDiffWithinAt_convex conv hs (subset_closure xs)
#align unique_diff_on_convex uniqueDiffOn_convex
+-/
+#print uniqueDiffOn_Ici /-
theorem uniqueDiffOn_Ici (a : β) : UniqueDiffOn β (Ici a) :=
uniqueDiffOn_convex (convex_Ici a) <| by simp only [interior_Ici, nonempty_Ioi]
#align unique_diff_on_Ici uniqueDiffOn_Ici
+-/
+#print uniqueDiffOn_Iic /-
theorem uniqueDiffOn_Iic (a : β) : UniqueDiffOn β (Iic a) :=
uniqueDiffOn_convex (convex_Iic a) <| by simp only [interior_Iic, nonempty_Iio]
#align unique_diff_on_Iic uniqueDiffOn_Iic
+-/
+#print uniqueDiffOn_Ioi /-
theorem uniqueDiffOn_Ioi (a : β) : UniqueDiffOn β (Ioi a) :=
isOpen_Ioi.UniqueDiffOn
#align unique_diff_on_Ioi uniqueDiffOn_Ioi
+-/
+#print uniqueDiffOn_Iio /-
theorem uniqueDiffOn_Iio (a : β) : UniqueDiffOn β (Iio a) :=
isOpen_Iio.UniqueDiffOn
#align unique_diff_on_Iio uniqueDiffOn_Iio
+-/
+/- warning: unique_diff_on_Icc -> uniqueDiffOn_Icc is a dubious translation:
+lean 3 declaration is
+ forall {a : Real} {b : Real}, (LT.lt.{0} Real Real.hasLt a b) -> (UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.addCommMonoid Real.module (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.preorder a b))
+but is expected to have type
+ forall {a : Real} {b : Real}, (LT.lt.{0} Real Real.instLTReal a b) -> (UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.instAddCommMonoidReal (NormedSpace.toModule.{0, 0} Real Real Real.normedField (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))) (NormedField.toNormedSpace.{0} Real Real.normedField)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.instPreorderReal a b))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on_Icc uniqueDiffOn_Iccβ'. -/
theorem uniqueDiffOn_Icc {a b : β} (hab : a < b) : UniqueDiffOn β (Icc a b) :=
uniqueDiffOn_convex (convex_Icc a b) <| by simp only [interior_Icc, nonempty_Ioo, hab]
#align unique_diff_on_Icc uniqueDiffOn_Icc
+#print uniqueDiffOn_Ico /-
theorem uniqueDiffOn_Ico (a b : β) : UniqueDiffOn β (Ico a b) :=
if hab : a < b then
uniqueDiffOn_convex (convex_Ico a b) <| by simp only [interior_Ico, nonempty_Ioo, hab]
else by simp only [Ico_eq_empty hab, uniqueDiffOn_empty]
#align unique_diff_on_Ico uniqueDiffOn_Ico
+-/
+#print uniqueDiffOn_Ioc /-
theorem uniqueDiffOn_Ioc (a b : β) : UniqueDiffOn β (Ioc a b) :=
if hab : a < b then
uniqueDiffOn_convex (convex_Ioc a b) <| by simp only [interior_Ioc, nonempty_Ioo, hab]
else by simp only [Ioc_eq_empty hab, uniqueDiffOn_empty]
#align unique_diff_on_Ioc uniqueDiffOn_Ioc
+-/
+#print uniqueDiffOn_Ioo /-
theorem uniqueDiffOn_Ioo (a b : β) : UniqueDiffOn β (Ioo a b) :=
isOpen_Ioo.UniqueDiffOn
#align unique_diff_on_Ioo uniqueDiffOn_Ioo
+-/
+/- warning: unique_diff_on_Icc_zero_one -> uniqueDiffOn_Icc_zero_one is a dubious translation:
+lean 3 declaration is
+ UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.addCommMonoid Real.module (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
+but is expected to have type
+ UniqueDiffOn.{0, 0} Real (DenselyNormedField.toNontriviallyNormedField.{0} Real Real.denselyNormedField) Real Real.instAddCommMonoidReal (NormedSpace.toModule.{0, 0} Real Real Real.normedField (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))) (NormedField.toNormedSpace.{0} Real Real.normedField)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+Case conversion may be inaccurate. Consider using '#align unique_diff_on_Icc_zero_one uniqueDiffOn_Icc_zero_oneβ'. -/
/-- The real interval `[0, 1]` is a set of unique differentiability. -/
theorem uniqueDiffOn_Icc_zero_one : UniqueDiffOn β (Icc (0 : β) 1) :=
uniqueDiffOn_Icc zero_lt_one
#align unique_diff_on_Icc_zero_one uniqueDiffOn_Icc_zero_one
+#print uniqueDiffWithinAt_Ioo /-
theorem uniqueDiffWithinAt_Ioo {a b t : β} (ht : t β Set.Ioo a b) :
UniqueDiffWithinAt β (Set.Ioo a b) t :=
IsOpen.uniqueDiffWithinAt isOpen_Ioo ht
#align unique_diff_within_at_Ioo uniqueDiffWithinAt_Ioo
+-/
+#print uniqueDiffWithinAt_Ioi /-
theorem uniqueDiffWithinAt_Ioi (a : β) : UniqueDiffWithinAt β (Ioi a) a :=
uniqueDiffWithinAt_convex (convex_Ioi a) (by simp) (by simp)
#align unique_diff_within_at_Ioi uniqueDiffWithinAt_Ioi
+-/
+#print uniqueDiffWithinAt_Iio /-
theorem uniqueDiffWithinAt_Iio (a : β) : UniqueDiffWithinAt β (Iio a) a :=
uniqueDiffWithinAt_convex (convex_Iio a) (by simp) (by simp)
#align unique_diff_within_at_Iio uniqueDiffWithinAt_Iio
+-/
end UniqueDiff
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -377,7 +377,7 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
simp only [uniqueDiffWithinAt_iff, closure_pi_set] at hβ’
refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
norm_cast
- simp only [β Submodule.supα΅’_map_single, supα΅’_le_iff, LinearMap.map_span, Submodule.span_le, β
+ simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le, β
maps_to']
exact fun i =>
(mapsTo_tangent_cone_pi fun j hj => (h j).2).mono subset.rfl Submodule.subset_span
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -120,7 +120,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
have A : tendsto (fun n => βc nββ»ΒΉ) l (π 0) := tendsto_inv_at_top_zero.comp hc
have B : tendsto (fun n => βc n β’ d nβ) l (π βyβ) := (continuous_norm.tendsto _).comp hd
have C : tendsto (fun n => βc nββ»ΒΉ * βc n β’ d nβ) l (π (0 * βyβ)) := A.mul B
- rw [zero_mul] at C
+ rw [MulZeroClass.zero_mul] at C
have : βαΆ n in l, βc nββ»ΒΉ * βc n β’ d nβ = βd nβ :=
by
apply (eventually_ne_of_tendsto_norm_atTop hc 0).mono fun n hn => _
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -199,8 +199,8 @@ theorem subset_tangent_cone_prod_right {t : Set F} {y : F} (hs : x β closure s
exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangent_cone_prod_right
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (j Β«expr β Β» i) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (j Β«expr β Β» i) -/
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangent_cone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -112,7 +112,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type*} (l : Filter Ξ±) {c : Ξ± β π} {d
have : βαΆ n in l, βc nββ»ΒΉ * βc n β’ d nβ = βd nβ := by
refine (eventually_ne_of_tendsto_norm_atTop hc 0).mono fun n hn => ?_
rw [norm_smul, β mul_assoc, inv_mul_cancel, one_mul]
- rwa [Ne.def, norm_eq_zero]
+ rwa [Ne, norm_eq_zero]
have D : Tendsto (fun n => βd nβ) l (π 0) := Tendsto.congr' this C
rw [tendsto_zero_iff_norm_tendsto_zero]
exact D
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -73,11 +73,8 @@ def UniqueDiffOn (s : Set E) : Prop :=
end TangentCone
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace π E]
-
variable {F : Type*} [NormedAddCommGroup F] [NormedSpace π F]
-
variable {G : Type*} [NormedAddCommGroup G] [NormedSpace β G]
-
variable {π} {x y : E} {s t : Set E}
section TangentCone
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -125,8 +125,8 @@ theorem tangentCone_mono_nhds (h : π[s] x β€ π[t] x) :
tangentConeAt π s x β tangentConeAt π t x := by
rintro y β¨c, d, ds, ctop, climβ©
refine' β¨c, d, _, ctop, climβ©
- suffices : Tendsto (fun n => x + d n) atTop (π[t] x)
- exact tendsto_principal.1 (tendsto_inf.1 this).2
+ suffices Tendsto (fun n => x + d n) atTop (π[t] x) from
+ tendsto_principal.1 (tendsto_inf.1 this).2
refine' (tendsto_inf.2 β¨_, tendsto_principal.2 dsβ©).mono_right h
simpa only [add_zero] using tendsto_const_nhds.add (tangentConeAt.lim_zero atTop ctop clim)
#align tangent_cone_mono_nhds tangentCone_mono_nhds
@@ -158,7 +158,7 @@ theorem subset_tangentCone_prod_left {t : Set F} {y : F} (ht : y β closure t)
simp [hn, (hd' n).1]
Β· apply Tendsto.prod_mk_nhds hy _
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_left subset_tangentCone_prod_left
/-- The tangent cone of a product contains the tangent cone of its right factor. -/
@@ -178,7 +178,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
simp [hn, (hd' n).1]
Β· apply Tendsto.prod_mk_nhds _ hy
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
/-- The tangent cone of a product contains the tangent cone of each factor. -/
@@ -201,7 +201,7 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type*} [DecidableEq ΞΉ] {E : ΞΉ β Type*}
Β· simp [hy]
Β· suffices Tendsto (fun n => c n β’ d' n j) atTop (π 0) by simpa [hj]
refine' squeeze_zero_norm (fun n => (hcd' n j hj).le) _
- exact tendsto_pow_atTop_nhds_0_of_lt_1 one_half_pos.le one_half_lt_one
+ exact tendsto_pow_atTop_nhds_zero_of_lt_one one_half_pos.le one_half_lt_one
#align maps_to_tangent_cone_pi mapsTo_tangentCone_pi
/-- If a subset of a real vector space contains an open segment, then the direction of this
@@ -56,7 +56,7 @@ The main role of this property is to ensure that the differential within `s` at
hence this name. The uniqueness it asserts is proved in `UniqueDiffWithinAt.eq` in `Fderiv.Basic`.
To avoid pathologies in dimension 0, we also require that `x` belongs to the closure of `s` (which
is automatic when `E` is not `0`-dimensional). -/
-@[mk_iff uniqueDiffWithinAt_iff]
+@[mk_iff]
structure UniqueDiffWithinAt (s : Set E) (x : E) : Prop where
dense_tangentCone : Dense (Submodule.span π (tangentConeAt π s x) : Set E)
mem_closure : x β closure s
@@ -184,7 +184,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
/-- The tangent cone of a product contains the tangent cone of each factor. -/
theorem mapsTo_tangentCone_pi {ΞΉ : Type*} [DecidableEq ΞΉ] {E : ΞΉ β Type*}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
- {i : ΞΉ} (hi : β (j) (_ : j β i), x j β closure (s j)) :
+ {i : ΞΉ} (hi : β j β i, x j β closure (s j)) :
MapsTo (LinearMap.single i : E i ββ[π] β j, E j) (tangentConeAt π (s i) (x i))
(tangentConeAt π (Set.pi univ s) x) := by
rintro w β¨c, d, hd, hc, hyβ©
@@ -188,8 +188,7 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type*} [DecidableEq ΞΉ] {E : ΞΉ β Type*}
MapsTo (LinearMap.single i : E i ββ[π] β j, E j) (tangentConeAt π (s i) (x i))
(tangentConeAt π (Set.pi univ s) x) := by
rintro w β¨c, d, hd, hc, hyβ©
- have : β (n) (j) (_ : j β i), β d', x j + d' β s j β§ βc n β’ d'β < (1 / 2 : β) ^ n := by
- intro n j hj
+ have : β n, β j β i, β d', x j + d' β s j β§ βc n β’ d'β < (1 / 2 : β) ^ n := fun n j hj β¦ by
rcases mem_closure_iff_nhds.1 (hi j hj) _
(eventually_nhds_norm_smul_sub_lt (c n) (x j) (pow_pos one_half_pos n)) with
β¨z, hz, hzsβ©
filter_upwards
(#7719)
mathport was forgetting a space in filter_upwards [...]with
instead of filter_upwards [...] with
.
@@ -174,7 +174,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
choose d' hd' using this
refine' β¨c, fun n => (d' n, d n), _, hc, _β©
show βαΆ n in atTop, (x, y) + (d' n, d n) β s ΓΛ’ t
- Β· filter_upwards [hd]with n hn
+ Β· filter_upwards [hd] with n hn
simp [hn, (hd' n).1]
Β· apply Tendsto.prod_mk_nhds _ hy
refine' squeeze_zero_norm (fun n => (hd' n).2.le) _
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -33,7 +33,7 @@ properties of the tangent cone we prove here.
-/
-variable (π : Type _) [NontriviallyNormedField π]
+variable (π : Type*) [NontriviallyNormedField π]
open Filter Set
@@ -41,7 +41,7 @@ open Topology
section TangentCone
-variable {E : Type _} [AddCommMonoid E] [Module π E] [TopologicalSpace E]
+variable {E : Type*} [AddCommMonoid E] [Module π E] [TopologicalSpace E]
/-- The set of all tangent directions to the set `s` at the point `x`. -/
def tangentConeAt (s : Set E) (x : E) : Set E :=
@@ -72,11 +72,11 @@ def UniqueDiffOn (s : Set E) : Prop :=
end TangentCone
-variable {E : Type _} [NormedAddCommGroup E] [NormedSpace π E]
+variable {E : Type*} [NormedAddCommGroup E] [NormedSpace π E]
-variable {F : Type _} [NormedAddCommGroup F] [NormedSpace π F]
+variable {F : Type*} [NormedAddCommGroup F] [NormedSpace π F]
-variable {G : Type _} [NormedAddCommGroup G] [NormedSpace β G]
+variable {G : Type*} [NormedAddCommGroup G] [NormedSpace β G]
variable {π} {x y : E} {s t : Set E}
@@ -105,7 +105,7 @@ theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeA
/-- Auxiliary lemma ensuring that, under the assumptions defining the tangent cone,
the sequence `d` tends to 0 at infinity. -/
-theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {d : Ξ± β E}
+theorem tangentConeAt.lim_zero {Ξ± : Type*} (l : Filter Ξ±) {c : Ξ± β π} {d : Ξ± β E}
(hc : Tendsto (fun n => βc nβ) l atTop) (hd : Tendsto (fun n => c n β’ d n) l (π y)) :
Tendsto d l (π 0) := by
have A : Tendsto (fun n => βc nββ»ΒΉ) l (π 0) := tendsto_inv_atTop_zero.comp hc
@@ -182,7 +182,7 @@ theorem subset_tangentCone_prod_right {t : Set F} {y : F} (hs : x β closure s)
#align subset_tangent_cone_prod_right subset_tangentCone_prod_right
/-- The tangent cone of a product contains the tangent cone of each factor. -/
-theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
+theorem mapsTo_tangentCone_pi {ΞΉ : Type*} [DecidableEq ΞΉ] {E : ΞΉ β Type*}
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] {s : β i, Set (E i)} {x : β i, E i}
{i : ΞΉ} (hi : β (j) (_ : j β i), x j β closure (s j)) :
MapsTo (LinearMap.single i : E i ββ[π] β j, E j) (tangentConeAt π (s i) (x i))
@@ -322,7 +322,7 @@ theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt
exact (hs.1.prod ht.1).mono this
#align unique_diff_within_at.prod UniqueDiffWithinAt.prod
-theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
+theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type*) [Finite ΞΉ] (E : ΞΉ β Type*)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
@@ -334,7 +334,7 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
exact fun i => (mapsTo_tangentCone_pi fun j _ => (h j).2).mono Subset.rfl Submodule.subset_span
#align unique_diff_within_at.univ_pi UniqueDiffWithinAt.univ_pi
-theorem UniqueDiffWithinAt.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
+theorem UniqueDiffWithinAt.pi (ΞΉ : Type*) [Finite ΞΉ] (E : ΞΉ β Type*)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(I : Set ΞΉ) (h : β i β I, UniqueDiffWithinAt π (s i) (x i)) :
UniqueDiffWithinAt π (Set.pi I s) x := by
@@ -352,7 +352,7 @@ theorem UniqueDiffOn.prod {t : Set F} (hs : UniqueDiffOn π s) (ht : UniqueDif
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
-theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, NormedAddCommGroup (E i)]
+theorem UniqueDiffOn.pi (ΞΉ : Type*) [Finite ΞΉ] (E : ΞΉ β Type*) [β i, NormedAddCommGroup (E i)]
[β i, NormedSpace π (E i)] (s : β i, Set (E i)) (I : Set ΞΉ)
(h : β i β I, UniqueDiffOn π (s i)) : UniqueDiffOn π (Set.pi I s) :=
fun x hx => UniqueDiffWithinAt.pi _ _ _ _ _ fun i hi => h i hi (x i) (hx i hi)
@@ -360,7 +360,7 @@ theorem UniqueDiffOn.pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _) [β i, No
/-- The finite product of a family of sets of unique differentiability is a set of unique
differentiability. -/
-theorem UniqueDiffOn.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
+theorem UniqueDiffOn.univ_pi (ΞΉ : Type*) [Finite ΞΉ] (E : ΞΉ β Type*)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i))
(h : β i, UniqueDiffOn π (s i)) : UniqueDiffOn π (Set.pi univ s) :=
UniqueDiffOn.pi _ _ _ _ fun i _ => h i
@@ -2,16 +2,13 @@
Copyright (c) 2019 SΓ©bastien GouΓ«zel. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: SΓ©bastien GouΓ«zel
-
-! This file was ported from Lean 3 source module analysis.calculus.tangent_cone
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.Convex.Topology
import Mathlib.Analysis.NormedSpace.Basic
import Mathlib.Analysis.SpecificLimits.Basic
+#align_import analysis.calculus.tangent_cone from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Tangent cone
@@ -88,18 +88,17 @@ section TangentCone
-- This section is devoted to the properties of the tangent cone.
open NormedField
-theorem tangentCone_univ : tangentConeAt π univ x = univ := by
- refine' univ_subset_iff.1 fun y _ => _
- rcases exists_one_lt_norm π with β¨w, hwβ©
- refine' β¨fun n => w ^ n, fun n => (w ^ n)β»ΒΉ β’ y, univ_mem' fun n => mem_univ _, _, _β©
- Β· simp only [norm_pow]
- exact tendsto_pow_atTop_atTop_of_one_lt hw
- Β· convert @tendsto_const_nhds E β _ _ atTop with n
- have : w ^ n * (w ^ n)β»ΒΉ = 1 := by
- apply mul_inv_cancel
- apply pow_ne_zero
- simpa [norm_eq_zero] using (ne_of_lt (lt_trans zero_lt_one hw)).symm
- rw [smul_smul, this, one_smul]
+theorem mem_tangentConeAt_of_pow_smul {r : π} (hrβ : r β 0) (hr : βrβ < 1)
+ (hs : βαΆ n : β in atTop, x + r ^ n β’ y β s) : y β tangentConeAt π s x := by
+ refine β¨fun n β¦ (r ^ n)β»ΒΉ, fun n β¦ r ^ n β’ y, hs, ?_, ?_β©
+ Β· simp only [norm_inv, norm_pow, β inv_pow]
+ exact tendsto_pow_atTop_atTop_of_one_lt <| one_lt_inv (norm_pos_iff.2 hrβ) hr
+ Β· simp only [inv_smul_smulβ (pow_ne_zero _ hrβ), tendsto_const_nhds]
+
+theorem tangentCone_univ : tangentConeAt π univ x = univ :=
+ let β¨_r, hrβ, hrβ© := exists_norm_lt_one π
+ eq_univ_of_forall fun _ β¦ mem_tangentConeAt_of_pow_smul (norm_pos_iff.1 hrβ) hr <|
+ eventually_of_forall fun _ β¦ mem_univ _
#align tangent_cone_univ tangentCone_univ
theorem tangentCone_mono (h : s β t) : tangentConeAt π s x β tangentConeAt π t x := by
@@ -115,7 +114,7 @@ theorem tangentConeAt.lim_zero {Ξ± : Type _} (l : Filter Ξ±) {c : Ξ± β π} {
have A : Tendsto (fun n => βc nββ»ΒΉ) l (π 0) := tendsto_inv_atTop_zero.comp hc
have B : Tendsto (fun n => βc n β’ d nβ) l (π βyβ) := (continuous_norm.tendsto _).comp hd
have C : Tendsto (fun n => βc nββ»ΒΉ * βc n β’ d nβ) l (π (0 * βyβ)) := A.mul B
- rw [MulZeroClass.zero_mul] at C
+ rw [zero_mul] at C
have : βαΆ n in l, βc nββ»ΒΉ * βc n β’ d nβ = βd nβ := by
refine (eventually_ne_of_tendsto_norm_atTop hc 0).mono fun n hn => ?_
rw [norm_smul, β mul_assoc, inv_mul_cancel, one_mul]
@@ -213,34 +212,13 @@ theorem mapsTo_tangentCone_pi {ΞΉ : Type _} [DecidableEq ΞΉ] {E : ΞΉ β Type _}
segment belongs to the tangent cone at its endpoints. -/
theorem mem_tangentCone_of_openSegment_subset {s : Set G} {x y : G} (h : openSegment β x y β s) :
y - x β tangentConeAt β s x := by
- let c := fun n : β => (2 : β) ^ (n + 1)
- let d := fun n : β => (c n)β»ΒΉ β’ (y - x)
- refine' β¨c, d, Filter.univ_mem' fun n => h _, _, _β©
- show x + d n β openSegment β x y
- Β· rw [openSegment_eq_image]
- refine' β¨(c n)β»ΒΉ, β¨_, _β©, _β©
- Β· rw [inv_pos]
- apply pow_pos
- norm_num
- Β· apply inv_lt_one
- apply one_lt_pow _ (Nat.succ_ne_zero _)
- norm_num
- Β· simp only [sub_smul, smul_sub, one_smul]
- abel
- show Filter.Tendsto (fun n : β => βc nβ) Filter.atTop Filter.atTop
- Β· have : (fun n : β => βc nβ) = c := by
- ext n
- exact abs_of_nonneg (pow_nonneg (by norm_num) _)
- rw [this]
- exact (tendsto_pow_atTop_atTop_of_one_lt (by norm_num)).comp (tendsto_add_atTop_nat 1)
- show Filter.Tendsto (fun n : β => c n β’ d n) Filter.atTop (π (y - x))
- Β· have : (fun n : β => c n β’ d n) = fun _ => y - x := by
- ext n
- simp only [smul_smul]
- rw [mul_inv_cancel, one_smul]
- exact pow_ne_zero _ (by norm_num)
- rw [this]
- apply tendsto_const_nhds
+ refine mem_tangentConeAt_of_pow_smul one_half_pos.ne' (by norm_num) ?_
+ refine (eventually_ne_atTop 0).mono fun n hn β¦ (h ?_)
+ rw [openSegment_eq_image]
+ refine β¨(1 / 2) ^ n, β¨?_, ?_β©, ?_β©
+ Β· exact pow_pos one_half_pos _
+ Β· exact pow_lt_one one_half_pos.le one_half_lt_one hn
+ Β· simp only [sub_smul, one_smul, smul_sub]; abel
#align mem_tangent_cone_of_open_segment_subset mem_tangentCone_of_openSegment_subset
/-- If a subset of a real vector space contains a segment, then the direction of this
Add lemmas about smoothness in a smooth vector bundle. Also rename the old smoothOn_coordChange
to smoothOn_coordChangeL
.
@@ -278,6 +278,9 @@ theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) :=
fun _ hx => hx.elim
#align unique_diff_on_empty uniqueDiffOn_empty
+theorem UniqueDiffWithinAt.congr_pt (h : UniqueDiffWithinAt π s x) (hy : x = y) :
+ UniqueDiffWithinAt π s y := hy βΈ h
+
theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st : π[s] x β€ π[t] x) :
UniqueDiffWithinAt π t x := by
simp only [uniqueDiffWithinAt_iff] at *
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
@@ -281,7 +281,7 @@ theorem uniqueDiffOn_empty : UniqueDiffOn π (β
: Set E) :=
theorem UniqueDiffWithinAt.mono_nhds (h : UniqueDiffWithinAt π s x) (st : π[s] x β€ π[t] x) :
UniqueDiffWithinAt π t x := by
simp only [uniqueDiffWithinAt_iff] at *
- rw [mem_closure_iff_nhdsWithin_neBot] at hβ’
+ rw [mem_closure_iff_nhdsWithin_neBot] at h β’
exact β¨h.1.mono <| Submodule.span_mono <| tangentCone_mono_nhds st, h.2.mono stβ©
#align unique_diff_within_at.mono_nhds UniqueDiffWithinAt.mono_nhds
@@ -335,7 +335,7 @@ theorem IsOpen.uniqueDiffOn (hs : IsOpen s) : UniqueDiffOn π s :=
differentiability at `(x, y)`. -/
theorem UniqueDiffWithinAt.prod {t : Set F} {y : F} (hs : UniqueDiffWithinAt π s x)
(ht : UniqueDiffWithinAt π t y) : UniqueDiffWithinAt π (s ΓΛ’ t) (x, y) := by
- rw [uniqueDiffWithinAt_iff] at hs htβ’
+ rw [uniqueDiffWithinAt_iff] at hs ht β’
rw [closure_prod_eq]
refine' β¨_, hs.2, ht.2β©
have : _ β€ Submodule.span π (tangentConeAt π (s ΓΛ’ t) (x, y)) := Submodule.span_mono
@@ -348,7 +348,7 @@ theorem UniqueDiffWithinAt.univ_pi (ΞΉ : Type _) [Finite ΞΉ] (E : ΞΉ β Type _)
[β i, NormedAddCommGroup (E i)] [β i, NormedSpace π (E i)] (s : β i, Set (E i)) (x : β i, E i)
(h : β i, UniqueDiffWithinAt π (s i) (x i)) : UniqueDiffWithinAt π (Set.pi univ s) x := by
classical
- simp only [uniqueDiffWithinAt_iff, closure_pi_set] at hβ’
+ simp only [uniqueDiffWithinAt_iff, closure_pi_set] at h β’
refine' β¨(dense_pi univ fun i _ => (h i).1).mono _, fun i _ => (h i).2β©
norm_cast
simp only [β Submodule.iSup_map_single, iSup_le_iff, LinearMap.map_span, Submodule.span_le,
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