@@ -711,6 +711,74 @@ theorem mfderiv_sumSwap :
711711 mfderiv I I (@Sum.swap M M') p = ContinuousLinearMap.id π (TangentSpace I p) := by
712712 simpa [mfderivWithin_univ] using (mfderivWithin_sumSwap (uniqueMDiffWithinAt_univ I))
713713
714+ variable {f : M β N} (g : M' β N') {q : M} {q' : M'}
715+
716+ lemma writtenInExtChartAt_sumInl_eventuallyEq_id :
717+ (writtenInExtChartAt I I q (@Sum.inl M M')) =αΆ [π[Set.range I] (extChartAt I q q)] id := by
718+ have hmem : I.symm β»ΒΉ'
719+ (chartAt H q).target β© Set.range I β π[Set.range I] (extChartAt I q q) := by
720+ rw [β I.image_eq (chartAt H q).target]
721+ exact (chartAt H q).extend_image_target_mem_nhds (mem_chart_source H q)
722+ filter_upwards [hmem] with y hy
723+ rcases hy with β¨hyT, β¨z, rflβ©β©
724+ simp [writtenInExtChartAt, extChartAt, ChartedSpace.sum_chartAt_inl,
725+ Sum.inl_injective.extend_apply <| chartAt H q,
726+ (chartAt H q).right_inv (by simpa [Set.mem_preimage, I.left_inv] using hyT)]
727+
728+ lemma writtenInExtChartAt_sumInr_eventuallyEq_id :
729+ (writtenInExtChartAt I I q' (@Sum.inr M M')) =αΆ [π[Set.range I] (extChartAt I q' q')] id := by
730+ have hmem : I.symm β»ΒΉ'
731+ (chartAt H q').target β© Set.range I β π[Set.range I] (extChartAt I q' q') := by
732+ rw [β I.image_eq (chartAt H q').target]
733+ exact (chartAt H q').extend_image_target_mem_nhds (mem_chart_source H q')
734+ filter_upwards [hmem] with y hy
735+ rcases hy with β¨hyT, β¨z, rflβ©β©
736+ simp [writtenInExtChartAt, extChartAt, ChartedSpace.sum_chartAt_inr,
737+ Sum.inr_injective.extend_apply <| chartAt H q',
738+ (chartAt H q').right_inv (by simpa [Set.mem_preimage, I.left_inv] using hyT)]
739+
740+ theorem hasMFDerivWithinAt_inl :
741+ HasMFDerivWithinAt I I (@Sum.inl M M') s q (ContinuousLinearMap.id π (TangentSpace I q)) := by
742+ refine β¨by fun_prop, ?_β©
743+ have : (writtenInExtChartAt I I q (@Sum.inl M M'))
744+ =αΆ [π[(extChartAt I q).symm β»ΒΉ' s β© Set.range I] (extChartAt I q q)] id :=
745+ writtenInExtChartAt_sumInl_eventuallyEq_id.filter_mono (nhdsWithin_mono _ (fun _y hy β¦ hy.2 ))
746+ exact (hasFDerivWithinAt_id (extChartAt I q q) _).congr_of_eventuallyEq this
747+ (by simp [writtenInExtChartAt, extChartAt])
748+
749+ theorem hasMFDerivAt_inl :
750+ HasMFDerivAt I I (@Sum.inl M M') q (ContinuousLinearMap.id π (TangentSpace I p)) := by
751+ simpa [HasMFDerivAt, hasMFDerivWithinAt_univ] using hasMFDerivWithinAt_inl (s := Set.univ)
752+
753+ theorem hasMFDerivWithinAt_inr {t : Set M'} :
754+ HasMFDerivWithinAt I I (@Sum.inr M M') t q' (ContinuousLinearMap.id π (TangentSpace I q')) := by
755+ refine β¨by fun_prop, ?_β©
756+ have : (writtenInExtChartAt I I q' (@Sum.inr M M'))
757+ =αΆ [π[(extChartAt I q').symm β»ΒΉ' t β© Set.range I] (extChartAt I q' q')] id :=
758+ writtenInExtChartAt_sumInr_eventuallyEq_id.filter_mono (nhdsWithin_mono _ (fun _y hy β¦ hy.2 ))
759+ exact (hasFDerivWithinAt_id (extChartAt I q' q') _).congr_of_eventuallyEq this
760+ (by simp [writtenInExtChartAt, extChartAt])
761+
762+ theorem hasMFDerivAt_inr :
763+ HasMFDerivAt I I (@Sum.inr M M') q' (ContinuousLinearMap.id π (TangentSpace I p)) := by
764+ simpa [HasMFDerivAt, hasMFDerivWithinAt_univ] using hasMFDerivWithinAt_inr (t := Set.univ)
765+
766+ theorem mfderivWithin_sumInl (hU : UniqueMDiffWithinAt I s q) :
767+ mfderivWithin I I (@Sum.inl M M') s q = ContinuousLinearMap.id π (TangentSpace I p) :=
768+ (hasMFDerivWithinAt_inl).mfderivWithin hU
769+
770+ theorem mfderiv_sumInl :
771+ mfderiv I I (@Sum.inl M M') q = ContinuousLinearMap.id π (TangentSpace I p) := by
772+ simpa [mfderivWithin_univ] using (mfderivWithin_sumInl (uniqueMDiffWithinAt_univ I))
773+
774+ theorem mfderivWithin_sumInr {t : Set M'} (hU : UniqueMDiffWithinAt I t q') :
775+ mfderivWithin I I (@Sum.inr M M') t q' = ContinuousLinearMap.id π (TangentSpace I q') :=
776+ (hasMFDerivWithinAt_inr).mfderivWithin hU
777+
778+ theorem mfderiv_sumInr :
779+ mfderiv I I (@Sum.inr M M') q' = ContinuousLinearMap.id π (TangentSpace I q') := by
780+ simpa [mfderivWithin_univ] using (mfderivWithin_sumInr (uniqueMDiffWithinAt_univ I))
781+
714782end disjointUnion
715783
716784section Arithmetic
0 commit comments