:: The {B}anach Algebra of Bounded Linear Operators
:: by Yasunari Shidama
::
:: Copyright (c) 2004-2019 Association of Mizar Users

theorem Th1: :: LOPBAN_2:1
for X, Y, Z being RealLinearSpace
for f being LinearOperator of X,Y
for g being LinearOperator of Y,Z holds g * f is LinearOperator of X,Z
proof end;

theorem Th2: :: LOPBAN_2:2
for X, Y, Z being RealNormSpace
for f being Lipschitzian LinearOperator of X,Y
for g being Lipschitzian LinearOperator of Y,Z holds
( g * f is Lipschitzian LinearOperator of X,Z & ( for x being VECTOR of X holds
( ||.((g * f) . x).|| <= ((() . g) * (() . f)) * & () . (g * f) <= (() . g) * (() . f) ) ) )
proof end;

definition
let X be RealNormSpace;
let f, g be Lipschitzian LinearOperator of X,X;
:: original: *
redefine func g * f -> Lipschitzian LinearOperator of X,X;
correctness
coherence
g * f is Lipschitzian LinearOperator of X,X
;
by Th2;
end;

definition
let X be RealNormSpace;
let f, g be Element of BoundedLinearOperators (X,X);
func f + g -> Element of BoundedLinearOperators (X,X) equals :: LOPBAN_2:def 1
correctness
coherence
(Add_ ((),())) . (f,g) is Element of BoundedLinearOperators (X,X)
;
;
end;

:: deftheorem defines + LOPBAN_2:def 1 :
for X being RealNormSpace
for f, g being Element of BoundedLinearOperators (X,X) holds f + g = (Add_ ((),())) . (f,g);

definition
let X be RealNormSpace;
let f, g be Element of BoundedLinearOperators (X,X);
func g * f -> Element of BoundedLinearOperators (X,X) equals :: LOPBAN_2:def 2
(modetrans (g,X,X)) * (modetrans (f,X,X));
correctness
coherence
(modetrans (g,X,X)) * (modetrans (f,X,X)) is Element of BoundedLinearOperators (X,X)
;
by LOPBAN_1:def 9;
end;

:: deftheorem defines * LOPBAN_2:def 2 :
for X being RealNormSpace
for f, g being Element of BoundedLinearOperators (X,X) holds g * f = (modetrans (g,X,X)) * (modetrans (f,X,X));

definition
let X be RealNormSpace;
let f be Element of BoundedLinearOperators (X,X);
let a be Real;
func a * f -> Element of BoundedLinearOperators (X,X) equals :: LOPBAN_2:def 3
(Mult_ ((),())) . (a,f);
correctness
coherence
(Mult_ ((),())) . (a,f) is Element of BoundedLinearOperators (X,X)
;
proof end;
end;

:: deftheorem defines * LOPBAN_2:def 3 :
for X being RealNormSpace
for f being Element of BoundedLinearOperators (X,X)
for a being Real holds a * f = (Mult_ ((),())) . (a,f);

