Skip to content

Commit 762e08b

Browse files
affeldt-aistt6s
andauthored
near lemmas about derivation (#1477)
* near lemmas about derivation --------- Co-authored-by: Takafumi Saikawa <[email protected]>
1 parent 9863f51 commit 762e08b

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,9 @@
211211
+ definitions `PosNum`, `NngNum`, `posnum_spec` and `nonneg_spec`
212212
+ lemmas `posnumP` and `nonnegP`
213213

214+
- in `derive.v`:
215+
+ lemmas `near_eq_derivable`, `near_eq_derive`, `near_eq_is_derive`
216+
214217
### Changed
215218

216219
- in `lebesgue_integral.v`

theories/derive.v

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,6 +1861,52 @@ rewrite diff_comp // !derive1E' //= -[X in 'd _ _ X = _]mulr1.
18611861
by rewrite [LHS]linearZ mulrC.
18621862
Qed.
18631863

1864+
Section near_derive.
1865+
Context (R : numFieldType) (V W : normedModType R).
1866+
Variables (f g : V -> W) (a v : V).
1867+
Hypotheses (v0 : v != 0) (afg : {near a, f =1 g}).
1868+
1869+
Let near_derive :
1870+
{near 0^', (fun h => h^-1 *: (f (h *: v + a) - f a)) =1
1871+
(fun h => h^-1 *: (g (h *: v + a) - g a))}.
1872+
Proof.
1873+
near do congr (_ *: _).
1874+
move: afg; rewrite {1}/prop_near1/= nbhsE/= => -[B [oB Ba] /[dup] Bfg Bfg'].
1875+
have [e /= e0 eB] := open_subball oB Ba.
1876+
have vv0 : 0 < `|2 *: v| by rewrite normrZ mulr_gt0 ?normr_gt0.
1877+
near=> x.
1878+
have x0 : 0 < `|x| by rewrite normr_gt0//; near: x; exact: nbhs_dnbhs_neq.
1879+
congr (_ - _); last exact: Bfg'.
1880+
apply: Bfg; apply: (eB (`|x| * `|2 *: v|)).
1881+
- rewrite /ball_/= sub0r normrN normrM !normr_id -ltr_pdivlMr//.
1882+
by near: x; apply: dnbhs0_lt; rewrite divr_gt0.
1883+
- by rewrite mulr_gt0.
1884+
- rewrite -ball_normE/= opprD addrCA subrr addr0 normrN normrZ ltr_pM2l//.
1885+
by rewrite normrZ ltr_pMl ?normr_gt0// gtr0_norm ?ltr1n.
1886+
Unshelve. all: by end_near. Qed.
1887+
1888+
Lemma near_eq_derivable : derivable f a v -> derivable g a v.
1889+
Proof.
1890+
move=> /cvg_ex[/= l fl]; apply/cvg_ex; exists l => /=.
1891+
by apply: cvg_trans fl; apply: near_eq_cvg; exact: near_derive.
1892+
Qed.
1893+
1894+
Lemma near_eq_derive : 'D_v f a = 'D_v g a.
1895+
Proof.
1896+
rewrite /derive; congr (lim _).
1897+
have {}fg := near_derive.
1898+
rewrite eqEsubset; split; apply: near_eq_cvg=> //.
1899+
by move/filterS : fg; apply => ? /esym.
1900+
Qed.
1901+
1902+
Lemma near_eq_is_derive (df : W) : is_derive a v f df -> is_derive a v g df.
1903+
Proof.
1904+
move=> [fav <-]; rewrite near_eq_derive.
1905+
by apply: DeriveDef => //; exact: near_eq_derivable fav.
1906+
Qed.
1907+
1908+
End near_derive.
1909+
18641910
(* Trick to trigger type class resolution *)
18651911
Lemma trigger_derive (R : realType) (f : R -> R) x x1 y1 :
18661912
is_derive x (1 : R) f x1 -> x1 = y1 -> is_derive x 1 f y1.

theories/topology_theory/topology_structure.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ HB.structure Definition PointedTopological :=
104104
{T of PointedNbhs T & Nbhs_isTopological T}.
105105

106106
#[short(type="bpTopologicalType")]
107-
HB.structure Definition BiPointedTopological :=
107+
HB.structure Definition BiPointedTopological :=
108108
{ X of BiPointed X & Topological X }.
109109

110110
Section Topological1.

0 commit comments

Comments
 (0)