:: CONVFUN1 semantic presentation
definition
let c1,
c2 be non
empty RLSStruct ;
func Add_in_Prod_of_RLS c1,
c2 -> BinOp of
[:the carrier of a1,the carrier of a2:] means :
Def1:
:: CONVFUN1:def 1
for
b1,
b2 being
Element of
[:the carrier of a1,the carrier of a2:] for
b3,
b4 being
VECTOR of
a1 for
b5,
b6 being
VECTOR of
a2 st
b1 = [b3,b5] &
b2 = [b4,b6] holds
a3 . b1,
b2 = [(the add of a1 . [b3,b4]),(the add of a2 . [b5,b6])];
existence
ex b1 being BinOp of [:the carrier of c1,the carrier of c2:] st
for b2, b3 being Element of [:the carrier of c1,the carrier of c2:]
for b4, b5 being VECTOR of c1
for b6, b7 being VECTOR of c2 st b2 = [b4,b6] & b3 = [b5,b7] holds
b1 . b2,b3 = [(the add of c1 . [b4,b5]),(the add of c2 . [b6,b7])]
uniqueness
for b1, b2 being BinOp of [:the carrier of c1,the carrier of c2:] st ( for b3, b4 being Element of [:the carrier of c1,the carrier of c2:]
for b5, b6 being VECTOR of c1
for b7, b8 being VECTOR of c2 st b3 = [b5,b7] & b4 = [b6,b8] holds
b1 . b3,b4 = [(the add of c1 . [b5,b6]),(the add of c2 . [b7,b8])] ) & ( for b3, b4 being Element of [:the carrier of c1,the carrier of c2:]
for b5, b6 being VECTOR of c1
for b7, b8 being VECTOR of c2 st b3 = [b5,b7] & b4 = [b6,b8] holds
b2 . b3,b4 = [(the add of c1 . [b5,b6]),(the add of c2 . [b7,b8])] ) holds
b1 = b2
end;
:: deftheorem Def1 defines Add_in_Prod_of_RLS CONVFUN1:def 1 :
for
b1,
b2 being non
empty RLSStruct for
b3 being
BinOp of
[:the carrier of b1,the carrier of b2:] holds
(
b3 = Add_in_Prod_of_RLS b1,
b2 iff for
b4,
b5 being
Element of
[:the carrier of b1,the carrier of b2:] for
b6,
b7 being
VECTOR of
b1 for
b8,
b9 being
VECTOR of
b2 st
b4 = [b6,b8] &
b5 = [b7,b9] holds
b3 . b4,
b5 = [(the add of b1 . [b6,b7]),(the add of b2 . [b8,b9])] );
definition
let c1,
c2 be non
empty RLSStruct ;
func Mult_in_Prod_of_RLS c1,
c2 -> Function of
[:REAL ,[:the carrier of a1,the carrier of a2:]:],
[:the carrier of a1,the carrier of a2:] means :
Def2:
:: CONVFUN1:def 2
for
b1 being
Real for
b2 being
Element of
[:the carrier of a1,the carrier of a2:] for
b3 being
VECTOR of
a1 for
b4 being
VECTOR of
a2 st
b2 = [b3,b4] holds
a3 . [b1,b2] = [(the Mult of a1 . [b1,b3]),(the Mult of a2 . [b1,b4])];
existence
ex b1 being Function of [:REAL ,[:the carrier of c1,the carrier of c2:]:],[:the carrier of c1,the carrier of c2:] st
for b2 being Real
for b3 being Element of [:the carrier of c1,the carrier of c2:]
for b4 being VECTOR of c1
for b5 being VECTOR of c2 st b3 = [b4,b5] holds
b1 . [b2,b3] = [(the Mult of c1 . [b2,b4]),(the Mult of c2 . [b2,b5])]
uniqueness
for b1, b2 being Function of [:REAL ,[:the carrier of c1,the carrier of c2:]:],[:the carrier of c1,the carrier of c2:] st ( for b3 being Real
for b4 being Element of [:the carrier of c1,the carrier of c2:]
for b5 being VECTOR of c1
for b6 being VECTOR of c2 st b4 = [b5,b6] holds
b1 . [b3,b4] = [(the Mult of c1 . [b3,b5]),(the Mult of c2 . [b3,b6])] ) & ( for b3 being Real
for b4 being Element of [:the carrier of c1,the carrier of c2:]
for b5 being VECTOR of c1
for b6 being VECTOR of c2 st b4 = [b5,b6] holds
b2 . [b3,b4] = [(the Mult of c1 . [b3,b5]),(the Mult of c2 . [b3,b6])] ) holds
b1 = b2
end;
:: deftheorem Def2 defines Mult_in_Prod_of_RLS CONVFUN1:def 2 :
for
b1,
b2 being non
empty RLSStruct for
b3 being
Function of
[:REAL ,[:the carrier of b1,the carrier of b2:]:],
[:the carrier of b1,the carrier of b2:] holds
(
b3 = Mult_in_Prod_of_RLS b1,
b2 iff for
b4 being
Real for
b5 being
Element of
[:the carrier of b1,the carrier of b2:] for
b6 being
VECTOR of
b1 for
b7 being
VECTOR of
b2 st
b5 = [b6,b7] holds
b3 . [b4,b5] = [(the Mult of b1 . [b4,b6]),(the Mult of b2 . [b4,b7])] );
definition
let c1,
c2 be non
empty RLSStruct ;
func Prod_of_RLS c1,
c2 -> RLSStruct equals :: CONVFUN1:def 3
RLSStruct(#
[:the carrier of a1,the carrier of a2:],
[(0. a1),(0. a2)],
(Add_in_Prod_of_RLS a1,a2),
(Mult_in_Prod_of_RLS a1,a2) #);
correctness
coherence
RLSStruct(# [:the carrier of c1,the carrier of c2:],[(0. c1),(0. c2)],(Add_in_Prod_of_RLS c1,c2),(Mult_in_Prod_of_RLS c1,c2) #) is RLSStruct ;
;
end;
:: deftheorem Def3 defines Prod_of_RLS CONVFUN1:def 3 :
theorem Th1: :: CONVFUN1:1
theorem Th2: :: CONVFUN1:2
Lemma5:
for b1, b2 being non empty RLSStruct holds 0. (Prod_of_RLS b1,b2) = [(0. b1),(0. b2)]
by RLVECT_1:def 2;
theorem Th3: :: CONVFUN1:3
:: deftheorem Def4 defines RLS_Real CONVFUN1:def 4 :
Lemma7:
for b1 being VECTOR of RLS_Real
for b2, b3 being Real st b1 = b2 holds
b3 * b1 = b3 * b2
Lemma8:
for b1, b2 being VECTOR of RLS_Real
for b3, b4 being Real st b1 = b3 & b2 = b4 holds
b1 + b2 = b3 + b4
Lemma9:
for b1 being non empty RLSStruct
for b2 being VECTOR of b1
for b3 being VECTOR of (Prod_of_RLS b1,RLS_Real )
for b4, b5 being Real st b3 = [b2,b5] holds
b4 * b3 = [(b4 * b2),(b4 * b5)]
Lemma10:
for b1 being non empty RLSStruct
for b2, b3 being VECTOR of b1
for b4, b5 being Real
for b6, b7 being VECTOR of (Prod_of_RLS b1,RLS_Real ) st b6 = [b2,b4] & b7 = [b3,b5] holds
b6 + b7 = [(b2 + b3),(b4 + b5)]
Lemma11:
for b1 being FinSequence of the carrier of RLS_Real
for b2 being FinSequence of REAL st len b1 = len b2 & ( for b3 being Nat st b3 in dom b1 holds
b1 . b3 = b2 . b3 ) holds
Sum b1 = Sum b2
:: deftheorem Def5 defines Sum CONVFUN1:def 5 :
theorem Th4: :: CONVFUN1:4
theorem Th5: :: CONVFUN1:5
Lemma15:
for b1 being FinSequence of ExtREAL
for b2 being Element of ExtREAL holds Sum (b1 ^ <*b2*>) = (Sum b1) + b2
theorem Th6: :: CONVFUN1:6
Lemma17:
for b1 being FinSequence of ExtREAL st not -infty in rng b1 holds
Sum b1 <> -infty
Lemma18:
for b1 being FinSequence of ExtREAL st +infty in rng b1 & not -infty in rng b1 holds
Sum b1 = +infty
Lemma19:
for b1 being FinSequence of ExtREAL
for b2 being FinSequence of REAL st len b1 = len b2 & ( for b3 being Nat st b3 in dom b1 holds
b1 . b3 = b2 . b3 ) holds
Sum b1 = Sum b2
Lemma20:
for b1 being Nat
for b2 being FinSequence of ExtREAL
for b3 being FinSequence of the carrier of RLS_Real st len b2 = b1 & len b3 = b1 & ( for b4 being Nat st b4 in Seg b1 holds
b2 . b4 = b3 . b4 ) holds
Sum b2 = Sum b3
theorem Th7: :: CONVFUN1:7
Lemma22:
for b1, b2 being Nat st b2 in Seg (b1 + 1) holds
ex b3 being Permutation of Seg (b1 + 1) st
for b4 being Nat st b4 in Seg (b1 + 1) holds
( ( b4 < b2 implies b3 . b4 = b4 ) & ( b4 = b2 implies b3 . b4 = b1 + 1 ) & ( b4 > b2 implies b3 . b4 = b4 - 1 ) )
Lemma23:
for b1, b2 being Nat
for b3, b4 being Permutation of Seg (b1 + 1)
for b5 being FinSequence of Seg (b1 + 1) st b5 = b3 & b2 = b3 . (b1 + 1) & ( for b6 being Nat st b6 in Seg (b1 + 1) holds
( ( b6 < b2 implies b4 . b6 = b6 ) & ( b6 = b2 implies b4 . b6 = b1 + 1 ) & ( b6 > b2 implies b4 . b6 = b6 - 1 ) ) ) holds
b4 * (b5 | b1) is Permutation of Seg b1
Lemma24:
for b1, b2 being Nat
for b3 being Permutation of Seg (b1 + 1)
for b4, b5 being FinSequence of ExtREAL st b4 = b5 * b3 & b2 in Seg (b1 + 1) & len b5 = b1 + 1 & not -infty in rng b5 & ( for b6 being Nat st b6 in Seg (b1 + 1) holds
( ( b6 < b2 implies b3 . b6 = b6 ) & ( b6 = b2 implies b3 . b6 = b1 + 1 ) & ( b6 > b2 implies b3 . b6 = b6 - 1 ) ) ) holds
Sum b4 = Sum b5
theorem Th8: :: CONVFUN1:8
Lemma26:
for b1 being FinSequence of ExtREAL st rng b1 c= {0. } holds
Sum b1 = 0.
Lemma27:
for b1 being FinSequence of REAL st rng b1 c= {0} holds
Sum b1 = 0
Lemma28:
for b1 being RealLinearSpace
for b2 being FinSequence of the carrier of b1 st rng b2 c= {(0. b1)} holds
Sum b2 = 0. b1
:: deftheorem Def6 defines epigraph CONVFUN1:def 6 :
:: deftheorem Def7 defines convex CONVFUN1:def 7 :
Lemma30:
for b1 being R_eal
for b2, b3 being Real st b1 = b2 holds
b3 * b2 = (R_EAL b3) * b1
Lemma31:
for b1, b2 being R_eal
for b3, b4, b5, b6 being Real st b1 = b3 & b2 = b4 holds
(b5 * b3) + (b6 * b4) = ((R_EAL b5) * b1) + ((R_EAL b6) * b2)
theorem Th9: :: CONVFUN1:9
theorem Th10: :: CONVFUN1:10
theorem Th11: :: CONVFUN1:11
theorem Th12: :: CONVFUN1:12
Lemma34:
for b1 being RealLinearSpace
for b2 being Function of the carrier of b1, ExtREAL
for b3 being non empty Nat
for b4 being FinSequence of REAL
for b5 being FinSequence of ExtREAL
for b6 being FinSequence of the carrier of b1 st len b4 = b3 & len b5 = b3 & len b6 = b3 & ( for b7 being VECTOR of b1 holds b2 . b7 <> -infty ) & ( for b7 being Nat st b7 in Seg b3 holds
( b4 . b7 >= 0 & b5 . b7 = (R_EAL (b4 . b7)) * (b2 . (b6 /. b7)) ) ) holds
not -infty in rng b5
theorem Th13: :: CONVFUN1:13
Lemma36:
for b1 being FinSequence of REAL ex b2 being Permutation of dom b1ex b3 being Nat st
for b4 being Nat st b4 in dom b1 holds
( b4 in Seg b3 iff b1 . (b2 . b4) <> 0 )
theorem Th14: :: CONVFUN1:14