:: On the Partial Product of Series and Related Basic Inequalities
:: by Fuguo Ge and Xiquan Liang
::
:: Received July 6, 2005
:: Copyright (c) 2005-2018 Association of Mizar Users

registration
let x be Real;
cluster |.x.| -> non negative ;
coherence
not |.x.| is negative
;
end;

Lm1: for x being Real holds x ^2 = x |^ 2
proof end;

Lm2: 2 |^ 3 = 8
proof end;

Lm3: 3 |^ 3 = 27
proof end;

Lm4: for x being Real holds (- x) |^ 3 = - (x |^ 3)
proof end;

Lm5: for x, y being Real holds (x + y) |^ 3 = (((x |^ 3) + ((3 * (x ^2)) * y)) + ((3 * x) * (y ^2))) + (y |^ 3)
proof end;

Lm6: for x, y being Real holds (x |^ 3) + (y |^ 3) = (x + y) * (((x ^2) - (x * y)) + (y ^2))
proof end;

Lm7: for x, y, z being Real st x ^2 <= y * z holds
|.x.| <= sqrt (y * z)

proof end;

theorem :: SERIES_3:1
for m, x, y being Real st y > x & x >= 0 & m >= 0 holds
x / y <= (x + m) / (y + m)
proof end;

theorem Th2: :: SERIES_3:2
for a, b being positive Real holds (a + b) / 2 >= sqrt (a * b)
proof end;

theorem :: SERIES_3:3
for a, b being positive Real holds (b / a) + (a / b) >= 2
proof end;

theorem Th4: :: SERIES_3:4
for x, y being Real holds ((x + y) / 2) ^2 >= x * y
proof end;

theorem :: SERIES_3:5
for x, y being Real holds ((x ^2) + (y ^2)) / 2 >= ((x + y) / 2) ^2
proof end;

theorem Th6: :: SERIES_3:6
for x, y being Real holds (x ^2) + (y ^2) >= (2 * x) * y
proof end;

theorem Th7: :: SERIES_3:7
for x, y being Real holds ((x ^2) + (y ^2)) / 2 >= x * y
proof end;

theorem Th8: :: SERIES_3:8
for x, y being Real holds (x ^2) + (y ^2) >= (2 * |.x.|) * |.y.|
proof end;

theorem Th9: :: SERIES_3:9
for x, y being Real holds (x + y) ^2 >= (4 * x) * y
proof end;

theorem Th10: :: SERIES_3:10
for x, y, z being Real holds ((x ^2) + (y ^2)) + (z ^2) >= ((x * y) + (y * z)) + (x * z)
proof end;

theorem :: SERIES_3:11
for x, y, z being Real holds ((x + y) + z) ^2 >= 3 * (((x * y) + (y * z)) + (x * z))
proof end;

theorem Th12: :: SERIES_3:12
for a, b, c being positive Real holds ((a |^ 3) + (b |^ 3)) + (c |^ 3) >= ((3 * a) * b) * c
proof end;

theorem Th13: :: SERIES_3:13
for a, b, c being positive Real holds (((a |^ 3) + (b |^ 3)) + (c |^ 3)) / 3 >= (a * b) * c
proof end;

theorem :: SERIES_3:14
for a, b, c being positive Real holds (((a / b) |^ 3) + ((b / c) |^ 3)) + ((c / a) |^ 3) >= ((b / a) + (c / b)) + (a / c)
proof end;

theorem Th15: :: SERIES_3:15
for a, b, c being positive Real holds (a + b) + c >= 3 * (3 -root ((a * b) * c))
proof end;

theorem :: SERIES_3:16
for a, b, c being positive Real holds ((a + b) + c) / 3 >= 3 -root ((a * b) * c)
proof end;

theorem :: SERIES_3:17
for x, y, z being Real st (x + y) + z = 1 holds
((x * y) + (y * z)) + (x * z) <= 1 / 3
proof end;

theorem Th18: :: SERIES_3:18
for x, y being Real st x + y = 1 holds
x * y <= 1 / 4
proof end;

theorem :: SERIES_3:19
for x, y being Real st x + y = 1 holds
(x ^2) + (y ^2) >= 1 / 2
proof end;

theorem :: SERIES_3:20
for a, b being positive Real st a + b = 1 holds
(1 + (1 / a)) * (1 + (1 / b)) >= 9
proof end;

theorem :: SERIES_3:21
for x, y being Real st x + y = 1 holds
(x |^ 3) + (y |^ 3) >= 1 / 4
proof end;

