:: Banach Algebra of Bounded Functionals
:: by Yasunari Shidama , Hikofumi Suzuki and Noboru Endou
::
:: Copyright (c) 2008-2021 Association of Mizar Users

definition
let V be non empty addLoopStr ;
let V1 be Subset of V;
attr V1 is having-inverse means :: C0SP1:def 1
for v being Element of V st v in V1 holds
- v in V1;
end;

:: deftheorem defines having-inverse C0SP1:def 1 :
for V being non empty addLoopStr
for V1 being Subset of V holds
( V1 is having-inverse iff for v being Element of V st v in V1 holds
- v in V1 );

definition
let V be non empty addLoopStr ;
let V1 be Subset of V;
attr V1 is additively-closed means :: C0SP1:def 2
( V1 is add-closed & V1 is having-inverse );
end;

:: deftheorem defines additively-closed C0SP1:def 2 :
for V being non empty addLoopStr
for V1 being Subset of V holds
( V1 is additively-closed iff ( V1 is add-closed & V1 is having-inverse ) );

Lm1: for V being non empty addLoopStr holds [#] V is add-closed
proof end;

registration
let V be non empty addLoopStr ;
correctness
coherence
( [#] V is add-closed & [#] V is having-inverse )
;
by Lm1;
end;

registration
let V be non empty doubleLoopStr ;
coherence
for b1 being Subset of V st b1 is additively-closed holds
( b1 is add-closed & b1 is having-inverse )
;
coherence
for b1 being Subset of V st b1 is add-closed & b1 is having-inverse holds
;
end;

registration
let V be non empty addLoopStr ;
cluster non empty add-closed having-inverse for Element of bool the carrier of V;
correctness
existence
ex b1 being Subset of V st
( b1 is add-closed & b1 is having-inverse & not b1 is empty )
;
proof end;
end;

definition
let V be Ring;
mode Subring of V -> Ring means :Def3: :: C0SP1:def 3
( the carrier of it c= the carrier of V & the addF of it = the addF of V || the carrier of it & the multF of it = the multF of V || the carrier of it & 1. it = 1. V & 0. it = 0. V );
existence
ex b1 being Ring st
( the carrier of b1 c= the carrier of V & the addF of b1 = the addF of V || the carrier of b1 & the multF of b1 = the multF of V || the carrier of b1 & 1. b1 = 1. V & 0. b1 = 0. V )
proof end;
end;

:: deftheorem Def3 defines Subring C0SP1:def 3 :
for V, b2 being Ring holds
( b2 is Subring of V iff ( the carrier of b2 c= the carrier of V & the addF of b2 = the addF of V || the carrier of b2 & the multF of b2 = the multF of V || the carrier of b2 & 1. b2 = 1. V & 0. b2 = 0. V ) );

theorem Th1: :: C0SP1:1
for X being non empty set
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for V being Ring
for V1 being Subset of V st V1 = X & A = the addF of V || V1 & M = the multF of V || V1 & d1 = 1. V & d2 = 0. V & V1 is having-inverse holds
doubleLoopStr(# X,A,M,d1,d2 #) is Subring of V
proof end;

registration
let V be Ring;
existence
ex b1 being Subring of V st b1 is strict
proof end;
end;

definition
let V be non empty multLoopStr_0 ;
let V1 be Subset of V;
attr V1 is multiplicatively-closed means :: C0SP1:def 4
( 1. V in V1 & ( for v, u being Element of V st v in V1 & u in V1 holds
v * u in V1 ) );
end;

:: deftheorem defines multiplicatively-closed C0SP1:def 4 :
for V being non empty multLoopStr_0
for V1 being Subset of V holds
( V1 is multiplicatively-closed iff ( 1. V in V1 & ( for v, u being Element of V st v in V1 & u in V1 holds
v * u in V1 ) ) );

definition
let V be non empty addLoopStr ;
let V1 be Subset of V;
assume A1: ( V1 is add-closed & not V1 is empty ) ;
func Add_ (V1,V) -> BinOp of V1 equals :Def5: :: C0SP1:def 5
the addF of V || V1;
correctness
coherence
the addF of V || V1 is BinOp of V1
;
proof end;
end;

:: deftheorem Def5 defines Add_ C0SP1:def 5 :
for V being non empty addLoopStr
for V1 being Subset of V st V1 is add-closed & not V1 is empty holds

definition
let V be non empty multLoopStr_0 ;
let V1 be Subset of V;
assume A1: ( V1 is multiplicatively-closed & not V1 is empty ) ;
func mult_ (V1,V) -> BinOp of V1 equals :Def6: :: C0SP1:def 6
the multF of V || V1;
correctness
coherence
the multF of V || V1 is BinOp of V1
;
proof end;
end;

:: deftheorem Def6 defines mult_ C0SP1:def 6 :
for V being non empty multLoopStr_0
for V1 being Subset of V st V1 is multiplicatively-closed & not V1 is empty holds
mult_ (V1,V) = the multF of V || V1;

definition
let V be non empty right_complementable add-associative right_zeroed doubleLoopStr ;
let V1 be Subset of V;
assume A1: ( V1 is add-closed & V1 is having-inverse & not V1 is empty ) ;
func Zero_ (V1,V) -> Element of V1 equals :Def7: :: C0SP1:def 7
0. V;
correctness
coherence
0. V is Element of V1
;
proof end;
end;

:: deftheorem Def7 defines Zero_ C0SP1:def 7 :
for V being non empty right_complementable add-associative right_zeroed doubleLoopStr
for V1 being Subset of V st V1 is add-closed & V1 is having-inverse & not V1 is empty holds
Zero_ (V1,V) = 0. V;

definition
let V be non empty multLoopStr_0 ;
let V1 be Subset of V;
assume A1: ( V1 is multiplicatively-closed & not V1 is empty ) ;
func One_ (V1,V) -> Element of V1 equals :Def8: :: C0SP1:def 8
1. V;
correctness
coherence
1. V is Element of V1
;
by A1;
end;

:: deftheorem Def8 defines One_ C0SP1:def 8 :
for V being non empty multLoopStr_0
for V1 being Subset of V st V1 is multiplicatively-closed & not V1 is empty holds
One_ (V1,V) = 1. V;

theorem :: C0SP1:2
for V being Ring
for V1 being Subset of V st V1 is additively-closed & V1 is multiplicatively-closed & not V1 is empty holds
doubleLoopStr(# V1,(Add_ (V1,V)),(mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Ring
proof end;

definition
let V be Algebra;
mode Subalgebra of V -> Algebra means :Def9: :: C0SP1:def 9
( the carrier of it c= the carrier of V & the addF of it = the addF of V || the carrier of it & the multF of it = the multF of V || the carrier of it & the Mult of it = the Mult of V | [:REAL, the carrier of it:] & 1. it = 1. V & 0. it = 0. V );
existence
ex b1 being Algebra st
( the carrier of b1 c= the carrier of V & the addF of b1 = the addF of V || the carrier of b1 & the multF of b1 = the multF of V || the carrier of b1 & the Mult of b1 = the Mult of V | [:REAL, the carrier of b1:] & 1. b1 = 1. V & 0. b1 = 0. V )
proof end;
end;

:: deftheorem Def9 defines Subalgebra C0SP1:def 9 :
for V, b2 being Algebra holds
( b2 is Subalgebra of V iff ( the carrier of b2 c= the carrier of V & the addF of b2 = the addF of V || the carrier of b2 & the multF of b2 = the multF of V || the carrier of b2 & the Mult of b2 = the Mult of V | [:REAL, the carrier of b2:] & 1. b2 = 1. V & 0. b2 = 0. V ) );

theorem Th3: :: C0SP1:3
for X being non empty set
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for V being Algebra
for V1 being Subset of V
for MR being Function of [:REAL,X:],X st V1 = X & d1 = 0. V & d2 = 1. V & A = the addF of V || V1 & M = the multF of V || V1 & MR = the Mult of V | [:REAL,V1:] & V1 is having-inverse holds
AlgebraStr(# X,M,A,MR,d2,d1 #) is Subalgebra of V
proof end;

registration
let V be Algebra;
existence
ex b1 being Subalgebra of V st b1 is strict
proof end;
end;

definition
let V be Algebra;
let V1 be Subset of V;
attr V1 is additively-linearly-closed means :: C0SP1:def 10
( V1 is add-closed & V1 is having-inverse & ( for a being Real
for v being Element of V st v in V1 holds
a * v in V1 ) );
end;

:: deftheorem defines additively-linearly-closed C0SP1:def 10 :
for V being Algebra
for V1 being Subset of V holds
( V1 is additively-linearly-closed iff ( V1 is add-closed & V1 is having-inverse & ( for a being Real
for v being Element of V st v in V1 holds
a * v in V1 ) ) );

registration
let V be Algebra;
coherence
for b1 being Subset of V st b1 is additively-linearly-closed holds
;
end;

definition
let V be Algebra;
let V1 be Subset of V;
assume A1: ( V1 is additively-linearly-closed & not V1 is empty ) ;
func Mult_ (V1,V) -> Function of [:REAL,V1:],V1 equals :Def11: :: C0SP1:def 11
the Mult of V | [:REAL,V1:];
correctness
coherence
the Mult of V | [:REAL,V1:] is Function of [:REAL,V1:],V1
;
proof end;
end;

:: deftheorem Def11 defines Mult_ C0SP1:def 11 :
for V being Algebra
for V1 being Subset of V st V1 is additively-linearly-closed & not V1 is empty holds
Mult_ (V1,V) = the Mult of V | [:REAL,V1:];

definition
let V be non empty RLSStruct ;
attr V is scalar-mult-cancelable means :: C0SP1:def 12
for a being Real
for v being Element of V holds
( not a * v = 0. V or a = 0 or v = 0. V );
end;

:: deftheorem defines scalar-mult-cancelable C0SP1:def 12 :
for V being non empty RLSStruct holds
( V is scalar-mult-cancelable iff for a being Real
for v being Element of V holds
( not a * v = 0. V or a = 0 or v = 0. V ) );

theorem Th4: :: C0SP1:4
proof end;

reconsider jj = 1 as Element of REAL by XREAL_0:def 1;

theorem :: C0SP1:5
proof end;

Lm2: for V being non empty right_complementable Abelian add-associative right_zeroed vector-distributive scalar-distributive scalar-associative vector-associative AlgebraStr st ( for v being VECTOR of V holds 1 * v = v ) holds
V is RealLinearSpace

by RLVECT_1:def 8;

theorem Th6: :: C0SP1:6
for V being Algebra
for V1 being Subset of V st V1 is additively-linearly-closed & V1 is multiplicatively-closed & not V1 is empty holds
AlgebraStr(# V1,(mult_ (V1,V)),(Add_ (V1,V)),(Mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Subalgebra of V
proof end;

registration
let X be non empty set ;
correctness
coherence ;
;
end;

theorem Th7: :: C0SP1:7
for X being non empty set holds RAlgebra X is RealLinearSpace
proof end;

theorem Th8: :: C0SP1:8
for V being Algebra
for V1 being Subalgebra of V holds
( ( for v1, w1 being Element of V1
for v, w being Element of V st v1 = v & w1 = w holds
v1 + w1 = v + w ) & ( for v1, w1 being Element of V1
for v, w being Element of V st v1 = v & w1 = w holds
v1 * w1 = v * w ) & ( for v1 being Element of V1
for v being Element of V
for a being Real st v1 = v holds
a * v1 = a * v ) & 1_ V1 = 1_ V & 0. V1 = 0. V )
proof end;

definition
let X be non empty set ;
func BoundedFunctions X -> non empty Subset of () equals :: C0SP1:def 13
{ f where f is Function of X,REAL : f | X is bounded } ;
correctness
coherence
{ f where f is Function of X,REAL : f | X is bounded } is non empty Subset of ()
;
proof end;
end;

:: deftheorem defines BoundedFunctions C0SP1:def 13 :
for X being non empty set holds BoundedFunctions X = { f where f is Function of X,REAL : f | X is bounded } ;

theorem Th9: :: C0SP1:9
for X being non empty set holds
( BoundedFunctions X is additively-linearly-closed & BoundedFunctions X is multiplicatively-closed )
proof end;

registration
let X be non empty set ;
coherence by Th9;
end;

definition
let X be non empty set ;
func R_Algebra_of_BoundedFunctions X -> Algebra equals :: C0SP1:def 14
AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())) #);
coherence
AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())) #) is Algebra
by Th6;
end;

:: deftheorem defines R_Algebra_of_BoundedFunctions C0SP1:def 14 :
for X being non empty set holds R_Algebra_of_BoundedFunctions X = AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())) #);

theorem :: C0SP1:10
for X being non empty set holds R_Algebra_of_BoundedFunctions X is Subalgebra of RAlgebra X by Th6;

theorem :: C0SP1:11
for X being non empty set holds R_Algebra_of_BoundedFunctions X is RealLinearSpace
proof end;

theorem Th12: :: C0SP1:12
for X being non empty set
for F, G, H being VECTOR of
for f, g, h being Function of X,REAL st f = F & g = G & h = H holds
( H = F + G iff for x being Element of X holds h . x = (f . x) + (g . x) )
proof end;

theorem Th13: :: C0SP1:13
for X being non empty set
for a being Real
for F, G being VECTOR of
for f, g being Function of X,REAL st f = F & g = G holds
( G = a * F iff for x being Element of X holds g . x = a * (f . x) )
proof end;

theorem Th14: :: C0SP1:14
for X being non empty set
for F, G, H being VECTOR of
for f, g, h being Function of X,REAL st f = F & g = G & h = H holds
( H = F * G iff for x being Element of X holds h . x = (f . x) * (g . x) )
proof end;

theorem Th15: :: C0SP1:15
for X being non empty set holds 0. = X --> 0
proof end;

theorem Th16: :: C0SP1:16
for X being non empty set holds 1_ = X --> 1
proof end;

definition
let X be non empty set ;
let F be object ;
assume A1: F in BoundedFunctions X ;
func modetrans (F,X) -> Function of X,REAL means :Def15: :: C0SP1:def 15
( it = F & it | X is bounded );
correctness
existence
ex b1 being Function of X,REAL st
( b1 = F & b1 | X is bounded )
;
uniqueness
for b1, b2 being Function of X,REAL st b1 = F & b1 | X is bounded & b2 = F & b2 | X is bounded holds
b1 = b2
;
by A1;
end;

:: deftheorem Def15 defines modetrans C0SP1:def 15 :
for X being non empty set
for F being object st F in BoundedFunctions X holds
for b3 being Function of X,REAL holds
( b3 = modetrans (F,X) iff ( b3 = F & b3 | X is bounded ) );

definition
let X be non empty set ;
let f be Function of X,REAL;
func PreNorms f -> non empty Subset of REAL equals :: C0SP1:def 16
{ |.(f . x).| where x is Element of X : verum } ;
coherence
{ |.(f . x).| where x is Element of X : verum } is non empty Subset of REAL
proof end;
end;

:: deftheorem defines PreNorms C0SP1:def 16 :
for X being non empty set
for f being Function of X,REAL holds PreNorms f = { |.(f . x).| where x is Element of X : verum } ;

theorem Th17: :: C0SP1:17
for X being non empty set
for f being Function of X,REAL st f | X is bounded holds
PreNorms f is bounded_above
proof end;

theorem :: C0SP1:18
for X being non empty set
for f being Function of X,REAL holds
( f | X is bounded iff PreNorms f is bounded_above )
proof end;

definition
let X be non empty set ;
func BoundedFunctionsNorm X -> Function of (),REAL means :Def17: :: C0SP1:def 17
for x being object st x in BoundedFunctions X holds
it . x = upper_bound (PreNorms (modetrans (x,X)));
existence
ex b1 being Function of (),REAL st
for x being object st x in BoundedFunctions X holds
b1 . x = upper_bound (PreNorms (modetrans (x,X)))
proof end;
uniqueness
for b1, b2 being Function of (),REAL st ( for x being object st x in BoundedFunctions X holds
b1 . x = upper_bound (PreNorms (modetrans (x,X))) ) & ( for x being object st x in BoundedFunctions X holds
b2 . x = upper_bound (PreNorms (modetrans (x,X))) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def17 defines BoundedFunctionsNorm C0SP1:def 17 :
for X being non empty set
for b2 being Function of (),REAL holds
( b2 = BoundedFunctionsNorm X iff for x being object st x in BoundedFunctions X holds
b2 . x = upper_bound (PreNorms (modetrans (x,X))) );

theorem Th19: :: C0SP1:19
for X being non empty set
for f being Function of X,REAL st f | X is bounded holds
modetrans (f,X) = f
proof end;

theorem Th20: :: C0SP1:20
for X being non empty set
for f being Function of X,REAL st f | X is bounded holds
. f = upper_bound ()
proof end;

definition
let X be non empty set ;
func R_Normed_Algebra_of_BoundedFunctions X -> Normed_AlgebraStr equals :: C0SP1:def 18
Normed_AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())), #);
correctness
coherence
Normed_AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())), #) is Normed_AlgebraStr
;
;
end;

