@@ -1863,42 +1863,30 @@ Qed.
18631863
18641864Lemma near_derive (R : numFieldType) (V W : normedModType R)
18651865 (f g : V -> W) (a v : V) : v != 0 -> {near a, f =1 g} ->
1866- {near 0^', (fun h => h^-1 *: (f (h *: v + a) - f a)) =1
1867- (fun h => h^-1 *: (g (h *: v + a) - g a))}.
1868- Proof .
1869- move=> v0 nfg; near=> t; congr (_ *: _).
1870- near: t.
1871- move: nfg; rewrite {1}/prop_near1/= nbhsE/= => -[B [oB Ba] /[dup] Bfg Bfg'].
1872- have [e /= e0 eB] := open_subball oB Ba.
1873- have vv0 : 0 < `|2 *: v| by rewrite normrZ mulr_gt0 ?normr_gt0.
1874- near=> x.
1875- have x0 : 0 < `|x| by rewrite normr_gt0//; near: x; exact: nbhs_dnbhs_neq.
1876- congr (_ - _); last exact: Bfg'.
1877- apply: Bfg; apply: (eB (`|x| * `|2 *: v|)).
1878- - rewrite /ball_/= sub0r normrN normrM !normr_id -ltr_pdivlMr//.
1879- by near: x; apply: dnbhs0_lt; rewrite divr_gt0.
1880- - by rewrite mulr_gt0.
1881- - rewrite -ball_normE/= opprD addrCA subrr addr0 normrN normrZ ltr_pM2l//.
1882- by rewrite normrZ ltr_pMl ?normr_gt0// gtr0_norm ?ltr1n.
1866+ \forall h \near 0,
1867+ h^-1 *: (f (h *: v + a) - f a) = h^-1 *: (g (h *: v + a) - g a).
1868+ Proof .
1869+ move=> v0 fg; near do rewrite (nbhs_singleton fg) (near fg)// addrC.
1870+ apply/(@near0Z _ _ _ [set v | (a + v) \is_near (nbhs a)])=> /=.
1871+ by rewrite (near_shift a)/=; near do rewrite /= sub0r addrC addrNK//.
18831872Unshelve. all: by end_near. Qed .
18841873
18851874Lemma near_eq_derivable (R : numFieldType) (V W : normedModType R)
18861875 (f g : V -> W) (a v : V) : v != 0 ->
18871876 {near a, f =1 g} -> derivable f a v -> derivable g a v.
18881877Proof .
18891878move=> vn0 nfg /cvg_ex[/= l fl]; apply/cvg_ex; exists l => /=.
1890- by apply: cvg_trans fl; apply: near_eq_cvg; exact: near_derive.
1879+ by apply: cvg_trans fl; apply: near_eq_cvg; apply/cvg_within/ near_derive.
18911880Qed .
18921881
18931882Lemma near_eq_derive (R : numFieldType) (V W : normedModType R)
18941883 (f g : V -> W) (a v : V) :
18951884 v != 0 -> (\near a, f a = g a) -> 'D_v f a = 'D_v g a.
18961885Proof .
18971886move=> v0 fg; rewrite /derive; congr (lim _).
1898- have {}fg := near_derive v0 fg.
1899- rewrite eqEsubset; split; apply: near_eq_cvg=> //.
1900- by move/filterS : fg; apply => ? /esym.
1901- Qed .
1887+ rewrite eqEsubset; split; apply/near_eq_cvg; apply/cvg_within/near_derive => //.
1888+ by near do apply/esym.
1889+ Unshelve. all: by end_near. Qed .
19021890
19031891Lemma near_eq_is_derive (R : numFieldType) (V W : normedModType R)
19041892 (f g : V -> W) (a v : V) (df : W) : v != 0 ->
0 commit comments