theorem :: SERIES_3:22
for a, b being positive Real st a + b = 1 holds
(a |^ 3) + (b |^ 3) < 1
proof end;

theorem :: SERIES_3:23
for a, b being positive Real st a + b = 1 holds
(a + (1 / a)) * (b + (1 / b)) >= 25 / 4
proof end;

theorem :: SERIES_3:24
for x, a being Real st |.x.| <= a holds
x ^2 <= a ^2
proof end;

theorem :: SERIES_3:25
for a being positive Real
for x being Real st |.x.| >= a holds
x ^2 >= a ^2
proof end;

theorem :: SERIES_3:26
for x, y being Real holds |.().| <= |.x.| + |.y.|
proof end;

theorem :: SERIES_3:27
for a, b, c being positive Real st (a * b) * c = 1 holds
((1 / a) + (1 / b)) + (1 / c) >= ((sqrt a) + (sqrt b)) + (sqrt c)
proof end;

theorem :: SERIES_3:28
for x, y, z being Real st x > 0 & y > 0 & z < 0 & (x + y) + z = 0 holds
(((x |^ 2) + (y |^ 2)) + (z |^ 2)) |^ 3 >= 6 * ((((x |^ 3) + (y |^ 3)) + (z |^ 3)) ^2)
proof end;

theorem :: SERIES_3:29
for a, b, c being positive Real st a >= 1 holds
(a to_power b) + (a to_power c) >= 2 * (a to_power (sqrt (b * c)))
proof end;

theorem :: SERIES_3:30
for a, b, c being positive Real st a >= b & b >= c holds
((a to_power a) * (b to_power b)) * (c to_power c) >= ((a * b) * c) to_power (((a + b) + c) / 3)
proof end;

theorem Th31: :: SERIES_3:31
for n being Nat
for a, b being non negative Real holds (a + b) |^ (n + 2) >= (a |^ (n + 2)) + (((n + 2) * (a |^ (n + 1))) * b)
proof end;

theorem :: SERIES_3:32
for a, b being positive Real
for n being Nat holds ((a |^ n) + (b |^ n)) / 2 >= ((a + b) / 2) |^ n
proof end;

theorem Th33: :: SERIES_3:33
for s being Real_Sequence st ( for n being Nat holds s . n > 0 ) holds
for n being Nat holds () . n > 0
proof end;

theorem Th34: :: SERIES_3:34
for s being Real_Sequence st ( for n being Nat holds s . n >= 0 ) holds
for n being Nat holds () . n >= 0
proof end;

theorem Th35: :: SERIES_3:35
for n being Nat
for s being Real_Sequence st ( for n being Nat holds s . n < 0 ) holds
() . n < 0
proof end;