:: deftheorem defines R_Normed_Algebra_of_BoundedFunctions C0SP1:def 18 :
for X being non empty set holds R_Normed_Algebra_of_BoundedFunctions X = Normed_AlgebraStr(# (),(mult_ ((),())),(Add_ ((),())),(Mult_ ((),())),(One_ ((),())),(Zero_ ((),())), #);

registration
let X be non empty set ;
correctness
coherence ;
;
end;

Lm3: now :: thesis: for X being non empty set
for x, e being Element of st e = One_ ((),()) holds
( x * e = x & e * x = x )
let X be non empty set ; :: thesis: for x, e being Element of st e = One_ ((),()) holds
( x * e = x & e * x = x )

set F = R_Normed_Algebra_of_BoundedFunctions X;
let x, e be Element of ; :: thesis: ( e = One_ ((),()) implies ( x * e = x & e * x = x ) )
set X1 = BoundedFunctions X;
reconsider f = x as Element of BoundedFunctions X ;
assume A1: e = One_ ((),()) ; :: thesis: ( x * e = x & e * x = x )
then x * e = (mult_ ((),())) . (f,(1_ ())) by Def8;
then A2: x * e = ( the multF of () || ()) . (f,(1_ ())) by Def6;
e * x = (mult_ ((),())) . ((1_ ()),f) by ;
then A3: e * x = ( the multF of () || ()) . ((1_ ()),f) by Def6;
A4: 1_ () = 1_ by Th16;
then [f,(1_ ())] in [:(),():] by ZFMISC_1:87;
then x * e = f * (1_ ()) by ;
hence x * e = x ; :: thesis: e * x = x
[(1_ ()),f] in [:(),():] by ;
then e * x = (1_ ()) * f by ;
hence e * x = x ; :: thesis: verum
end;

registration
let X be non empty set ;
correctness
proof end;
end;

theorem Th21: :: C0SP1:21
for W being Normed_AlgebraStr
for V being Algebra st AlgebraStr(# the carrier of W, the multF of W, the addF of W, the Mult of W, the OneF of W, the ZeroF of W #) = V holds
W is Algebra
proof end;

theorem Th22: :: C0SP1:22
for X being non empty set holds R_Normed_Algebra_of_BoundedFunctions X is Algebra
proof end;

theorem Th23: :: C0SP1:23
for X being non empty set
for F being Point of holds (Mult_ ((),())) . (1,F) = F
proof end;

theorem Th24: :: C0SP1:24
for X being non empty set holds R_Normed_Algebra_of_BoundedFunctions X is RealLinearSpace
proof end;

theorem Th25: :: C0SP1:25
for X being non empty set holds X --> 0 = 0.
proof end;

theorem Th26: :: C0SP1:26
for X being non empty set
for x being Element of X
for f being Function of X,REAL
for F being Point of st f = F & f | X is bounded holds
|.(f . x).| <=
proof end;

theorem :: C0SP1:27
for X being non empty set
for F being Point of holds 0 <=
proof end;

theorem Th28: :: C0SP1:28
for X being non empty set
for F being Point of st F = 0. holds
0 =
proof end;

theorem Th29: :: C0SP1:29
for X being non empty set
for f, g, h being Function of X,REAL
for F, G, H being Point of st f = F & g = G & h = H holds
( H = F + G iff for x being Element of X holds h . x = (f . x) + (g . x) )
proof end;

theorem Th30: :: C0SP1:30
for X being non empty set
for a being Real
for f, g being Function of X,REAL
for F, G being Point of st f = F & g = G holds
( G = a * F iff for x being Element of X holds g . x = a * (f . x) )
proof end;

theorem Th31: :: C0SP1:31
for X being non empty set
for f, g, h being Function of X,REAL
for F, G, H being Point of st f = F & g = G & h = H holds
( H = F * G iff for x being Element of X holds h . x = (f . x) * (g . x) )
proof end;

theorem Th32: :: C0SP1:32
for X being non empty set
for a being Real
for F, G being Point of holds
( ( = 0 implies F = 0. ) & ( F = 0. implies = 0 ) & ||.(a * F).|| = |.a.| * & ||.(F + G).|| <= + )
proof end;

theorem Th33: :: C0SP1:33
proof end;

registration end;

theorem Th34: :: C0SP1:34
for X being non empty set
for f, g, h being Function of X,REAL
for F, G, H being Point of st f = F & g = G & h = H holds
( H = F - G iff for x being Element of X holds h . x = (f . x) - (g . x) )
proof end;

theorem Th35: :: C0SP1:35
for X being non empty set
for seq being sequence of st seq is Cauchy_sequence_by_Norm holds
seq is convergent
proof end;

theorem Th36: :: C0SP1:36
for X being non empty set holds R_Normed_Algebra_of_BoundedFunctions X is RealBanachSpace
proof end;

registration
let X be non empty set ;
coherence by Th36;
end;

registration end;

theorem :: C0SP1:37
for X being non empty set holds R_Normed_Algebra_of_BoundedFunctions X is Banach_Algebra by Th22;