:: Banach Algebra of Bounded Complex-Valued Functionals
:: by Katuhiko Kanazashi , Hiroyuki Okazaki and Yasunari Shidama
::
:: Copyright (c) 2010-2021 Association of Mizar Users

definition
let V be ComplexAlgebra;
mode ComplexSubAlgebra of V -> ComplexAlgebra means :Def1: :: CC0SP1:def 1
( 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 | [:COMPLEX, the carrier of it:] & 1. it = 1. V & 0. it = 0. V );
existence
ex b1 being ComplexAlgebra 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 | [:COMPLEX, the carrier of b1:] & 1. b1 = 1. V & 0. b1 = 0. V )
proof end;
end;

:: deftheorem Def1 defines ComplexSubAlgebra CC0SP1:def 1 :
for V, b2 being ComplexAlgebra holds
( b2 is ComplexSubAlgebra 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 | [:COMPLEX, the carrier of b2:] & 1. b2 = 1. V & 0. b2 = 0. V ) );

Lm1: now :: thesis: for z being Complex
for X being non empty set
for V being ComplexAlgebra
for V1 being non empty Subset of V
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v
let z be Complex; :: thesis: for X being non empty set
for V being ComplexAlgebra
for V1 being non empty Subset of V
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let X be non empty set ; :: thesis: for V being ComplexAlgebra
for V1 being non empty Subset of V
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let V be ComplexAlgebra; :: thesis: for V1 being non empty Subset of V
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let V1 be non empty Subset of V; :: thesis: for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let d1, d2 be Element of X; :: thesis: for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let A be BinOp of X; :: thesis: for M being Function of [:X,X:],X
for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let M be Function of [:X,X:],X; :: thesis: for MR being Function of ,X st V1 = X & MR = the Mult of V | [:COMPLEX,V1:] holds
for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let MR be Function of ,X; :: thesis: ( V1 = X & MR = the Mult of V | [:COMPLEX,V1:] implies for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v )

assume that
A1: V1 = X and
A2: MR = the Mult of V | [:COMPLEX,V1:] ; :: thesis: for W being non empty ComplexAlgebraStr st W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) holds
for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let W be non empty ComplexAlgebraStr ; :: thesis: ( W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) implies for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v )

assume A3: W = ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) ; :: thesis: for w being VECTOR of W
for v being Element of V st w = v holds
z * w = z * v

let w be VECTOR of W; :: thesis: for v being Element of V st w = v holds
z * w = z * v

let v be Element of V; :: thesis: ( w = v implies z * w = z * v )
assume A4: w = v ; :: thesis: z * w = z * v
z in COMPLEX by XCMPLX_0:def 2;
then [z,w] in [:COMPLEX,V1:] by ;
hence z * w = z * v by ; :: thesis: verum
end;

