Skip to content

Commit 7caabe0

Browse files
committed
ln is concave
1 parent 3a7cbff commit 7caabe0

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
### Added
66

7+
- in `convex.v`:
8+
+ lemma `conv_gt0`
9+
10+
- in `exp.v`:
11+
+ lemma `concave_ln`
12+
713
### Changed
814

915
### Renamed

theories/convex.v

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,20 @@ HB.instance Definition _ := @isConvexSpace.Build R R^o
132132

133133
End realDomainType_convex_space.
134134

135+
Section conv_realDomainType.
136+
Context {R : realDomainType}.
137+
138+
Lemma conv_gt0 (a b : R^o) (t : {i01 R}) : 0 < a -> 0 < b -> 0 < a <| t |> b.
139+
Proof.
140+
move=> a0 b0.
141+
have [->|t0] := eqVneq t 0%:i01; first by rewrite conv0.
142+
have [->|t1] := eqVneq t 1%:i01; first by rewrite conv1.
143+
rewrite addr_gt0// mulr_gt0//; last by rewrite lt_neqAle eq_sym t0/=.
144+
by rewrite onem_gt0// lt_neqAle t1/=.
145+
Qed.
146+
147+
End conv_realDomainType.
148+
135149
(* ref: http://www.math.wisc.edu/~nagel/convexity.pdf *)
136150
Section twice_derivable_convex.
137151
Context {R : realType}.

theories/exp.v

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,15 @@ apply: (@is_derive_inverse R expR); first by near=> z; apply: expRK.
601601
by rewrite lnK // lt0r_neq0.
602602
Unshelve. all: by end_near. Qed.
603603

604+
Local Open Scope convex_scope.
605+
Lemma concave_ln (t : {i01 R}) (a b : R^o) : a \is Num.pos -> b \is Num.pos ->
606+
(ln a : R^o) <| t |> (ln b : R^o) <= ln (a <| t |> b).
607+
Proof.
608+
move=> a0 b0; have := convex_expR t (ln a) (ln b).
609+
by rewrite !lnK// -(@ler_ln) ?posrE ?expR_gt0 ?conv_gt0// expRK.
610+
Qed.
611+
Local Close Scope convex_scope.
612+
604613
End Ln.
605614

606615
Section PowR.

0 commit comments

Comments
 (0)