:: RVSUM_1 semantic presentation

theorem Th1: :: RVSUM_1:1
canceled;

theorem Th2: :: RVSUM_1:2
canceled;

theorem Th3: :: RVSUM_1:3
0 is_a_unity_wrt addreal by BINOP_2:2, SETWISEO:22;

definition
redefine func diffreal -> M6([:REAL ,REAL :], REAL ) equals :Def1: :: RVSUM_1:def 1
addreal * (id REAL ),compreal ;
compatibility
for b1 being M6([:REAL ,REAL :], REAL ) holds
( b1 = diffreal iff b1 = addreal * (id REAL ),compreal )
proof end;
correctness
;
end;

:: deftheorem Def1 defines diffreal RVSUM_1:def 1 :
diffreal = addreal * (id REAL ),compreal ;

Lemma3: for b1, b2 being Element of REAL holds diffreal . b1,b2 = b1 - b2
by BINOP_2:def 10;

definition
func sqrreal -> UnOp of REAL means :Def2: :: RVSUM_1:def 2
for b1 being Element of REAL holds a1 . b1 = b1 ^2 ;
existence
ex b1 being UnOp of REAL st
for b2 being Element of REAL holds b1 . b2 = b2 ^2
proof end;
uniqueness
for b1, b2 being UnOp of REAL st ( for b3 being Element of REAL holds b1 . b3 = b3 ^2 ) & ( for b3 being Element of REAL holds b2 . b3 = b3 ^2 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines sqrreal RVSUM_1:def 2 :
for b1 being UnOp of REAL holds
( b1 = sqrreal iff for b2 being Element of REAL holds b1 . b2 = b2 ^2 );

theorem Th4: :: RVSUM_1:4
canceled;

theorem Th5: :: RVSUM_1:5
canceled;

theorem Th6: :: RVSUM_1:6
canceled;

theorem Th7: :: RVSUM_1:7
canceled;

theorem Th8: :: RVSUM_1:8
canceled;

theorem Th9: :: RVSUM_1:9
canceled;

theorem Th10: :: RVSUM_1:10
canceled;

theorem Th11: :: RVSUM_1:11
canceled;

theorem Th12: :: RVSUM_1:12
canceled;

theorem Th13: :: RVSUM_1:13
1 is_a_unity_wrt multreal by BINOP_2:7, SETWISEO:22;

theorem Th14: :: RVSUM_1:14
canceled;

theorem Th15: :: RVSUM_1:15
canceled;

theorem Th16: :: RVSUM_1:16
multreal is_distributive_wrt addreal
proof end;

theorem Th17: :: RVSUM_1:17
sqrreal is_distributive_wrt multreal
proof end;

definition
let c1 be real number ;
func c1 multreal -> UnOp of REAL equals :: RVSUM_1:def 3
multreal [;] a1,(id REAL );
coherence
multreal [;] c1,(id REAL ) is UnOp of REAL
proof end;
end;

:: deftheorem Def3 defines multreal RVSUM_1:def 3 :
for b1 being real number holds b1 multreal = multreal [;] b1,(id REAL );

Lemma7: for b1, b2 being Element of REAL holds (multreal [;] b1,(id REAL )) . b2 = b1 * b2
proof end;

theorem Th18: :: RVSUM_1:18
canceled;

theorem Th19: :: RVSUM_1:19
for b1, b2 being Element of REAL holds (b1 multreal ) . b2 = b1 * b2 by Lemma7;

theorem Th20: :: RVSUM_1:20
for b1 being Element of REAL holds b1 multreal is_distributive_wrt addreal by Th16, FINSEQOP:55;

theorem Th21: :: RVSUM_1:21
compreal is_an_inverseOp_wrt addreal
proof end;

theorem Th22: :: RVSUM_1:22
addreal has_an_inverseOp by Th21, FINSEQOP:def 2;

theorem Th23: :: RVSUM_1:23
the_inverseOp_wrt addreal = compreal by Th21, Th22, FINSEQOP:def 3;

theorem Th24: :: RVSUM_1:24
compreal is_distributive_wrt addreal by Th22, Th23, FINSEQOP:67;

definition
let c1, c2 be FinSequence of REAL ;
func c1 + c2 -> FinSequence of REAL equals :: RVSUM_1:def 4
addreal .: a1,a2;
correctness
coherence
addreal .: c1,c2 is FinSequence of REAL
;
;
commutativity
for b1, b2, b3 being FinSequence of REAL st b1 = addreal .: b2,b3 holds
b1 = addreal .: b3,b2
proof end;
end;

:: deftheorem Def4 defines + RVSUM_1:def 4 :
for b1, b2 being FinSequence of REAL holds b1 + b2 = addreal .: b1,b2;

theorem Th25: :: RVSUM_1:25
canceled;

theorem Th26: :: RVSUM_1:26
for b1 being Nat
for b2, b3 being FinSequence of REAL st b1 in dom (b2 + b3) holds
(b2 + b3) . b1 = (b2 . b1) + (b3 . b1)
proof end;

definition
let c1 be Nat;
let c2, c3 be Element of c1 -tuples_on REAL ;
redefine func + as c2 + c3 -> Element of a1 -tuples_on REAL ;
coherence
c2 + c3 is Element of c1 -tuples_on REAL
by FINSEQ_2:140;
end;

theorem Th27: :: RVSUM_1:27
for b1, b2 being Nat
for b3, b4 being Element of b1 -tuples_on REAL holds (b3 + b4) . b2 = (b3 . b2) + (b4 . b2)
proof end;

theorem Th28: :: RVSUM_1:28
for b1 being FinSequence of REAL holds (<*> REAL ) + b1 = <*> REAL by FINSEQ_2:87;

theorem Th29: :: RVSUM_1:29
for b1, b2 being Element of REAL holds <*b1*> + <*b2*> = <*(b1 + b2)*>
proof end;

theorem Th30: :: RVSUM_1:30
for b1 being Nat
for b2, b3 being Element of REAL holds (b1 |-> b2) + (b1 |-> b3) = b1 |-> (b2 + b3)
proof end;

theorem Th31: :: RVSUM_1:31
canceled;

theorem Th32: :: RVSUM_1:32
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL holds b2 + (b3 + b4) = (b2 + b3) + b4 by FINSEQOP:29;

theorem Th33: :: RVSUM_1:33
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds b2 + (b1 |-> 0) = b2 by BINOP_2:2, FINSEQOP:57;

definition
let c1 be FinSequence of REAL ;
func - c1 -> FinSequence of REAL equals :: RVSUM_1:def 5
compreal * a1;
correctness
coherence
compreal * c1 is FinSequence of REAL
;
;
involutiveness
for b1, b2 being FinSequence of REAL st b1 = compreal * b2 holds
b2 = compreal * b1
proof end;
end;

:: deftheorem Def5 defines - RVSUM_1:def 5 :
for b1 being FinSequence of REAL holds - b1 = compreal * b1;

theorem Th34: :: RVSUM_1:34
for b1 being FinSequence of REAL holds dom b1 = dom (- b1)
proof end;

theorem Th35: :: RVSUM_1:35
for b1 being Nat
for b2 being FinSequence of REAL holds (- b2) . b1 = - (b2 . b1)
proof end;

definition
let c1 be Nat;
let c2 be Element of c1 -tuples_on REAL ;
redefine func - as - c2 -> Element of a1 -tuples_on REAL ;
coherence
- c2 is Element of c1 -tuples_on REAL
by FINSEQ_2:133;
end;

theorem Th36: :: RVSUM_1:36
for b1, b2 being Nat
for b3 being Element of REAL
for b4 being Element of b1 -tuples_on REAL st b3 = b4 . b2 holds
(- b4) . b2 = - b3 by Th35;

theorem Th37: :: RVSUM_1:37
- (<*> REAL ) = <*> REAL by FINSEQ_2:38;

theorem Th38: :: RVSUM_1:38
for b1 being Element of REAL holds - <*b1*> = <*(- b1)*>
proof end;

theorem Th39: :: RVSUM_1:39
for b1 being Nat
for b2 being Element of REAL holds - (b1 |-> b2) = b1 |-> (- b2)
proof end;

theorem Th40: :: RVSUM_1:40
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds b2 + (- b2) = b1 |-> 0 by Th22, Th23, BINOP_2:2, FINSEQOP:77;

theorem Th41: :: RVSUM_1:41
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL st b2 + b3 = b1 |-> 0 holds
b2 = - b3 by Th22, Th23, BINOP_2:2, FINSEQOP:78;

theorem Th42: :: RVSUM_1:42
canceled;

theorem Th43: :: RVSUM_1:43
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL st - b2 = - b3 holds
b2 = b3
proof end;

theorem Th44: :: RVSUM_1:44
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL st b2 + b3 = b4 + b3 holds
b2 = b4
proof end;

theorem Th45: :: RVSUM_1:45
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds - (b2 + b3) = (- b2) + (- b3)
proof end;

definition
let c1, c2 be FinSequence of REAL ;
func c1 - c2 -> FinSequence of REAL equals :: RVSUM_1:def 6
diffreal .: a1,a2;
correctness
coherence
diffreal .: c1,c2 is FinSequence of REAL
;
;
end;

:: deftheorem Def6 defines - RVSUM_1:def 6 :
for b1, b2 being FinSequence of REAL holds b1 - b2 = diffreal .: b1,b2;

theorem Th46: :: RVSUM_1:46
canceled;

theorem Th47: :: RVSUM_1:47
for b1 being Nat
for b2, b3 being FinSequence of REAL st b1 in dom (b2 - b3) holds
(b2 - b3) . b1 = (b2 . b1) - (b3 . b1)
proof end;

definition
let c1 be Nat;
let c2, c3 be Element of c1 -tuples_on REAL ;
redefine func - as c2 - c3 -> Element of a1 -tuples_on REAL ;
coherence
c2 - c3 is Element of c1 -tuples_on REAL
by FINSEQ_2:140;
end;

theorem Th48: :: RVSUM_1:48
for b1, b2 being Nat
for b3, b4 being Element of b1 -tuples_on REAL holds (b3 - b4) . b2 = (b3 . b2) - (b4 . b2)
proof end;

theorem Th49: :: RVSUM_1:49
for b1 being FinSequence of REAL holds
( (<*> REAL ) - b1 = <*> REAL & b1 - (<*> REAL ) = <*> REAL ) by FINSEQ_2:87;

theorem Th50: :: RVSUM_1:50
for b1, b2 being Element of REAL holds <*b1*> - <*b2*> = <*(b1 - b2)*>
proof end;

theorem Th51: :: RVSUM_1:51
for b1 being Nat
for b2, b3 being Element of REAL holds (b1 |-> b2) - (b1 |-> b3) = b1 |-> (b2 - b3)
proof end;

theorem Th52: :: RVSUM_1:52
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds b2 - b3 = b2 + (- b3) by Def1, FINSEQOP:89;

theorem Th53: :: RVSUM_1:53
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds b2 - (b1 |-> 0) = b2
proof end;

theorem Th54: :: RVSUM_1:54
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds (b1 |-> 0) - b2 = - b2
proof end;

theorem Th55: :: RVSUM_1:55
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds b2 - (- b3) = b2 + b3
proof end;

theorem Th56: :: RVSUM_1:56
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds - (b2 - b3) = b3 - b2
proof end;

theorem Th57: :: RVSUM_1:57
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds - (b2 - b3) = (- b2) + b3
proof end;

theorem Th58: :: RVSUM_1:58
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds b2 - b2 = b1 |-> 0
proof end;

theorem Th59: :: RVSUM_1:59
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL st b2 - b3 = b1 |-> 0 holds
b2 = b3
proof end;

theorem Th60: :: RVSUM_1:60
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL holds (b2 - b3) - b4 = b2 - (b3 + b4)
proof end;

theorem Th61: :: RVSUM_1:61
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL holds b2 + (b3 - b4) = (b2 + b3) - b4
proof end;

theorem Th62: :: RVSUM_1:62
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL holds b2 - (b3 - b4) = (b2 - b3) + b4
proof end;

theorem Th63: :: RVSUM_1:63
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds b2 = (b2 + b3) - b3
proof end;

theorem Th64: :: RVSUM_1:64
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds b2 = (b2 - b3) + b3
proof end;

definition
let c1 be real number ;
let c2 be FinSequence of REAL ;
func c1 * c2 -> FinSequence of REAL equals :: RVSUM_1:def 7
(a1 multreal ) * a2;
correctness
coherence
(c1 multreal ) * c2 is FinSequence of REAL
;
;
end;

:: deftheorem Def7 defines * RVSUM_1:def 7 :
for b1 being real number
for b2 being FinSequence of REAL holds b1 * b2 = (b1 multreal ) * b2;

theorem Th65: :: RVSUM_1:65
for b1 being Element of REAL
for b2 being FinSequence of REAL holds dom (b1 * b2) = dom b2
proof end;

theorem Th66: :: RVSUM_1:66
for b1 being Nat
for b2 being Element of REAL
for b3 being FinSequence of REAL holds (b2 * b3) . b1 = b2 * (b3 . b1)
proof end;

definition
let c1 be Nat;
let c2 be real number ;
let c3 be Element of c1 -tuples_on REAL ;
redefine func * as c2 * c3 -> Element of a1 -tuples_on REAL ;
coherence
c2 * c3 is Element of c1 -tuples_on REAL
by FINSEQ_2:133;
end;

theorem Th67: :: RVSUM_1:67
for b1, b2 being Nat
for b3 being Element of REAL
for b4 being Element of b1 -tuples_on REAL holds (b3 * b4) . b2 = b3 * (b4 . b2) by Th66;

theorem Th68: :: RVSUM_1:68
for b1 being Element of REAL holds b1 * (<*> REAL ) = <*> REAL by FINSEQ_2:38;

theorem Th69: :: RVSUM_1:69
for b1, b2 being Element of REAL holds b1 * <*b2*> = <*(b1 * b2)*>
proof end;

theorem Th70: :: RVSUM_1:70
for b1 being Nat
for b2, b3 being Element of REAL holds b2 * (b1 |-> b3) = b1 |-> (b2 * b3)
proof end;

theorem Th71: :: RVSUM_1:71
for b1 being Nat
for b2, b3 being Element of REAL
for b4 being Element of b1 -tuples_on REAL holds (b2 * b3) * b4 = b2 * (b3 * b4)
proof end;

theorem Th72: :: RVSUM_1:72
for b1 being Nat
for b2, b3 being Element of REAL
for b4 being Element of b1 -tuples_on REAL holds (b2 + b3) * b4 = (b2 * b4) + (b3 * b4)
proof end;

theorem Th73: :: RVSUM_1:73
for b1 being Nat
for b2 being Element of REAL
for b3, b4 being Element of b1 -tuples_on REAL holds b2 * (b3 + b4) = (b2 * b3) + (b2 * b4)
proof end;

theorem Th74: :: RVSUM_1:74
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds 1 * b2 = b2
proof end;

theorem Th75: :: RVSUM_1:75
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds 0 * b2 = b1 |-> 0
proof end;

theorem Th76: :: RVSUM_1:76
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds (- 1) * b2 = - b2
proof end;

definition
let c1 be FinSequence of REAL ;
func sqr c1 -> FinSequence of REAL equals :: RVSUM_1:def 8
sqrreal * a1;
correctness
coherence
sqrreal * c1 is FinSequence of REAL
;
;
end;

:: deftheorem Def8 defines sqr RVSUM_1:def 8 :
for b1 being FinSequence of REAL holds sqr b1 = sqrreal * b1;

theorem Th77: :: RVSUM_1:77
for b1 being FinSequence of REAL holds dom (sqr b1) = dom b1
proof end;

theorem Th78: :: RVSUM_1:78
for b1 being Nat
for b2 being FinSequence of REAL holds (sqr b2) . b1 = (b2 . b1) ^2
proof end;

definition
let c1 be Nat;
let c2 be Element of c1 -tuples_on REAL ;
redefine func sqr as sqr c2 -> Element of a1 -tuples_on REAL ;
coherence
sqr c2 is Element of c1 -tuples_on REAL
by FINSEQ_2:133;
end;

theorem Th79: :: RVSUM_1:79
for b1, b2 being Nat
for b3 being Element of b1 -tuples_on REAL holds (sqr b3) . b2 = (b3 . b2) ^2 by Th78;

theorem Th80: :: RVSUM_1:80
sqr (<*> REAL ) = <*> REAL by FINSEQ_2:38;

theorem Th81: :: RVSUM_1:81
for b1 being Element of REAL holds sqr <*b1*> = <*(b1 ^2 )*>
proof end;

theorem Th82: :: RVSUM_1:82
for b1 being Nat
for b2 being Element of REAL holds sqr (b1 |-> b2) = b1 |-> (b2 ^2 )
proof end;

theorem Th83: :: RVSUM_1:83
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds sqr (- b2) = sqr b2
proof end;

theorem Th84: :: RVSUM_1:84
for b1 being Nat
for b2 being Element of REAL
for b3 being Element of b1 -tuples_on REAL holds sqr (b2 * b3) = (b2 ^2 ) * (sqr b3)
proof end;

definition
let c1, c2 be FinSequence of REAL ;
func mlt c1,c2 -> FinSequence of REAL equals :: RVSUM_1:def 9
multreal .: a1,a2;
correctness
coherence
multreal .: c1,c2 is FinSequence of REAL
;
;
commutativity
for b1, b2, b3 being FinSequence of REAL st b1 = multreal .: b2,b3 holds
b1 = multreal .: b3,b2
proof end;
end;

:: deftheorem Def9 defines mlt RVSUM_1:def 9 :
for b1, b2 being FinSequence of REAL holds mlt b1,b2 = multreal .: b1,b2;

theorem Th85: :: RVSUM_1:85
canceled;

theorem Th86: :: RVSUM_1:86
for b1 being Nat
for b2, b3 being FinSequence of REAL st b1 in dom (mlt b2,b3) holds
(mlt b2,b3) . b1 = (b2 . b1) * (b3 . b1)
proof end;

definition
let c1 be Nat;
let c2, c3 be Element of c1 -tuples_on REAL ;
redefine func mlt as mlt c2,c3 -> Element of a1 -tuples_on REAL ;
coherence
mlt c2,c3 is Element of c1 -tuples_on REAL
by FINSEQ_2:140;
end;

theorem Th87: :: RVSUM_1:87
for b1, b2 being Nat
for b3, b4 being Element of b1 -tuples_on REAL holds (mlt b3,b4) . b2 = (b3 . b2) * (b4 . b2)
proof end;

theorem Th88: :: RVSUM_1:88
for b1 being FinSequence of REAL holds mlt (<*> REAL ),b1 = <*> REAL by FINSEQ_2:87;

theorem Th89: :: RVSUM_1:89
for b1, b2 being Element of REAL holds mlt <*b1*>,<*b2*> = <*(b1 * b2)*>
proof end;

theorem Th90: :: RVSUM_1:90
canceled;

theorem Th91: :: RVSUM_1:91
for b1 being Nat
for b2, b3, b4 being Element of b1 -tuples_on REAL holds mlt b2,(mlt b3,b4) = mlt (mlt b2,b3),b4 by FINSEQOP:29;

theorem Th92: :: RVSUM_1:92
for b1 being Nat
for b2 being Element of REAL
for b3 being Element of b1 -tuples_on REAL holds mlt (b1 |-> b2),b3 = b2 * b3
proof end;

theorem Th93: :: RVSUM_1:93
for b1 being Nat
for b2, b3 being Element of REAL holds mlt (b1 |-> b2),(b1 |-> b3) = b1 |-> (b2 * b3)
proof end;

theorem Th94: :: RVSUM_1:94
for b1 being Nat
for b2 being Element of REAL
for b3, b4 being Element of b1 -tuples_on REAL holds b2 * (mlt b3,b4) = mlt (b2 * b3),b4 by FINSEQOP:27;

theorem Th95: :: RVSUM_1:95
canceled;

theorem Th96: :: RVSUM_1:96
for b1 being Nat
for b2 being Element of REAL
for b3 being Element of b1 -tuples_on REAL holds b2 * b3 = mlt (b1 |-> b2),b3 by Th92;

theorem Th97: :: RVSUM_1:97
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds sqr b2 = mlt b2,b2
proof end;

theorem Th98: :: RVSUM_1:98
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds sqr (b2 + b3) = ((sqr b2) + (2 * (mlt b2,b3))) + (sqr b3)
proof end;

theorem Th99: :: RVSUM_1:99
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds sqr (b2 - b3) = ((sqr b2) - (2 * (mlt b2,b3))) + (sqr b3)
proof end;

theorem Th100: :: RVSUM_1:100
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds sqr (mlt b2,b3) = mlt (sqr b2),(sqr b3) by Th17, FINSEQOP:52;

definition
let c1 be FinSequence of REAL ;
func Sum c1 -> Real equals :: RVSUM_1:def 10
addreal $$ a1;
coherence
addreal $$ c1 is Real
;
end;

:: deftheorem Def10 defines Sum RVSUM_1:def 10 :
for b1 being FinSequence of REAL holds Sum b1 = addreal $$ b1;

theorem Th101: :: RVSUM_1:101
canceled;

theorem Th102: :: RVSUM_1:102
Sum (<*> REAL ) = 0 by BINOP_2:2, FINSOP_1:11;

theorem Th103: :: RVSUM_1:103
for b1 being Element of REAL holds Sum <*b1*> = b1 by FINSOP_1:12;

theorem Th104: :: RVSUM_1:104
for b1 being Element of REAL
for b2 being FinSequence of REAL holds Sum (b2 ^ <*b1*>) = (Sum b2) + b1
proof end;

theorem Th105: :: RVSUM_1:105
for b1, b2 being FinSequence of REAL holds Sum (b1 ^ b2) = (Sum b1) + (Sum b2)
proof end;

theorem Th106: :: RVSUM_1:106
for b1 being Element of REAL
for b2 being FinSequence of REAL holds Sum (<*b1*> ^ b2) = b1 + (Sum b2)
proof end;

theorem Th107: :: RVSUM_1:107
for b1, b2 being Element of REAL holds Sum <*b1,b2*> = b1 + b2
proof end;

theorem Th108: :: RVSUM_1:108
for b1, b2, b3 being Element of REAL holds Sum <*b1,b2,b3*> = (b1 + b2) + b3
proof end;

theorem Th109: :: RVSUM_1:109
for b1 being Element of 0 -tuples_on REAL holds Sum b1 = 0 by Th102, FINSEQ_2:113;

theorem Th110: :: RVSUM_1:110
for b1 being Nat
for b2 being Element of REAL holds Sum (b1 |-> b2) = b1 * b2
proof end;

theorem Th111: :: RVSUM_1:111
for b1 being Nat holds Sum (b1 |-> 0) = 0
proof end;

theorem Th112: :: RVSUM_1:112
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL st ( for b4 being Nat st b4 in Seg b1 holds
b2 . b4 <= b3 . b4 ) holds
Sum b2 <= Sum b3
proof end;

theorem Th113: :: RVSUM_1:113
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL st ( for b4 being Nat st b4 in Seg b1 holds
b2 . b4 <= b3 . b4 ) & ex b4 being Nat st
( b4 in Seg b1 & b2 . b4 < b3 . b4 ) holds
Sum b2 < Sum b3
proof end;

theorem Th114: :: RVSUM_1:114
for b1 being FinSequence of REAL st ( for b2 being Nat st b2 in dom b1 holds
0 <= b1 . b2 ) holds
0 <= Sum b1
proof end;

theorem Th115: :: RVSUM_1:115
for b1 being FinSequence of REAL st ( for b2 being Nat st b2 in dom b1 holds
0 <= b1 . b2 ) & ex b2 being Nat st
( b2 in dom b1 & 0 < b1 . b2 ) holds
0 < Sum b1
proof end;

theorem Th116: :: RVSUM_1:116
for b1 being FinSequence of REAL holds 0 <= Sum (sqr b1)
proof end;

theorem Th117: :: RVSUM_1:117
for b1 being Element of REAL
for b2 being FinSequence of REAL holds Sum (b1 * b2) = b1 * (Sum b2)
proof end;

theorem Th118: :: RVSUM_1:118
for b1 being FinSequence of REAL holds Sum (- b1) = - (Sum b1)
proof end;

theorem Th119: :: RVSUM_1:119
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds Sum (b2 + b3) = (Sum b2) + (Sum b3)
proof end;

theorem Th120: :: RVSUM_1:120
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds Sum (b2 - b3) = (Sum b2) - (Sum b3)
proof end;

theorem Th121: :: RVSUM_1:121
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL st Sum (sqr b2) = 0 holds
b2 = b1 |-> 0
proof end;

theorem Th122: :: RVSUM_1:122
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds (Sum (mlt b2,b3)) ^2 <= (Sum (sqr b2)) * (Sum (sqr b3))
proof end;

definition
let c1 be FinSequence of REAL ;
func Product c1 -> Real equals :: RVSUM_1:def 11
multreal $$ a1;
coherence
multreal $$ c1 is Real
;
end;

:: deftheorem Def11 defines Product RVSUM_1:def 11 :
for b1 being FinSequence of REAL holds Product b1 = multreal $$ b1;

theorem Th123: :: RVSUM_1:123
canceled;

theorem Th124: :: RVSUM_1:124
Product (<*> REAL ) = 1 by BINOP_2:7, FINSOP_1:11;

theorem Th125: :: RVSUM_1:125
for b1 being Element of REAL holds Product <*b1*> = b1 by FINSOP_1:12;

theorem Th126: :: RVSUM_1:126
for b1 being Element of REAL
for b2 being FinSequence of REAL holds Product (b2 ^ <*b1*>) = (Product b2) * b1
proof end;

theorem Th127: :: RVSUM_1:127
for b1, b2 being FinSequence of REAL holds Product (b1 ^ b2) = (Product b1) * (Product b2)
proof end;

theorem Th128: :: RVSUM_1:128
for b1 being Element of REAL
for b2 being FinSequence of REAL holds Product (<*b1*> ^ b2) = b1 * (Product b2)
proof end;

theorem Th129: :: RVSUM_1:129
for b1, b2 being Element of REAL holds Product <*b1,b2*> = b1 * b2
proof end;

theorem Th130: :: RVSUM_1:130
for b1, b2, b3 being Element of REAL holds Product <*b1,b2,b3*> = (b1 * b2) * b3
proof end;

theorem Th131: :: RVSUM_1:131
for b1 being Element of 0 -tuples_on REAL holds Product b1 = 1 by Th124, FINSEQ_2:113;

theorem Th132: :: RVSUM_1:132
for b1 being Nat holds Product (b1 |-> 1) = 1 by BINOP_2:7, SETWOP_2:35;

theorem Th133: :: RVSUM_1:133
for b1 being FinSequence of REAL holds
( ex b2 being Nat st
( b2 in dom b1 & b1 . b2 = 0 ) iff Product b1 = 0 )
proof end;

theorem Th134: :: RVSUM_1:134
for b1, b2 being Nat
for b3 being Element of REAL holds Product ((b1 + b2) |-> b3) = (Product (b1 |-> b3)) * (Product (b2 |-> b3))
proof end;

theorem Th135: :: RVSUM_1:135
for b1, b2 being Nat
for b3 being Element of REAL holds Product ((b1 * b2) |-> b3) = Product (b2 |-> (Product (b1 |-> b3))) by SETWOP_2:38;

theorem Th136: :: RVSUM_1:136
for b1 being Nat
for b2, b3 being Element of REAL holds Product (b1 |-> (b2 * b3)) = (Product (b1 |-> b2)) * (Product (b1 |-> b3))
proof end;

theorem Th137: :: RVSUM_1:137
for b1 being Nat
for b2, b3 being Element of b1 -tuples_on REAL holds Product (mlt b2,b3) = (Product b2) * (Product b3)
proof end;

theorem Th138: :: RVSUM_1:138
for b1 being Nat
for b2 being Element of REAL
for b3 being Element of b1 -tuples_on REAL holds Product (b2 * b3) = (Product (b1 |-> b2)) * (Product b3)
proof end;

theorem Th139: :: RVSUM_1:139
for b1 being Nat
for b2 being Element of b1 -tuples_on REAL holds Product (sqr b2) = (Product b2) ^2
proof end;