theorem Th1: :: CC0SP1:1
for X being non empty set
for V being ComplexAlgebra
for V1 being non empty Subset of V
for d1, d2 being Element of X
for A being BinOp of X
for M being Function of [:X,X:],X
for MR being Function of ,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 | [:COMPLEX,V1:] & V1 is having-inverse holds
ComplexAlgebraStr(# X,M,A,MR,d2,d1 #) is ComplexSubAlgebra of V
proof end;

registration
let V be ComplexAlgebra;
existence
ex b1 being ComplexSubAlgebra of V st b1 is strict
proof end;
end;

definition
let V be ComplexAlgebra;
let V1 be Subset of V;
attr V1 is Cadditively-linearly-closed means :Def2: :: CC0SP1:def 2
( V1 is add-closed & V1 is having-inverse & ( for a being Complex
for v being Element of V st v in V1 holds
a * v in V1 ) );
end;

:: deftheorem Def2 defines Cadditively-linearly-closed CC0SP1:def 2 :
for V being ComplexAlgebra
for V1 being Subset of V holds
( V1 is Cadditively-linearly-closed iff ( V1 is add-closed & V1 is having-inverse & ( for a being Complex
for v being Element of V st v in V1 holds
a * v in V1 ) ) );

definition
let V be ComplexAlgebra;
let V1 be Subset of V;
assume A1: ( V1 is Cadditively-linearly-closed & not V1 is empty ) ;
func Mult_ (V1,V) -> Function of [:COMPLEX,V1:],V1 equals :Def3: :: CC0SP1:def 3
the Mult of V | [:COMPLEX,V1:];
correctness
coherence
the Mult of V | [:COMPLEX,V1:] is Function of [:COMPLEX,V1:],V1
;
proof end;
end;

:: deftheorem Def3 defines Mult_ CC0SP1:def 3 :
for V being ComplexAlgebra
for V1 being Subset of V st V1 is Cadditively-linearly-closed & not V1 is empty holds
Mult_ (V1,V) = the Mult of V | [:COMPLEX,V1:];

definition
let X be non empty set ;
func ComplexBoundedFunctions X -> non empty Subset of () equals :: CC0SP1:def 4
{ f where f is Function of X,COMPLEX : f | X is bounded } ;
correctness
coherence
{ f where f is Function of X,COMPLEX : f | X is bounded } is non empty Subset of ()
;
proof end;
end;

:: deftheorem defines ComplexBoundedFunctions CC0SP1:def 4 :
for X being non empty set holds ComplexBoundedFunctions X = { f where f is Function of X,COMPLEX : f | X is bounded } ;

registration
let X be non empty set ;
coherence by CFUNCDOM:12;
end;

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

registration
let V be ComplexAlgebra;
existence
ex b1 being non empty Subset of V st
( b1 is Cadditively-linearly-closed & b1 is multiplicatively-closed )
proof end;
end;

definition
let V be non empty CLSStruct ;
attr V is scalar-mult-cancelable means :: CC0SP1:def 5
for a being Complex
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 CC0SP1:def 5 :
for V being non empty CLSStruct holds
( V is scalar-mult-cancelable iff for a being Complex
for v being Element of V holds
( not a * v = 0. V or a = 0 or v = 0. V ) );

theorem Th2: :: CC0SP1:2
for V being ComplexAlgebra
for V1 being non empty multiplicatively-closed Cadditively-linearly-closed Subset of V holds ComplexAlgebraStr(# V1,(mult_ (V1,V)),(Add_ (V1,V)),(Mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is ComplexSubAlgebra of V
proof end;

theorem Th3: :: CC0SP1:3
for V being ComplexAlgebra
for V1 being ComplexSubAlgebra 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 Complex 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 C_Algebra_of_BoundedFunctions X -> ComplexAlgebra equals :: CC0SP1:def 6
ComplexAlgebraStr(# ,(mult_ (,())),(Add_ (,())),(Mult_ (,())),(One_ (,())),(Zero_ (,())) #);
coherence
ComplexAlgebraStr(# ,(mult_ (,())),(Add_ (,())),(Mult_ (,())),(One_ (,())),(Zero_ (,())) #) is ComplexAlgebra
by Th2;
end;

:: deftheorem defines C_Algebra_of_BoundedFunctions CC0SP1:def 6 :
for X being non empty set holds C_Algebra_of_BoundedFunctions X = ComplexAlgebraStr(# ,(mult_ (,())),(Add_ (,())),(Mult_ (,())),(One_ (,())),(Zero_ (,())) #);

theorem :: CC0SP1:4
for X being non empty set holds C_Algebra_of_BoundedFunctions X is ComplexSubAlgebra of CAlgebra X by Th2;

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

theorem Th5: :: CC0SP1:5
for X being non empty set
for F, G, H being VECTOR of
for f, g, h being Function of X,COMPLEX 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 Th6: :: CC0SP1:6
for X being non empty set
for a being Complex
for F, G being VECTOR of
for f, g being Function of X,COMPLEX 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 Th7: :: CC0SP1:7
for X being non empty set
for F, G, H being VECTOR of
for f, g, h being Function of X,COMPLEX 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 Th8: :: CC0SP1:8
for X being non empty set holds 0. = X --> 0
proof end;

theorem Th9: :: CC0SP1:9
for X being non empty set holds 1_ = X --> 1r
proof end;

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

:: deftheorem Def7 defines modetrans CC0SP1:def 7 :
for X being non empty set
for F being object st F in ComplexBoundedFunctions X holds
for b3 being Function of X,COMPLEX 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,COMPLEX;
func PreNorms f -> non empty Subset of REAL equals :: CC0SP1:def 8
{ |.(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 CC0SP1:def 8 :
for X being non empty set
for f being Function of X,COMPLEX holds PreNorms f = { |.(f . x).| where x is Element of X : verum } ;

Lm2: for C being non empty set
for f being PartFunc of C,COMPLEX holds
( |.f.| is bounded iff f is bounded )

proof end;

theorem Th10: :: CC0SP1:10
for X being non empty set
for f being Function of X,COMPLEX st f | X is bounded holds
PreNorms f is bounded_above
proof end;

theorem Th11: :: CC0SP1:11
for X being non empty set
for f being Function of X,COMPLEX holds
( f | X is bounded iff PreNorms f is bounded_above )
proof end;

definition
let X be non empty set ;
func ComplexBoundedFunctionsNorm X -> Function of ,REAL means :Def9: :: CC0SP1:def 9
for x being object st x in ComplexBoundedFunctions 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 ComplexBoundedFunctions 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 ComplexBoundedFunctions X holds
b1 . x = upper_bound (PreNorms (modetrans (x,X))) ) & ( for x being object st x in ComplexBoundedFunctions X holds
b2 . x = upper_bound (PreNorms (modetrans (x,X))) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines ComplexBoundedFunctionsNorm CC0SP1:def 9 :
for X being non empty set
for b2 being Function of ,REAL holds
( b2 = ComplexBoundedFunctionsNorm X iff for x being object st x in ComplexBoundedFunctions X holds
b2 . x = upper_bound (PreNorms (modetrans (x,X))) );

theorem Th12: :: CC0SP1:12
for X being non empty set
for f being Function of X,COMPLEX st f | X is bounded holds
modetrans (f,X) = f
proof end;

theorem Th13: :: CC0SP1:13
for X being non empty set
for f being Function of X,COMPLEX st f | X is bounded holds
. f = upper_bound ()
proof end;

definition
let X be non empty set ;
func C_Normed_Algebra_of_BoundedFunctions X -> Normed_Complex_AlgebraStr equals :: CC0SP1:def 10
Normed_Complex_AlgebraStr(# ,(mult_ (,())),(Add_ (,())),(Mult_ (,())),(One_ (,())),(Zero_ (,())), #);
correctness
coherence
Normed_Complex_AlgebraStr(# ,(mult_ (,())),(Add_ (,())),(Mult_ (,())),(One_ (,())),(Zero_ (,())), #) is Normed_Complex_AlgebraStr
;
;
end;

:: deftheorem defines C_Normed_Algebra_of_BoundedFunctions CC0SP1:def 10 :
for X being non empty set holds C_Normed_Algebra_of_BoundedFunctions X = Normed_Complex_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 = C_Normed_Algebra_of_BoundedFunctions X;
let x, e be Element of ; :: thesis: ( e = One_ (,()) implies ( x * e = x & e * x = x ) )
set X1 = ComplexBoundedFunctions X;
reconsider f = x as Element of ComplexBoundedFunctions X ;
assume A1: e = One_ (,()) ; :: thesis: ( x * e = x & e * x = x )
then x * e = (mult_ (,())) . (f,(1_ ())) by C0SP1:def 8;
then A2: x * e = ( the multF of () || ) . (f,(1_ ())) by C0SP1:def 6;
e * x = (mult_ (,())) . ((1_ ()),f) by ;
then A3: e * x = ( the multF of () || ) . ((1_ ()),f) by C0SP1:def 6;
A4: 1_ () = 1_ by Th9;
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 Th14: :: CC0SP1:14
for W being Normed_Complex_AlgebraStr
for V being ComplexAlgebra st ComplexAlgebraStr(# 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 ComplexAlgebra
proof end;

theorem Th15: :: CC0SP1:15
for X being non empty set holds C_Normed_Algebra_of_BoundedFunctions X is ComplexAlgebra
proof end;

theorem :: CC0SP1:16
for X being non empty set
for F being Point of holds (Mult_ (,())) . (1r,F) = F
proof end;

theorem Th17: :: CC0SP1:17
for X being non empty set holds C_Normed_Algebra_of_BoundedFunctions X is ComplexLinearSpace
proof end;

theorem Th18: :: CC0SP1:18
for X being non empty set holds X --> 0 = 0.
proof end;

theorem Th19: :: CC0SP1:19
for X being non empty set
for x being Element of X
for f being Function of X,COMPLEX
for F being Point of st f = F & f | X is bounded holds
|.(f . x).| <=
proof end;

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

theorem Th21: :: CC0SP1:21
for X being non empty set
for F being Point of st F = 0. holds
0 =
proof end;

theorem Th22: :: CC0SP1:22
for X being non empty set
for f, g, h being Function of X,COMPLEX
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 Th23: :: CC0SP1:23
for X being non empty set
for a being Complex
for f, g being Function of X,COMPLEX
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 Th24: :: CC0SP1:24
for X being non empty set
for f, g, h being Function of X,COMPLEX
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 Th25: :: CC0SP1:25
for X being non empty set
for a being Complex
for F, G being Point of holds
( ( = 0 implies F = 0. ) & ( F = 0. implies = 0 ) & ||.(a * F).|| = |.a.| * & ||.(F + G).|| <= + )
proof end;

Lm4:
by Th25;

registration end;

theorem Th26: :: CC0SP1:26
for X being non empty set
for f, g, h being Function of X,COMPLEX
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 Th27: :: CC0SP1:27
for X being non empty set
for seq being sequence of st seq is CCauchy holds
seq is convergent
proof end;

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

theorem :: CC0SP1:28
for X being non empty set holds C_Normed_Algebra_of_BoundedFunctions X is Complex_Banach_Algebra
proof end;