Skip to content

Commit 0106af9

Browse files
is_deriveX: is that a generalization? (#1637)
* is_deriveX, etc. --------- Co-authored-by: Quentin VERMANDE <quentin.vermande@orange.fr>
1 parent 999a24b commit 0106af9

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@
138138
- in `convex.v`
139139
+ parameter `R` of `convType` from `realDomainType` to `numDomainType`
140140

141+
- in `derive.v`:
142+
+ lemmas `is_deriveX`, `deriveX`, `exp_derive`, `exp_derive1`
143+
141144
### Deprecated
142145

143146
### Removed

theories/derive.v

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1322,9 +1322,11 @@ by rewrite deriveM // !derive_val.
13221322
Qed.
13231323

13241324
Global Instance is_deriveX f n x v (df : R) :
1325-
is_derive x v f df -> is_derive x v (f ^+ n.+1) ((n.+1%:R * f x ^+n) *: df).
1325+
is_derive x v f df -> is_derive x v (f ^+ n) ((n%:R * f x ^+ n.-1) *: df).
13261326
Proof.
1327-
move=> dfx; elim: n => [|n ihn]; first by rewrite expr1 expr0 mulr1 scale1r.
1327+
case: n => [fdf|n dfx].
1328+
by rewrite expr0 mul0r scale0r; exact: is_derive_cst.
1329+
elim: n => [|n ihn]; first by rewrite expr1 expr0 mulr1 scale1r.
13281330
rewrite exprS; apply: is_derive_eq.
13291331
rewrite scalerA -scalerDl mulrCA -[f x * _]exprS.
13301332
by rewrite [in LHS]mulr_natl exprfctE -mulrSr mulr_natl.
@@ -1334,7 +1336,7 @@ Lemma derivableX f n x v : derivable f x v -> derivable (f ^+ n) x v.
13341336
Proof. by case: n => [_|n /derivableP]; [rewrite expr0|]. Qed.
13351337

13361338
Lemma deriveX f n x v : derivable f x v ->
1337-
'D_v (f ^+ n.+1) x = (n.+1%:R * f x ^+ n) *: 'D_v f x.
1339+
'D_v (f ^+ n) x = (n%:R * f x ^+ n.-1) *: 'D_v f x.
13381340
Proof. by move=> /derivableP df; rewrite derive_val. Qed.
13391341

13401342
Fact der_inv f x v : f x != 0 -> derivable f x v ->
@@ -1413,14 +1415,14 @@ by apply: derivableM; first exact: derivable_id.
14131415
Qed.
14141416

14151417
Lemma exp_derive {R : numFieldType} n x v :
1416-
'D_v (@GRing.exp R ^~ n.+1) x = n.+1%:R *: x ^+ n *: v.
1418+
'D_v (@GRing.exp R ^~ n) x = n%:R *: x ^+ n.-1 *: v.
14171419
Proof.
14181420
have /= := @deriveX R R id n x v (@derivable_id _ _ _ _).
14191421
by rewrite fctE => ->; rewrite derive_id.
14201422
Qed.
14211423

14221424
Lemma exp_derive1 {R : numFieldType} n x :
1423-
(@GRing.exp R ^~ n.+1)^`() x = n.+1%:R *: x ^+ n.
1425+
(@GRing.exp R ^~ n)^`() x = n%:R *: x ^+ n.-1.
14241426
Proof. by rewrite derive1E exp_derive [LHS]mulr1. Qed.
14251427

14261428
Lemma EVT_max (R : realType) (f : R -> R) (a b : R) : (* TODO : Filter not infered *)

0 commit comments

Comments
 (0)