definition
let X be RealNormSpace;
func FuncMult X -> BinOp of () means :Def4: :: LOPBAN_2:def 4
for f, g being Element of BoundedLinearOperators (X,X) holds it . (f,g) = f * g;
existence
ex b1 being BinOp of () st
for f, g being Element of BoundedLinearOperators (X,X) holds b1 . (f,g) = f * g
proof end;
uniqueness
for b1, b2 being BinOp of () st ( for f, g being Element of BoundedLinearOperators (X,X) holds b1 . (f,g) = f * g ) & ( for f, g being Element of BoundedLinearOperators (X,X) holds b2 . (f,g) = f * g ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines FuncMult LOPBAN_2:def 4 :
for X being RealNormSpace
for b2 being BinOp of () holds
( b2 = FuncMult X iff for f, g being Element of BoundedLinearOperators (X,X) holds b2 . (f,g) = f * g );

theorem Th3: :: LOPBAN_2:3
for X being RealNormSpace holds id the carrier of X is Lipschitzian LinearOperator of X,X
proof end;

definition
let X be RealNormSpace;
func FuncUnit X -> Element of BoundedLinearOperators (X,X) equals :: LOPBAN_2:def 5
id the carrier of X;
coherence
id the carrier of X is Element of BoundedLinearOperators (X,X)
proof end;
end;

:: deftheorem defines FuncUnit LOPBAN_2:def 5 :
for X being RealNormSpace holds FuncUnit X = id the carrier of X;

theorem Th4: :: LOPBAN_2:4
for X being RealNormSpace
for f, g, h being Lipschitzian LinearOperator of X,X holds
( h = f * g iff for x being VECTOR of X holds h . x = f . (g . x) )
proof end;

theorem Th5: :: LOPBAN_2:5
for X being RealNormSpace
for f, g, h being Lipschitzian LinearOperator of X,X holds f * (g * h) = (f * g) * h
proof end;

theorem Th6: :: LOPBAN_2:6
for X being RealNormSpace
for f being Lipschitzian LinearOperator of X,X holds
( f * (id the carrier of X) = f & (id the carrier of X) * f = f )
proof end;

theorem Th7: :: LOPBAN_2:7
for X being RealNormSpace
for f, g, h being Element of BoundedLinearOperators (X,X) holds f * (g * h) = (f * g) * h
proof end;

theorem Th8: :: LOPBAN_2:8
for X being RealNormSpace
for f being Element of BoundedLinearOperators (X,X) holds
( f * () = f & () * f = f )
proof end;

theorem Th9: :: LOPBAN_2:9
for X being RealNormSpace
for f, g, h being Element of BoundedLinearOperators (X,X) holds f * (g + h) = (f * g) + (f * h)
proof end;

theorem Th10: :: LOPBAN_2:10
for X being RealNormSpace
for f, g, h being Element of BoundedLinearOperators (X,X) holds (g + h) * f = (g * f) + (h * f)
proof end;

theorem Th11: :: LOPBAN_2:11
for X being RealNormSpace
for f, g being Element of BoundedLinearOperators (X,X)
for a, b being Real holds (a * b) * (f * g) = (a * f) * (b * g)
proof end;

theorem Th12: :: LOPBAN_2:12
for X being RealNormSpace
for f, g being Element of BoundedLinearOperators (X,X)
for a being Real holds a * (f * g) = (a * f) * g
proof end;

definition
let X be RealNormSpace;
func Ring_of_BoundedLinearOperators X -> doubleLoopStr equals :: LOPBAN_2:def 6
correctness
coherence
doubleLoopStr(# (),(Add_ ((),())),(),(),(Zero_ ((),())) #) is doubleLoopStr
;
;
end;

:: deftheorem defines Ring_of_BoundedLinearOperators LOPBAN_2:def 6 :
for X being RealNormSpace holds Ring_of_BoundedLinearOperators X = doubleLoopStr(# (),(Add_ ((),())),(),(),(Zero_ ((),())) #);

registration
let X be RealNormSpace;
coherence ;
end;

Lm1: now :: thesis: for X being RealNormSpace
for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )
let X be RealNormSpace; :: thesis: for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )

set F = Ring_of_BoundedLinearOperators X;
let x, e be Element of ; :: thesis: ( e = FuncUnit X implies ( x * e = x & e * x = x ) )
reconsider f = x as Element of BoundedLinearOperators (X,X) ;
assume A1: e = FuncUnit X ; :: thesis: ( x * e = x & e * x = x )
hence x * e = f * () by Def4
.= x by Th8 ;
:: thesis: e * x = x
thus e * x = () * f by
.= x by Th8 ; :: thesis: verum
end;

registration
let X be RealNormSpace;
coherence
proof end;
end;

theorem Th13: :: LOPBAN_2:13
for X being RealNormSpace
for x, y, z being Element of holds
( x + y = y + x & (x + y) + z = x + (y + z) & x + = x & ex t being Element of st x + t = 0. & (x * y) * z = x * (y * z) & x * = x & * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) )
proof end;

