mathlib3 documentation

analysis.calculus.diff_cont_on_cl

Functions differentiable on a domain and continuous on its closure #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

Many theorems in complex analysis assume that a function is complex differentiable on a domain and is continuous on its closure. In this file we define a predicate diff_cont_on_cl that expresses this property and prove basic facts about this predicate.

structure diff_cont_on_cl (𝕜 : Type u_1) {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] (f : E F) (s : set E) :
Prop

A predicate saying that a function is differentiable on a set and is continuous on its closure. This is a common assumption in complex analysis.

theorem differentiable_on.diff_cont_on_cl {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (h : differentiable_on 𝕜 f (closure s)) :
theorem differentiable.diff_cont_on_cl {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (h : differentiable 𝕜 f) :
theorem is_closed.diff_cont_on_cl_iff {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hs : is_closed s) :
theorem diff_cont_on_cl_univ {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} :
theorem diff_cont_on_cl_const {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {s : set E} {c : F} :
diff_cont_on_cl 𝕜 (λ (x : E), c) s
theorem diff_cont_on_cl.comp {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] [normed_add_comm_group G] [normed_space 𝕜 G] {f : E F} {s : set E} {g : G E} {t : set G} (hf : diff_cont_on_cl 𝕜 f s) (hg : diff_cont_on_cl 𝕜 g t) (h : set.maps_to g t s) :
diff_cont_on_cl 𝕜 (f g) t
theorem diff_cont_on_cl.continuous_on_ball {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} [normed_space E] {x : E} {r : } (h : diff_cont_on_cl 𝕜 f (metric.ball x r)) :
theorem diff_cont_on_cl.mk_ball {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {x : E} {r : } (hd : differentiable_on 𝕜 f (metric.ball x r)) (hc : continuous_on f (metric.closed_ball x r)) :
@[protected]
theorem diff_cont_on_cl.differentiable_at {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} {x : E} (h : diff_cont_on_cl 𝕜 f s) (hs : is_open s) (hx : x s) :
theorem diff_cont_on_cl.differentiable_at' {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} {x : E} (h : diff_cont_on_cl 𝕜 f s) (hx : s nhds x) :
@[protected]
theorem diff_cont_on_cl.mono {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s t : set E} (h : diff_cont_on_cl 𝕜 f s) (ht : t s) :
theorem diff_cont_on_cl.add {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f g : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (hg : diff_cont_on_cl 𝕜 g s) :
diff_cont_on_cl 𝕜 (f + g) s
theorem diff_cont_on_cl.add_const {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (c : F) :
diff_cont_on_cl 𝕜 (λ (x : E), f x + c) s
theorem diff_cont_on_cl.const_add {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (c : F) :
diff_cont_on_cl 𝕜 (λ (x : E), c + f x) s
theorem diff_cont_on_cl.neg {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) :
diff_cont_on_cl 𝕜 (-f) s
theorem diff_cont_on_cl.sub {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f g : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (hg : diff_cont_on_cl 𝕜 g s) :
diff_cont_on_cl 𝕜 (f - g) s
theorem diff_cont_on_cl.sub_const {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (c : F) :
diff_cont_on_cl 𝕜 (λ (x : E), f x - c) s
theorem diff_cont_on_cl.const_sub {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} (hf : diff_cont_on_cl 𝕜 f s) (c : F) :
diff_cont_on_cl 𝕜 (λ (x : E), c - f x) s
theorem diff_cont_on_cl.const_smul {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {s : set E} {R : Type u_4} [semiring R] [module R F] [smul_comm_class 𝕜 R F] [has_continuous_const_smul R F] (hf : diff_cont_on_cl 𝕜 f s) (c : R) :
diff_cont_on_cl 𝕜 (c f) s
theorem diff_cont_on_cl.smul {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {𝕜' : Type u_4} [nontrivially_normed_field 𝕜'] [normed_algebra 𝕜 𝕜'] [normed_space 𝕜' F] [is_scalar_tower 𝕜 𝕜' F] {c : E 𝕜'} {f : E F} {s : set E} (hc : diff_cont_on_cl 𝕜 c s) (hf : diff_cont_on_cl 𝕜 f s) :
diff_cont_on_cl 𝕜 (λ (x : E), c x f x) s
theorem diff_cont_on_cl.smul_const {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {𝕜' : Type u_4} [nontrivially_normed_field 𝕜'] [normed_algebra 𝕜 𝕜'] [normed_space 𝕜' F] [is_scalar_tower 𝕜 𝕜' F] {c : E 𝕜'} {s : set E} (hc : diff_cont_on_cl 𝕜 c s) (y : F) :
diff_cont_on_cl 𝕜 (λ (x : E), c x y) s
theorem diff_cont_on_cl.inv {𝕜 : Type u_1} {E : Type u_2} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_space 𝕜 E] {s : set E} {f : E 𝕜} (hf : diff_cont_on_cl 𝕜 f s) (h₀ : (x : E), x closure s f x 0) :
theorem differentiable.comp_diff_cont_on_cl {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} {G : Type u_4} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] [normed_add_comm_group G] [normed_space 𝕜 G] {f : E F} {g : G E} {t : set G} (hf : differentiable 𝕜 f) (hg : diff_cont_on_cl 𝕜 g t) :
diff_cont_on_cl 𝕜 (f g) t
theorem differentiable_on.diff_cont_on_cl_ball {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [nontrivially_normed_field 𝕜] [normed_add_comm_group E] [normed_add_comm_group F] [normed_space 𝕜 E] [normed_space 𝕜 F] {f : E F} {U : set E} {c : E} {R : } (hf : differentiable_on 𝕜 f U) (hc : metric.closed_ball c R U) :