:: The Banach Space $l^p$
:: by Yasumasa Suzuki
::
:: Copyright (c) 2004-2021 Association of Mizar Users

definition
let x be Real_Sequence;
let p be Real;
func x rto_power p -> Real_Sequence means :Def1: :: LP_SPACE:def 1
for n being Nat holds it . n = |.(x . n).| to_power p;
existence
ex b1 being Real_Sequence st
for n being Nat holds b1 . n = |.(x . n).| to_power p
proof end;
uniqueness
for b1, b2 being Real_Sequence st ( for n being Nat holds b1 . n = |.(x . n).| to_power p ) & ( for n being Nat holds b2 . n = |.(x . n).| to_power p ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines rto_power LP_SPACE:def 1 :
for x being Real_Sequence
for p being Real
for b3 being Real_Sequence holds
( b3 = x rto_power p iff for n being Nat holds b3 . n = |.(x . n).| to_power p );

definition
let p be Real;
assume A1: p >= 1 ;
func the_set_of_RealSequences_l^ p -> non empty Subset of Linear_Space_of_RealSequences means :Def2: :: LP_SPACE:def 2
for x being set holds
( x in it iff ( x in the_set_of_RealSequences & () rto_power p is summable ) );
existence
ex b1 being non empty Subset of Linear_Space_of_RealSequences st
for x being set holds
( x in b1 iff ( x in the_set_of_RealSequences & () rto_power p is summable ) )
proof end;
uniqueness
for b1, b2 being non empty Subset of Linear_Space_of_RealSequences st ( for x being set holds
( x in b1 iff ( x in the_set_of_RealSequences & () rto_power p is summable ) ) ) & ( for x being set holds
( x in b2 iff ( x in the_set_of_RealSequences & () rto_power p is summable ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines the_set_of_RealSequences_l^ LP_SPACE:def 2 :
for p being Real st p >= 1 holds
for b2 being non empty Subset of Linear_Space_of_RealSequences holds
( b2 = the_set_of_RealSequences_l^ p iff for x being set holds
( x in b2 iff ( x in the_set_of_RealSequences & () rto_power p is summable ) ) );

Lm1: for x1, y1 being Real st x1 >= 0 & y1 > 0 holds
x1 to_power y1 >= 0

proof end;

Lm2: for x1, x2, y1 being Real st y1 > 0 & x1 >= 0 & x2 >= 0 holds
(x1 * x2) to_power y1 = (x1 to_power y1) * (x2 to_power y1)

proof end;

theorem Th1: :: LP_SPACE:1
for a, b, c being Real st a >= 0 & a < b & c > 0 holds
a to_power c < b to_power c
proof end;

Lm3: for p being Real st 1 = p holds
for a, b being Real_Sequence
for n being Nat holds ((Partial_Sums ((a + b) rto_power p)) . n) to_power (1 / p) <= (((Partial_Sums ()) . n) to_power (1 / p)) + (((Partial_Sums ()) . n) to_power (1 / p))

proof end;

theorem Th2: :: LP_SPACE:2
for p being Real st 1 <= p holds
for a, b being Real_Sequence
for n being Nat holds ((Partial_Sums ((a + b) rto_power p)) . n) to_power (1 / p) <= (((Partial_Sums ()) . n) to_power (1 / p)) + (((Partial_Sums ()) . n) to_power (1 / p))
proof end;

Lm4: for a, b being Real_Sequence
for p being Real st 1 = p & a rto_power p is summable & b rto_power p is summable holds
( (a + b) rto_power p is summable & (Sum ((a + b) rto_power p)) to_power (1 / p) <= ((Sum ()) to_power (1 / p)) + ((Sum ()) to_power (1 / p)) )

proof end;

theorem Th3: :: LP_SPACE:3
for a, b being Real_Sequence
for p being Real st 1 <= p & a rto_power p is summable & b rto_power p is summable holds
( (a + b) rto_power p is summable & (Sum ((a + b) rto_power p)) to_power (1 / p) <= ((Sum ()) to_power (1 / p)) + ((Sum ()) to_power (1 / p)) )
proof end;

theorem Th4: :: LP_SPACE:4
for p being Real st 1 <= p holds
the_set_of_RealSequences_l^ p is linearly-closed
proof end;

theorem Th5: :: LP_SPACE:5
proof end;

theorem :: LP_SPACE:7
for p being Real st 1 <= p holds
RLSStruct(# ,,, #) is RealLinearSpace by Th5;

definition
let p be Real;
func l_norm^ p -> Function of ,REAL means :Def3: :: LP_SPACE:def 3
for x being object st x in the_set_of_RealSequences_l^ p holds
it . x = (Sum (() rto_power p)) to_power (1 / p);
existence
ex b1 being Function of ,REAL st
for x being object st x in the_set_of_RealSequences_l^ p holds
b1 . x = (Sum (() rto_power p)) to_power (1 / p)
proof end;
uniqueness
for b1, b2 being Function of ,REAL st ( for x being object st x in the_set_of_RealSequences_l^ p holds
b1 . x = (Sum (() rto_power p)) to_power (1 / p) ) & ( for x being object st x in the_set_of_RealSequences_l^ p holds
b2 . x = (Sum (() rto_power p)) to_power (1 / p) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines l_norm^ LP_SPACE:def 3 :
for p being Real
for b2 being Function of ,REAL holds
( b2 = l_norm^ p iff for x being object st x in the_set_of_RealSequences_l^ p holds
b2 . x = (Sum (() rto_power p)) to_power (1 / p) );

theorem Th8: :: LP_SPACE:8
for p being Real st 1 <= p holds
NORMSTR(# ,,,,() #) is RealLinearSpace
proof end;

theorem Th9: :: LP_SPACE:9
for p being Real st p >= 1 holds
NORMSTR(# ,,,,() #) is Subspace of Linear_Space_of_RealSequences
proof end;

theorem Th10: :: LP_SPACE:10
for p being Real st 1 <= p holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
( the carrier of lp = the_set_of_RealSequences_l^ p & ( for x being set holds
( x is VECTOR of lp iff ( x is Real_Sequence & () rto_power p is summable ) ) ) & 0. lp = Zeroseq & ( for x being VECTOR of lp holds x = seq_id x ) & ( for x, y being VECTOR of lp holds x + y = () + () ) & ( for r being Real
for x being VECTOR of lp holds r * x = r (#) () ) & ( for x being VECTOR of lp holds
( - x = - () & seq_id (- x) = - () ) ) & ( for x, y being VECTOR of lp holds x - y = () - () ) & ( for x being VECTOR of lp holds () rto_power p is summable ) & ( for x being VECTOR of lp holds = (Sum (() rto_power p)) to_power (1 / p) ) )
proof end;

theorem Th11: :: LP_SPACE:11
for p being Real st p >= 1 holds
for rseq being Real_Sequence st ( for n being Nat holds rseq . n = 0 ) holds
( rseq rto_power p is summable & (Sum (rseq rto_power p)) to_power (1 / p) = 0 )
proof end;

theorem Th12: :: LP_SPACE:12
for p being Real st 1 <= p holds
for rseq being Real_Sequence st rseq rto_power p is summable & (Sum (rseq rto_power p)) to_power (1 / p) = 0 holds
for n being Nat holds rseq . n = 0
proof end;

Lm5: for p being Real st 1 <= p holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
for x being Point of lp
for a being Real holds (seq_id (a * x)) rto_power p = () (#) (() rto_power p)

proof end;

Lm6: for p being Real st 1 <= p holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
for x being Point of lp
for a being Real holds Sum ((seq_id (a * x)) rto_power p) = () * (Sum (() rto_power p))

proof end;

Lm7: for p being Real st 1 <= p holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
for x being Point of lp
for a being Real holds (Sum ((seq_id (a * x)) rto_power p)) to_power (1 / p) = |.a.| * ((Sum (() rto_power p)) to_power (1 / p))

proof end;

theorem Th13: :: LP_SPACE:13
for p being Real st 1 <= p holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
for x, y being Point of lp
for a being Real holds
( ( = 0 implies x = 0. lp ) & ( x = 0. lp implies = 0 ) & 0 <= & ||.(x + y).|| <= + & ||.(a * x).|| = |.a.| * )
proof end;

theorem Th14: :: LP_SPACE:14
for p being Real st p >= 1 holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
( lp is reflexive & lp is discerning & lp is RealNormSpace-like )
proof end;

theorem :: LP_SPACE:15
for p being Real st p >= 1 holds
for lp being non empty NORMSTR st lp = NORMSTR(# ,,,,() #) holds
lp is RealNormSpace by ;

Lm8: for p being Real st 0 < p holds
for c being Real
for seq being Real_Sequence st seq is convergent holds
for rseq being Real_Sequence st ( for i being Nat holds rseq . i = |.((seq . i) - c).| to_power p ) holds
( rseq is convergent & lim rseq = |.((lim seq) - c).| to_power p )

proof end;

Lm9: for p being Real st 0 < p holds
for c being Real
for seq, seq1 being Real_Sequence st seq is convergent & seq1 is convergent holds
for rseq being Real_Sequence st ( for i being Nat holds rseq . i = (|.((seq . i) - c).| to_power p) + (seq1 . i) ) holds
( rseq is convergent & lim rseq = (|.((lim seq) - c).| to_power p) + (lim seq1) )

proof end;

Lm10: for a, b being Real_Sequence holds a = (a + b) - b
proof end;

Lm11: for p being Real st p >= 1 holds
for a, b being Real_Sequence st a rto_power p is summable & b rto_power p is summable holds
(a + b) rto_power p is summable

proof end;

theorem Th16: :: LP_SPACE:16
for p being Real st 1 <= p holds
for lp being RealNormSpace st lp = NORMSTR(# ,,,,() #) holds
for vseq being sequence of lp st vseq is Cauchy_sequence_by_Norm holds
vseq is convergent
proof end;

definition
let p be Real;
assume A1: 1 <= p ;
coherence
proof end;
end;

:: deftheorem defines l_Space^ LP_SPACE:def 4 :
for p being Real st 1 <= p holds
l_Space^ p = NORMSTR(# ,,,,() #);