theorem Th36: :: SERIES_3:36
for s, s1 being Real_Sequence st s = s1 (#) s1 holds
for n being Nat holds () . n >= 0
proof end;

theorem :: SERIES_3:37
for n being Nat
for s being Real_Sequence st ( for n being Nat holds
( s . n > 0 & s . n > s . (n - 1) ) ) holds
(n + 1) * (s . (n + 1)) > () . n
proof end;

theorem Th38: :: SERIES_3:38
for n being Nat
for s being Real_Sequence st ( for n being Nat holds
( s . n > 0 & s . n >= s . (n - 1) ) ) holds
(n + 1) * (s . (n + 1)) >= () . n
proof end;

theorem :: SERIES_3:39
for s, s1, s2 being Real_Sequence st s = s1 (#) s2 & ( for n being Nat holds
( s1 . n >= 0 & s2 . n >= 0 ) ) holds
for n being Nat holds () . n <= (() . n) * (() . n)
proof end;

theorem :: SERIES_3:40
for n being Nat
for s, s1, s2 being Real_Sequence st s = s1 (#) s2 & ( for n being Nat holds
( s1 . n < 0 & s2 . n < 0 ) ) holds
() . n <= (() . n) * (() . n)
proof end;

theorem Th41: :: SERIES_3:41
for s being Real_Sequence
for n being Nat holds |.(() . n).| <= (Partial_Sums (abs s)) . n
proof end;

theorem :: SERIES_3:42
for n being Nat
for s being Real_Sequence holds () . n <= (Partial_Sums (abs s)) . n
proof end;

definition
let s be Real_Sequence;
func Partial_Product s -> Real_Sequence means :Def1: :: SERIES_3:def 1
( it . 0 = s . 0 & ( for n being Nat holds it . (n + 1) = (it . n) * (s . (n + 1)) ) );
existence
ex b1 being Real_Sequence st
( b1 . 0 = s . 0 & ( for n being Nat holds b1 . (n + 1) = (b1 . n) * (s . (n + 1)) ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st b1 . 0 = s . 0 & ( for n being Nat holds b1 . (n + 1) = (b1 . n) * (s . (n + 1)) ) & b2 . 0 = s . 0 & ( for n being Nat holds b2 . (n + 1) = (b2 . n) * (s . (n + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines Partial_Product SERIES_3:def 1 :
for s, b2 being Real_Sequence holds
( b2 = Partial_Product s iff ( b2 . 0 = s . 0 & ( for n being Nat holds b2 . (n + 1) = (b2 . n) * (s . (n + 1)) ) ) );

theorem Th43: :: SERIES_3:43
for n being Nat
for s being Real_Sequence st ( for n being Nat holds s . n > 0 ) holds
() . n > 0
proof end;

theorem Th44: :: SERIES_3:44
for n being Nat
for s being Real_Sequence st ( for n being Nat holds s . n >= 0 ) holds
() . n >= 0
proof end;

theorem :: SERIES_3:45
for s being Real_Sequence st ( for n being Nat holds
( s . n > 0 & s . n < 1 ) ) holds
for n being Nat holds
( () . n > 0 & () . n < 1 )
proof end;

theorem :: SERIES_3:46
for s being Real_Sequence st ( for n being Nat holds s . n >= 1 ) holds
for n being Nat holds () . n >= 1
proof end;

theorem :: SERIES_3:47
for s1, s2 being Real_Sequence st ( for n being Nat holds
( s1 . n >= 0 & s2 . n >= 0 ) ) holds
for n being Nat holds (() . n) + (() . n) <= (Partial_Product (s1 + s2)) . n
proof end;

theorem :: SERIES_3:48
for n being Nat
for s being Real_Sequence st ( for n being Nat holds s . n = ((2 * n) + 1) / ((2 * n) + 2) ) holds
() . n <= 1 / (sqrt ((3 * n) + 4))
proof end;

Lm8: for s being Real_Sequence st ( for n being Nat holds
( s . n > - 1 & s . n < 0 ) ) holds
for n being Nat holds (() . n) * (s . (n + 1)) >= 0

proof end;

theorem :: SERIES_3:49
for s, s1 being Real_Sequence st ( for n being Nat holds
( s1 . n = 1 + (s . n) & s . n > - 1 & s . n < 0 ) ) holds
for n being Nat holds 1 + (() . n) <= () . n
proof end;

Lm9: for s being Real_Sequence st ( for n being Nat holds s . n >= 0 ) holds
for n being Nat holds (() . n) * (s . (n + 1)) >= 0

proof end;

theorem :: SERIES_3:50
for s, s1 being Real_Sequence st ( for n being Nat holds
( s1 . n = 1 + (s . n) & s . n >= 0 ) ) holds
for n being Nat holds 1 + (() . n) <= () . n
proof end;

theorem :: SERIES_3:51
for s1, s2, s3, s4, s5 being Real_Sequence st s3 = s1 (#) s2 & s4 = s1 (#) s1 & s5 = s2 (#) s2 holds
for n being Nat holds (() . n) ^2 <= (() . n) * (() . n)
proof end;

Lm10: for n being Nat
for s, s1, s2 being Real_Sequence st ( for n being Nat holds s . n = ((s1 . n) + (s2 . n)) ^2 ) holds
() . n >= 0

proof end;

theorem :: SERIES_3:52
for s1, s2, s3, s4, s5 being Real_Sequence st s4 = s1 (#) s1 & s5 = s2 (#) s2 & ( for n being Nat holds
( s1 . n >= 0 & s2 . n >= 0 & s3 . n = ((s1 . n) + (s2 . n)) ^2 ) ) holds
for n being Nat holds sqrt (() . n) <= (sqrt (() . n)) + (sqrt (() . n))
proof end;

Lm11: for n being Nat
for s being Real_Sequence st ( for n being Nat holds s . n > 0 ) holds
(n + 1) -root (() . n) > 0

proof end;

Lm12: for n being Nat
for s being Real_Sequence st ( for n being Nat holds
( s . n > 0 & s . n >= s . (n - 1) ) ) holds
((s . (n + 1)) - ((() . n) / (n + 1))) / (n + 2) >= 0

proof end;

theorem :: SERIES_3:53
for n being Nat
for s being Real_Sequence st ( for n being Nat holds
( s . n > 0 & s . n >= s . (n - 1) ) ) holds
() . n >= (n + 1) * ((n + 1) -root (() . n))
proof end;