File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
Mathlib/Analysis/Calculus/ContDiff Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -1895,6 +1895,33 @@ theorem Homeomorph.contDiff_symm_deriv [CompleteSpace π] (f : π ββ
1895
1895
f.toLocalHomeomorph.contDiffAt_symm_deriv (hβ _) (mem_univ x) (hf' _) hf.contDiffAt
1896
1896
#align homeomorph.cont_diff_symm_deriv Homeomorph.contDiff_symm_deriv
1897
1897
1898
+ namespace LocalHomeomorph
1899
+
1900
+ variable (π)
1901
+
1902
+ /-- Restrict a local homeomorphism to the subsets of the source and target
1903
+ that consist of points `x β f.source`, `y = f x β f.target`
1904
+ such that `f` is `C^n` at `x` and `f.symm` is `C^n` at `y`.
1905
+
1906
+ Note that `n` is a natural number, not `β`,
1907
+ because the set of points of `C^β`-smoothness of `f` is not guaranteed to be open. -/
1908
+ @[simps! apply symm_apply source target]
1909
+ def restrContDiff (f : LocalHomeomorph E F) (n : β) : LocalHomeomorph E F :=
1910
+ haveI H : f.IsImage {x | ContDiffAt π n f x β§ ContDiffAt π n f.symm (f x)}
1911
+ {y | ContDiffAt π n f.symm y β§ ContDiffAt π n f (f.symm y)} := fun x hx β¦ by
1912
+ simp [hx, and_comm]
1913
+ H.restr <| isOpen_iff_mem_nhds.2 <| fun x β¨hxs, hxf, hxf'β© β¦
1914
+ inter_mem (f.open_source.mem_nhds hxs) <| hxf.eventually.and <|
1915
+ f.continuousAt hxs hxf'.eventually
1916
+
1917
+ lemma contDiffOn_restrContDiff_source (f : LocalHomeomorph E F) (n : β) :
1918
+ ContDiffOn π n f (f.restrContDiff π n).source := fun _x hx β¦ hx.2 .1 .contDiffWithinAt
1919
+
1920
+ lemma contDiffOn_restrContDiff_target (f : LocalHomeomorph E F) (n : β) :
1921
+ ContDiffOn π n f.symm (f.restrContDiff π n).target := fun _x hx β¦ hx.2 .1 .contDiffWithinAt
1922
+
1923
+ end LocalHomeomorph
1924
+
1898
1925
end FunctionInverse
1899
1926
1900
1927
section deriv
You canβt perform that action at this time.
0 commit comments