Skip to content

Commit d9ec1c8

Browse files
committed
convex_function generalized
1 parent 33645e1 commit d9ec1c8

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@
206206

207207
- moved from `theories` to `theories/topology_theory`:
208208
+ file `function_spaces.v`
209-
209+
210210
### Renamed
211211

212212
- in `topology_structure.v`
@@ -251,6 +251,9 @@
251251
+ lemmas `integral_itv_bndo_bndc`, `integral_itv_obnd_cbnd`,
252252
`integral_itv_bndoo`
253253

254+
- in `convex.v`:
255+
+ definition `convex_function` (from a realType as domain to a convex_lmodType as domain)
256+
254257
### Deprecated
255258

256259
- in `lebesgue_integral_nonneg.v`:

theories/convex.v

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,8 @@ Proof. by move=> ab; rewrite in_itv/= -lerN2 convN convC !conv_le ?lerN2. Qed.
220220

221221
End conv_numDomainType.
222222

223-
Definition convex_function (R : realType) (D : set R) (f : R -> R^o) :=
223+
224+
Definition convex_function (R : numFieldType) (E : lmodType R) (E' := convex_lmodType E) (D : set E') (f : E' -> R^o) :=
224225
forall (t : {i01 R}),
225-
{in D &, forall (x y : R^o), (f (x <| t |> y) <= f x <| t |> f y)%R}.
226+
{in D &, forall (x y : E'), (f (x <| t |> y) <= f x <| t |> f y)%R}.
226227
(* TODO: generalize to convTypes once we have ordered convTypes (mathcomp 2) *)

theories/hoelder.v

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -532,13 +532,14 @@ End hoelder2.
532532
Section convex_powR.
533533
Context {R : realType}.
534534
Local Open Scope ring_scope.
535+
Local Open Scope convex_scope.
535536

536537
Lemma convex_powR p : 1 <= p ->
537-
convex_function `[0, +oo[%classic (@powR R ^~ p).
538+
convex_function (`[0, +oo[%classic : set R) (@powR R ^~ p).
538539
Proof.
539540
move=> p1 t x y /[!inE] /= /[!in_itv] /= /[!andbT] x_ge0 y_ge0.
540-
have p0 : 0 < p by rewrite (lt_le_trans _ p1).
541-
rewrite !convRE; set w1 := t%:num; set w2 := t%:inum.~.
541+
have p0 : 0 < p by rewrite (lt_le_trans _ p1).
542+
rewrite convRE [X in X `^ _ <= _]convRE; set w1 := t%:num; set w2 := t%:inum.~.
542543
have [->|w20] := eqVneq w2 0.
543544
rewrite !mul0r !addr0; have [->|w10] := eqVneq w1 0.
544545
by rewrite !mul0r powR0// gt_eqF.

0 commit comments

Comments
 (0)