convex_functions:THEORY %------------------------------------------------------------------------------ % In This Theory, We Define Convex And Stricly Convex Functions. We Prove % That The Maximum Of Two Convex Functions Is Convex And That % A Convex Function Has At Most One Minimum % % Authors: Anthony Narkawicz, NASA Langley % % Version 1.0 9/23/2009 Initial Version % Version 1.1 10/21/2009 %------------------------------------------------------------------------------ BEGINBEGIN
IMPORTING quadratic, real_fun_ops
f,g: VAR [real -> real]
A,B,C,v,w,x,y,z,t,b,c,d: VAR real
k : VAR nat
a,H: VAR posreal
aaa: VAR nnreal
% Convex
convex?(f): bool = FORALL (x,y,t): 0 <= t and t <= 1 IMPLIES
f(t*x + (1-t)*y) <= t*f(x) + (1-t)*f(y)
% Basic Properties
composition_of_convex: LEMMA (FORALL (x,y): x<=y IMPLIES g(x)<=g(y)) AND convex?(f) AND convex?(g) IMPLIES convex?(g o f)
max_of_convex: LEMMA convex?(f) AND convex?(g) IMPLIES
convex?((LAMBDA (z): max(f(z),g(z))))
sum_of_convex: LEMMA convex?(f)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
: VARjava.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18
B =())C-()()*(Ajava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
% The Following Theorem Can Help In Proofs Where Convexity Is Used % By Allowing The User To Escape The Construction Of A Specific t-value
between_point_is_wtd_av: IMPLIESf(B)>= (B-A/(C-A))*f() (B-C/(-))*A) EXISTS(:real <t t=1 AND z = t*x + (1-t)*y)
% Sometimes, it may be convenient to have the t as the coeff of x
between_point_is_wtd_av2: LEMMAFORALL (x,y,z:java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
(EXISTS (:): 0= AND<= ANDz=(-)x +ty
% The Minima Of Convex Functions Have Certain Fun(ction) properties z=tx + (1-t)*y)
convex_const_on_connected_min: LEMMA convexjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(FORALL (z): x<=z ANDIMPLIES( (:real<t <1 IMPLIES
(FORALL (w): f(x) <= f z=(-)* +tyjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
convex_min_is_connected LEMMA ?() AND y f() =fy)
(FORALL (): x= z= f()=fz) IMPLIES
(FORALL (w): x<=w AND w<=y IMPLIES f(w) = f(x) IMPLIES
% Part B: Local Minima Of Convex Functions....FORALLz:( =()java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
loc_convex_min_is_connected: LEMMA convex
f(x) = f(y) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(FORALL (w): x<= fx (
( w:x=wANDw=IMPLIES()=()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
% Helpful results about convex functions
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
PLIESfx) java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
convex_btw_pt_right_lt: LEMMA convex?(f) AND A<=xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fB)=c IMPLIES fx)< c
convex_wtd_av_lt: LEMMA convex?(f) AND f(x)<c AND f(y) < c
F () <tANDt<
f(t*x + (1-t)*y) < c)
FORALLt:0 = % right of x and decreasing to the left of x (* +(1-)y )
convex_increasing:java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0 AND v>=x AND w>=v IMPLIES
f(w)>=f(v)
convex_decreasing: AND w<= AND v<x IMPLIES
f(w)>=f(v)
% STRICTLY CONVEX FUNCTIONS
strictly_convex?(f): bool = FORALL (x,y,t): 0 < t andjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 18
ftx +(-t*) t*fx) +(-t*()
strictly_convex_unique_min: ANDw=v ANDv=x IMPLIES
f) < ()ANDfy) < f)) IMPLIES
x = y
STRICTLY CONVEX FUNCTIONS
(FORALL
(x) =fz)AND f) =fz)
(t* 1t*)<tfx)+ (1-)f()
x = y
% Basic Properties
strictly_convex_implies_convex: LEMMAstrictly_convexf IMPLIES convex?(java.lang.StringIndexOutOfBoundsException: Range [79, 80) out of bounds for length 79 AND convex x =fz ANDfy =fz)
strictly_convex( ofjava.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
max_of_strictly_convex: LEMMA A=y =)AND
strictly_convex?g) IMPLIES
strictly_convex( (z:max(),())java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
sum_of_strictly_convex: LEMMA strictly_convex?(f) AND strictly_convex?(g) IMPLIESstrictly_convexf+)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
abs(
IN convex?maxfun
Special Case: Quadratics
abs(x + t*y)-H)) IN quad_convex LEMMA convexquadratic,b,c)
(FORALL
v = w
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
abs(x + t*y)-H))
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
abs +))
maxfun) A maxfun
(FORALL (z): (A <= z ( () = maxfunz)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
v=w
% Special Case: Exponentials Of Convex Functions
power_of_convex: LEMMA convex?(f) maxfunw)= ANDmaxfun)=0AND
convexLAMBDA(^java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
power_of_strictly_convex java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 IMPLIES strictly_convex (x) f()(k1)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.