theorem Th14: :: LOPBAN_2:14
for X being RealNormSpace holds Ring_of_BoundedLinearOperators X is Ring
proof end;

registration
let X be RealNormSpace;
coherence by Th14;
end;

definition
let X be RealNormSpace;
func R_Algebra_of_BoundedLinearOperators X -> AlgebraStr equals :: LOPBAN_2:def 7
AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())) #);
correctness
coherence
AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())) #) is AlgebraStr
;
;
end;

:: deftheorem defines R_Algebra_of_BoundedLinearOperators LOPBAN_2:def 7 :
for X being RealNormSpace holds R_Algebra_of_BoundedLinearOperators X = AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())) #);

registration
let X be RealNormSpace;
coherence ;
end;

Lm2: now :: thesis: for X being RealNormSpace
for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )
let X be RealNormSpace; :: thesis: for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )

set F = R_Algebra_of_BoundedLinearOperators X;
let x, e be Element of ; :: thesis: ( e = FuncUnit X implies ( x * e = x & e * x = x ) )
reconsider f = x as Element of BoundedLinearOperators (X,X) ;
assume A1: e = FuncUnit X ; :: thesis: ( x * e = x & e * x = x )
hence x * e = f * () by Def4
.= x by Th8 ;
:: thesis: e * x = x
thus e * x = () * f by
.= x by Th8 ; :: thesis: verum
end;

registration
let X be RealNormSpace;
coherence
proof end;
end;

theorem :: LOPBAN_2:15
for X being RealNormSpace
for x, y, z being Element of
for a, b being Real holds
( x + y = y + x & (x + y) + z = x + (y + z) & x + = x & ex t being Element of st x + t = 0. & (x * y) * z = x * (y * z) & x * = x & * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) & a * (x * y) = (a * x) * y & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) & (a * b) * (x * y) = (a * x) * (b * y) )
proof end;

definition end;

registration end;

theorem :: LOPBAN_2:16
for X being RealNormSpace holds R_Algebra_of_BoundedLinearOperators X is BLAlgebra ;

registration
end;

registration
cluster l1_Space -> non trivial ;
coherence
not l1_Space is trivial
proof end;
end;

registration
existence
not for b1 being RealBanachSpace holds b1 is trivial
proof end;
end;

theorem Th17: :: LOPBAN_2:17
for X being non trivial RealNormSpace ex w being VECTOR of X st = 1
proof end;

theorem Th18: :: LOPBAN_2:18
for X being non trivial RealNormSpace holds () . (id the carrier of X) = 1
proof end;

definition end;

registration
existence
not for b1 being Normed_AlgebraStr holds b1 is empty
proof end;
end;

definition
let X be RealNormSpace;
func R_Normed_Algebra_of_BoundedLinearOperators X -> Normed_AlgebraStr equals :: LOPBAN_2:def 8
Normed_AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())),() #);
correctness
coherence
Normed_AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())),() #) is Normed_AlgebraStr
;
;
end;

:: deftheorem defines R_Normed_Algebra_of_BoundedLinearOperators LOPBAN_2:def 8 :
for X being RealNormSpace holds R_Normed_Algebra_of_BoundedLinearOperators X = Normed_AlgebraStr(# (),(),(Add_ ((),())),(Mult_ ((),())),(),(Zero_ ((),())),() #);

registration
let X be RealNormSpace;
coherence ;
end;

Lm3: now :: thesis: for X being RealNormSpace
for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )
let X be RealNormSpace; :: thesis: for x, e being Element of st e = FuncUnit X holds
( x * e = x & e * x = x )

set F = R_Normed_Algebra_of_BoundedLinearOperators X;
let x, e be Element of ; :: thesis: ( e = FuncUnit X implies ( x * e = x & e * x = x ) )
reconsider f = x as Element of BoundedLinearOperators (X,X) ;
assume A1: e = FuncUnit X ; :: thesis: ( x * e = x & e * x = x )
hence x * e = f * () by Def4
.= x by Th8 ;
:: thesis: e * x = x
thus e * x = () * f by
.= x by Th8 ; :: thesis: verum
end;

