Documentation

Mathlib.Analysis.Calculus.TangentCone.Basic

Basic properties of tangent cones and sets with unique differentiability property #

In this file we prove basic lemmas about tangentConeAt, UniqueDiffWithinAt, and UniqueDiffOn.

theorem mem_tangentConeAt_of_pow_smul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x y : E} {s : Set E} {r : ๐•œ} (hrโ‚€ : r โ‰  0) (hr : โ€–rโ€– < 1) (hs : โˆ€แถ  (n : โ„•) in Filter.atTop, x + r ^ n โ€ข y โˆˆ s) :
y โˆˆ tangentConeAt ๐•œ s x
@[simp]
theorem tangentConeAt_univ {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} :
@[deprecated tangentConeAt_univ (since := "2025-04-27")]
theorem tangentCone_univ {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} :

Alias of tangentConeAt_univ.

theorem tangentConeAt_mono {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} (h : s โІ t) :
tangentConeAt ๐•œ s x โІ tangentConeAt ๐•œ t x
@[deprecated tangentConeAt_mono (since := "2025-04-27")]
theorem tangentCone_mono {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} (h : s โІ t) :
tangentConeAt ๐•œ s x โІ tangentConeAt ๐•œ t x

Alias of tangentConeAt_mono.

theorem tangentConeAt_mono_field {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s : Set E} {๐•œ' : Type u_5} [NontriviallyNormedField ๐•œ'] [NormedAlgebra ๐•œ ๐•œ'] [Module ๐•œ' E] [IsScalarTower ๐•œ ๐•œ' E] :
tangentConeAt ๐•œ s x โІ tangentConeAt ๐•œ' s x

Given x โˆˆ s and a field extension ๐•œ โІ ๐•œ', the tangent cone of s at x with respect to ๐•œ is contained in the tangent cone of s at x with respect to ๐•œ'.

theorem tangentConeAt.lim_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {y : E} [ContinuousSMul ๐•œ E] {ฮฑ : Type u_5} (l : Filter ฮฑ) {c : ฮฑ โ†’ ๐•œ} {d : ฮฑ โ†’ E} (hc : Filter.Tendsto (fun (n : ฮฑ) => โ€–c nโ€–) l Filter.atTop) (hd : Filter.Tendsto (fun (n : ฮฑ) => c n โ€ข d n) l (nhds y)) :

Auxiliary lemma ensuring that, under the assumptions defining the tangent cone, the sequence d tends to 0 at infinity.

theorem tangentConeAt_mono_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (h : nhdsWithin x s โ‰ค nhdsWithin x t) :
tangentConeAt ๐•œ s x โІ tangentConeAt ๐•œ t x
@[deprecated tangentConeAt_mono_nhds (since := "2025-04-27")]
theorem tangentCone_mono_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (h : nhdsWithin x s โ‰ค nhdsWithin x t) :
tangentConeAt ๐•œ s x โІ tangentConeAt ๐•œ t x

Alias of tangentConeAt_mono_nhds.

theorem tangentConeAt_congr {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (h : nhdsWithin x s = nhdsWithin x t) :
tangentConeAt ๐•œ s x = tangentConeAt ๐•œ t x

Tangent cone of s at x depends only on ๐“[s] x.

@[deprecated tangentConeAt_congr (since := "2025-04-27")]
theorem tangentCone_congr {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (h : nhdsWithin x s = nhdsWithin x t) :
tangentConeAt ๐•œ s x = tangentConeAt ๐•œ t x

Alias of tangentConeAt_congr.


Tangent cone of s at x depends only on ๐“[s] x.

theorem tangentConeAt_inter_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (ht : t โˆˆ nhds x) :
tangentConeAt ๐•œ (s โˆฉ t) x = tangentConeAt ๐•œ s x

Intersecting with a neighborhood of the point does not change the tangent cone.

@[deprecated tangentConeAt_inter_nhds (since := "2025-04-27")]
theorem tangentCone_inter_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousSMul ๐•œ E] [ContinuousAdd E] (ht : t โˆˆ nhds x) :
tangentConeAt ๐•œ (s โˆฉ t) x = tangentConeAt ๐•œ s x

Alias of tangentConeAt_inter_nhds.


Intersecting with a neighborhood of the point does not change the tangent cone.

@[simp]
theorem tangentConeAt_closure {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} :
tangentConeAt ๐•œ (closure s) x = tangentConeAt ๐•œ s x
theorem zero_mem_tangentCone {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {s : Set E} {x : E} (hx : x โˆˆ closure s) :
0 โˆˆ tangentConeAt ๐•œ s x

The tangent cone at a non-isolated point contains 0.

theorem tangentConeAt_subset_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} (hx : ยฌAccPt x (Filter.principal s)) :
tangentConeAt ๐•œ s x โІ 0

If x is not an accumulation point of s, then the tangent cone of s at x is a subset of {0}.

theorem UniqueDiffWithinAt.accPt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} [Nontrivial E] (h : UniqueDiffWithinAt ๐•œ s x) :

Properties of UniqueDiffWithinAt and UniqueDiffOn #

This section is devoted to properties of the predicates UniqueDiffWithinAt and UniqueDiffOn.

theorem UniqueDiffOn.uniqueDiffWithinAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} {x : E} (hs : UniqueDiffOn ๐•œ s) (h : x โˆˆ s) :
UniqueDiffWithinAt ๐•œ s x
@[simp]
theorem uniqueDiffWithinAt_univ {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} :
@[simp]
theorem uniqueDiffOn_univ {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] :
theorem uniqueDiffOn_empty {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] :
theorem UniqueDiffWithinAt.congr_pt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x y : E} {s : Set E} (h : UniqueDiffWithinAt ๐•œ s x) (hy : x = y) :
UniqueDiffWithinAt ๐•œ s y
theorem UniqueDiffWithinAt.mono_field {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s : Set E} {๐•œ' : Type u_5} [NontriviallyNormedField ๐•œ'] [NormedAlgebra ๐•œ ๐•œ'] [Module ๐•œ' E] [IsScalarTower ๐•œ ๐•œ' E] (hโ‚‚s : UniqueDiffWithinAt ๐•œ s x) :
UniqueDiffWithinAt ๐•œ' s x

Assume that E is a normed vector space over normed fields ๐•œ โІ ๐•œ' and that x โˆˆ s is a point of unique differentiability with respect to the set s and the smaller field ๐•œ, then x is also a point of unique differentiability with respect to the set s and the larger field ๐•œ'.

theorem UniqueDiffOn.mono_field {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} {๐•œ' : Type u_5} [NontriviallyNormedField ๐•œ'] [NormedAlgebra ๐•œ ๐•œ'] [Module ๐•œ' E] [IsScalarTower ๐•œ ๐•œ' E] (hโ‚‚s : UniqueDiffOn ๐•œ s) :
UniqueDiffOn ๐•œ' s

Assume that E is a normed vector space over normed fields ๐•œ โІ ๐•œ' and all points of s are points of unique differentiability with respect to the smaller field ๐•œ, then they are also points of unique differentiability with respect to the larger field ๐•œ.

theorem UniqueDiffWithinAt.mono_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (h : UniqueDiffWithinAt ๐•œ s x) (st : nhdsWithin x s โ‰ค nhdsWithin x t) :
UniqueDiffWithinAt ๐•œ t x
theorem UniqueDiffWithinAt.mono {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (h : UniqueDiffWithinAt ๐•œ s x) (st : s โІ t) :
UniqueDiffWithinAt ๐•œ t x
theorem uniqueDiffWithinAt_congr {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (st : nhdsWithin x s = nhdsWithin x t) :
UniqueDiffWithinAt ๐•œ s x โ†” UniqueDiffWithinAt ๐•œ t x
theorem uniqueDiffWithinAt_inter {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (ht : t โˆˆ nhds x) :
UniqueDiffWithinAt ๐•œ (s โˆฉ t) x โ†” UniqueDiffWithinAt ๐•œ s x
theorem UniqueDiffWithinAt.inter {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (hs : UniqueDiffWithinAt ๐•œ s x) (ht : t โˆˆ nhds x) :
UniqueDiffWithinAt ๐•œ (s โˆฉ t) x
theorem uniqueDiffWithinAt_inter' {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (ht : t โˆˆ nhdsWithin x s) :
UniqueDiffWithinAt ๐•œ (s โˆฉ t) x โ†” UniqueDiffWithinAt ๐•œ s x
theorem UniqueDiffWithinAt.inter' {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (hs : UniqueDiffWithinAt ๐•œ s x) (ht : t โˆˆ nhdsWithin x s) :
UniqueDiffWithinAt ๐•œ (s โˆฉ t) x
theorem uniqueDiffWithinAt_of_mem_nhds {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (h : s โˆˆ nhds x) :
UniqueDiffWithinAt ๐•œ s x
theorem IsOpen.uniqueDiffWithinAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {x : E} {s : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (hs : IsOpen s) (xs : x โˆˆ s) :
UniqueDiffWithinAt ๐•œ s x
theorem UniqueDiffOn.inter {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s t : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (hs : UniqueDiffOn ๐•œ s) (ht : IsOpen t) :
UniqueDiffOn ๐•œ (s โˆฉ t)
theorem IsOpen.uniqueDiffOn {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} [ContinuousAdd E] [ContinuousSMul ๐•œ E] (hs : IsOpen s) :
UniqueDiffOn ๐•œ s
@[simp]
theorem uniqueDiffWithinAt_closure {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} :
theorem UniqueDiffWithinAt.of_closure {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} :
UniqueDiffWithinAt ๐•œ (closure s) x โ†’ UniqueDiffWithinAt ๐•œ s x

Alias of the forward direction of uniqueDiffWithinAt_closure.

theorem UniqueDiffWithinAt.closure {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s : Set E} :
UniqueDiffWithinAt ๐•œ s x โ†’ UniqueDiffWithinAt ๐•œ (closure s) x

Alias of the reverse direction of uniqueDiffWithinAt_closure.

theorem UniqueDiffWithinAt.mono_closure {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {x : E} {s t : Set E} (h : UniqueDiffWithinAt ๐•œ s x) (st : s โІ closure t) :
UniqueDiffWithinAt ๐•œ t x