registration end;

theorem Th19: :: LOPBAN_2:19
for X being RealNormSpace
for x, y, z being Element of
for a, b being Real holds
( x + y = y + x & (x + y) + z = x + (y + z) & x + = x & ex t being Element of st x + t = 0. & (x * y) * z = x * (y * z) & x * = x & * x = x & x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) & a * (x * y) = (a * x) * y & (a * b) * (x * y) = (a * x) * (b * y) & a * (x + y) = (a * x) + (a * y) & (a + b) * x = (a * x) + (b * x) & (a * b) * x = a * (b * x) & 1 * x = x )
proof end;

registration
existence
ex b1 being non empty Normed_AlgebraStr st
( b1 is reflexive & b1 is discerning & b1 is RealNormSpace-like & b1 is Abelian & b1 is add-associative & b1 is right_zeroed & b1 is right_complementable & b1 is associative & b1 is right_unital & b1 is right-distributive & b1 is vector-distributive & b1 is scalar-distributive & b1 is scalar-associative & b1 is vector-associative & b1 is vector-distributive & b1 is scalar-distributive & b1 is scalar-associative & b1 is scalar-unital & b1 is strict )
proof end;
end;

definition end;

definition
let X be non empty Normed_AlgebraStr ;
attr X is Banach_Algebra-like_1 means :: LOPBAN_2:def 9
for x, y being Element of X holds ||.(x * y).|| <= * ;
attr X is Banach_Algebra-like_2 means :: LOPBAN_2:def 10
||.(1. X).|| = 1;
attr X is Banach_Algebra-like_3 means :: LOPBAN_2:def 11
for a being Real
for x, y being Element of X holds a * (x * y) = x * (a * y);
end;

:: deftheorem defines Banach_Algebra-like_1 LOPBAN_2:def 9 :
for X being non empty Normed_AlgebraStr holds
( X is Banach_Algebra-like_1 iff for x, y being Element of X holds ||.(x * y).|| <= * );

:: deftheorem defines Banach_Algebra-like_2 LOPBAN_2:def 10 :
for X being non empty Normed_AlgebraStr holds
( X is Banach_Algebra-like_2 iff ||.(1. X).|| = 1 );

:: deftheorem defines Banach_Algebra-like_3 LOPBAN_2:def 11 :
for X being non empty Normed_AlgebraStr holds
( X is Banach_Algebra-like_3 iff for a being Real
for x, y being Element of X holds a * (x * y) = x * (a * y) );

definition
let X be Normed_Algebra;
end;

:: deftheorem defines Banach_Algebra-like LOPBAN_2:def 12 :
for X being Normed_Algebra holds
( X is Banach_Algebra-like iff ( X is Banach_Algebra-like_1 & X is Banach_Algebra-like_2 & X is Banach_Algebra-like_3 & X is left_unital & X is left-distributive & X is complete ) );

registration
coherence
for b1 being Normed_Algebra st b1 is Banach_Algebra-like holds
( b1 is Banach_Algebra-like_1 & b1 is Banach_Algebra-like_2 & b1 is Banach_Algebra-like_3 & b1 is left-distributive & b1 is left_unital & b1 is complete )
;
coherence
for b1 being Normed_Algebra st b1 is Banach_Algebra-like_1 & b1 is Banach_Algebra-like_2 & b1 is Banach_Algebra-like_3 & b1 is left-distributive & b1 is left_unital & b1 is complete holds
b1 is Banach_Algebra-like
;
end;

registration end;

registration
existence
ex b1 being Normed_Algebra st b1 is Banach_Algebra-like
proof end;
end;

definition end;

theorem :: LOPBAN_2:21
for X being RealNormSpace holds 1. = FuncUnit X ;

theorem :: LOPBAN_2:22
for X being RealNormSpace holds 1. = FuncUnit X ;

theorem :: LOPBAN_2:23
for X being RealNormSpace holds 1. = FuncUnit X ;