:: The Exponential Function on {B}anach Algebra
:: by Yasunari Shidama
::
:: Received February 13, 2004
:: Copyright (c) 2004-2021 Association of Mizar Users

definition
let X be non empty multMagma ;
let x, y be Element of X;
pred x,y are_commutative means :: LOPBAN_4:def 1
x * y = y * x;
reflexivity
for x being Element of X holds x * x = x * x
;
symmetry
for x, y being Element of X st x * y = y * x holds
y * x = x * y
;
end;

:: deftheorem defines are_commutative LOPBAN_4:def 1 :
for X being non empty multMagma
for x, y being Element of X holds
( x,y are_commutative iff x * y = y * x );

Lm1: for X being Banach_Algebra
for z being Element of X
for n being Nat holds
( z * (z #N n) = z #N (n + 1) & (z #N n) * z = z #N (n + 1) & z * (z #N n) = (z #N n) * z )

proof end;

Lm2: for X being Banach_Algebra
for n being Nat
for z, w being Element of X st z,w are_commutative holds
( w * (z #N n) = (z #N n) * w & z * (w #N n) = (w #N n) * z )

proof end;

theorem Th1: :: LOPBAN_4:1
for X being Banach_Algebra
for seq1, seq2 being sequence of X st seq1 is convergent & seq2 is convergent & lim (seq1 - seq2) = 0. X holds
lim seq1 = lim seq2
proof end;

theorem Th2: :: LOPBAN_4:2
for X being Banach_Algebra
for s being sequence of X
for z being Element of X st ( for n being Nat holds s . n = z ) holds
lim s = z
proof end;

theorem Th3: :: LOPBAN_4:3
for X being Banach_Algebra
for s, s9 being sequence of X st s is convergent & s9 is convergent holds
s * s9 is convergent
proof end;

theorem Th4: :: LOPBAN_4:4
for X being Banach_Algebra
for z being Element of X
for s being sequence of X st s is convergent holds
z * s is convergent
proof end;

theorem Th5: :: LOPBAN_4:5
for X being Banach_Algebra
for z being Element of X
for s being sequence of X st s is convergent holds
s * z is convergent
proof end;

theorem Th6: :: LOPBAN_4:6
for X being Banach_Algebra
for z being Element of X
for s being sequence of X st s is convergent holds
lim (z * s) = z * (lim s)
proof end;

theorem Th7: :: LOPBAN_4:7
for X being Banach_Algebra
for z being Element of X
for s being sequence of X st s is convergent holds
lim (s * z) = (lim s) * z
proof end;

theorem Th8: :: LOPBAN_4:8
for X being Banach_Algebra
for s, s9 being sequence of X st s is convergent & s9 is convergent holds
lim (s * s9) = (lim s) * (lim s9)
proof end;

theorem Th9: :: LOPBAN_4:9
for X being Banach_Algebra
for z being Element of X
for seq being sequence of X holds
( Partial_Sums (z * seq) = z * (Partial_Sums seq) & Partial_Sums (seq * z) = (Partial_Sums seq) * z )
proof end;

theorem Th10: :: LOPBAN_4:10
for X being Banach_Algebra
for k being Nat
for seq being sequence of X holds ||.((Partial_Sums seq) . k).|| <= () . k
proof end;

theorem Th11: :: LOPBAN_4:11
for X being Banach_Algebra
for m being Nat
for seq1, seq2 being sequence of X st ( for n being Nat st n <= m holds
seq1 . n = seq2 . n ) holds
(Partial_Sums seq1) . m = (Partial_Sums seq2) . m
proof end;

theorem Th12: :: LOPBAN_4:12
for X being Banach_Algebra
for seq being sequence of X
for rseq being Real_Sequence st ( for n being Nat holds ||.(seq . n).|| <= rseq . n ) & rseq is convergent & lim rseq = 0 holds
( seq is convergent & lim seq = 0. X )
proof end;

definition
let X be Banach_Algebra;
let z be Element of X;
func z rExpSeq -> sequence of X means :Def2: :: LOPBAN_4:def 2
for n being Nat holds it . n = (1 / (n !)) * (z #N n);
existence
ex b1 being sequence of X st
for n being Nat holds b1 . n = (1 / (n !)) * (z #N n)
proof end;
uniqueness
for b1, b2 being sequence of X st ( for n being Nat holds b1 . n = (1 / (n !)) * (z #N n) ) & ( for n being Nat holds b2 . n = (1 / (n !)) * (z #N n) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines rExpSeq LOPBAN_4:def 2 :
for X being Banach_Algebra
for z being Element of X
for b3 being sequence of X holds
( b3 = z rExpSeq iff for n being Nat holds b3 . n = (1 / (n !)) * (z #N n) );

scheme :: LOPBAN_4:sch 1
ExNormSpaceCASE{ F1() -> Banach_Algebra, F2( Nat, Nat) -> Point of F1() } :
for k being Nat ex seq being sequence of F1() st
for n being Nat holds
( ( n <= k implies seq . n = F2(k,n) ) & ( n > k implies seq . n = 0. F1() ) )
proof end;

theorem Th13: :: LOPBAN_4:13
( ( for k being Nat st 0 < k holds
((k -' 1) !) * k = k ! ) & ( for m, k being Nat st k <= m holds
((m -' k) !) * ((m + 1) - k) = ((m + 1) -' k) ! ) )
proof end;

definition
let n be Nat;
func Coef n -> Real_Sequence means :Def3: :: LOPBAN_4:def 3
for k being Nat holds
( ( k <= n implies it . k = (n !) / ((k !) * ((n -' k) !)) ) & ( k > n implies it . k = 0 ) );
existence
ex b1 being Real_Sequence st
for k being Nat holds
( ( k <= n implies b1 . k = (n !) / ((k !) * ((n -' k) !)) ) & ( k > n implies b1 . k = 0 ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st ( for k being Nat holds
( ( k <= n implies b1 . k = (n !) / ((k !) * ((n -' k) !)) ) & ( k > n implies b1 . k = 0 ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = (n !) / ((k !) * ((n -' k) !)) ) & ( k > n implies b2 . k = 0 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines Coef LOPBAN_4:def 3 :
for n being Nat
for b2 being Real_Sequence holds
( b2 = Coef n iff for k being Nat holds
( ( k <= n implies b2 . k = (n !) / ((k !) * ((n -' k) !)) ) & ( k > n implies b2 . k = 0 ) ) );

definition
let n be Nat;
func Coef_e n -> Real_Sequence means :Def4: :: LOPBAN_4:def 4
for k being Nat holds
( ( k <= n implies it . k = 1 / ((k !) * ((n -' k) !)) ) & ( k > n implies it . k = 0 ) );
existence
ex b1 being Real_Sequence st
for k being Nat holds
( ( k <= n implies b1 . k = 1 / ((k !) * ((n -' k) !)) ) & ( k > n implies b1 . k = 0 ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st ( for k being Nat holds
( ( k <= n implies b1 . k = 1 / ((k !) * ((n -' k) !)) ) & ( k > n implies b1 . k = 0 ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = 1 / ((k !) * ((n -' k) !)) ) & ( k > n implies b2 . k = 0 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines Coef_e LOPBAN_4:def 4 :
for n being Nat
for b2 being Real_Sequence holds
( b2 = Coef_e n iff for k being Nat holds
( ( k <= n implies b2 . k = 1 / ((k !) * ((n -' k) !)) ) & ( k > n implies b2 . k = 0 ) ) );

definition
let X be non empty ZeroStr ;
let seq be sequence of X;
func Shift seq -> sequence of X means :Def5: :: LOPBAN_4:def 5
( it . 0 = 0. X & ( for k being Nat holds it . (k + 1) = seq . k ) );
existence
ex b1 being sequence of X st
( b1 . 0 = 0. X & ( for k being Nat holds b1 . (k + 1) = seq . k ) )
proof end;
uniqueness
for b1, b2 being sequence of X st b1 . 0 = 0. X & ( for k being Nat holds b1 . (k + 1) = seq . k ) & b2 . 0 = 0. X & ( for k being Nat holds b2 . (k + 1) = seq . k ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines Shift LOPBAN_4:def 5 :
for X being non empty ZeroStr
for seq, b3 being sequence of X holds
( b3 = Shift seq iff ( b3 . 0 = 0. X & ( for k being Nat holds b3 . (k + 1) = seq . k ) ) );

definition
let n be Nat;
let X be Banach_Algebra;
let z, w be Element of X;
func Expan (n,z,w) -> sequence of X means :Def6: :: LOPBAN_4:def 6
for k being Nat holds
( ( k <= n implies it . k = (((Coef n) . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies it . k = 0. X ) );
existence
ex b1 being sequence of X st
for k being Nat holds
( ( k <= n implies b1 . k = (((Coef n) . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b1 . k = 0. X ) )
proof end;
uniqueness
for b1, b2 being sequence of X st ( for k being Nat holds
( ( k <= n implies b1 . k = (((Coef n) . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b1 . k = 0. X ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = (((Coef n) . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b2 . k = 0. X ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines Expan LOPBAN_4:def 6 :
for n being Nat
for X being Banach_Algebra
for z, w being Element of X
for b5 being sequence of X holds
( b5 = Expan (n,z,w) iff for k being Nat holds
( ( k <= n implies b5 . k = (((Coef n) . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b5 . k = 0. X ) ) );

definition
let n be Nat;
let X be Banach_Algebra;
let z, w be Element of X;
func Expan_e (n,z,w) -> sequence of X means :Def7: :: LOPBAN_4:def 7
for k being Nat holds
( ( k <= n implies it . k = ((() . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies it . k = 0. X ) );
existence
ex b1 being sequence of X st
for k being Nat holds
( ( k <= n implies b1 . k = ((() . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b1 . k = 0. X ) )
proof end;
uniqueness
for b1, b2 being sequence of X st ( for k being Nat holds
( ( k <= n implies b1 . k = ((() . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b1 . k = 0. X ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = ((() . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b2 . k = 0. X ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines Expan_e LOPBAN_4:def 7 :
for n being Nat
for X being Banach_Algebra
for z, w being Element of X
for b5 being sequence of X holds
( b5 = Expan_e (n,z,w) iff for k being Nat holds
( ( k <= n implies b5 . k = ((() . k) * (z #N k)) * (w #N (n -' k)) ) & ( n < k implies b5 . k = 0. X ) ) );

definition
let n be Nat;
let X be Banach_Algebra;
let z, w be Element of X;
func Alfa (n,z,w) -> sequence of X means :Def8: :: LOPBAN_4:def 8
for k being Nat holds
( ( k <= n implies it . k = (() . k) * (() . (n -' k)) ) & ( n < k implies it . k = 0. X ) );
existence
ex b1 being sequence of X st
for k being Nat holds
( ( k <= n implies b1 . k = (() . k) * (() . (n -' k)) ) & ( n < k implies b1 . k = 0. X ) )
proof end;
uniqueness
for b1, b2 being sequence of X st ( for k being Nat holds
( ( k <= n implies b1 . k = (() . k) * (() . (n -' k)) ) & ( n < k implies b1 . k = 0. X ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = (() . k) * (() . (n -' k)) ) & ( n < k implies b2 . k = 0. X ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines Alfa LOPBAN_4:def 8 :
for n being Nat
for X being Banach_Algebra
for z, w being Element of X
for b5 being sequence of X holds
( b5 = Alfa (n,z,w) iff for k being Nat holds
( ( k <= n implies b5 . k = (() . k) * (() . (n -' k)) ) & ( n < k implies b5 . k = 0. X ) ) );

definition
let X be Banach_Algebra;
let z, w be Element of X;
let n be Nat;
func Conj (n,z,w) -> sequence of X means :Def9: :: LOPBAN_4:def 9
for k being Nat holds
( ( k <= n implies it . k = (() . k) * ((() . n) - (() . (n -' k))) ) & ( n < k implies it . k = 0. X ) );
existence
ex b1 being sequence of X st
for k being Nat holds
( ( k <= n implies b1 . k = (() . k) * ((() . n) - (() . (n -' k))) ) & ( n < k implies b1 . k = 0. X ) )
proof end;
uniqueness
for b1, b2 being sequence of X st ( for k being Nat holds
( ( k <= n implies b1 . k = (() . k) * ((() . n) - (() . (n -' k))) ) & ( n < k implies b1 . k = 0. X ) ) ) & ( for k being Nat holds
( ( k <= n implies b2 . k = (() . k) * ((() . n) - (() . (n -' k))) ) & ( n < k implies b2 . k = 0. X ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines Conj LOPBAN_4:def 9 :
for X being Banach_Algebra
for z, w being Element of X
for n being Nat
for b5 being sequence of X holds
( b5 = Conj (n,z,w) iff for k being Nat holds
( ( k <= n implies b5 . k = (() . k) * ((() . n) - (() . (n -' k))) ) & ( n < k implies b5 . k = 0. X ) ) );

theorem Th14: :: LOPBAN_4:14
for X being Banach_Algebra
for z being Element of X
for n being Nat holds
( () . (n + 1) = ((1 / (n + 1)) * z) * (() . n) & () . 0 = 1. X & ||.(() . n).|| <= () . n )
proof end;

theorem Th15: :: LOPBAN_4:15
for k being Nat
for X being non empty ZeroStr
for seq being sequence of X st 0 < k holds
(Shift seq) . k = seq . (k -' 1)
proof end;

theorem Th16: :: LOPBAN_4:16
for X being Banach_Algebra
for k being Nat
for seq being sequence of X holds (Partial_Sums seq) . k = ((Partial_Sums (Shift seq)) . k) + (seq . k)
proof end;

theorem Th17: :: LOPBAN_4:17
for X being Banach_Algebra
for n being Nat
for z, w being Element of X st z,w are_commutative holds
(z + w) #N n = (Partial_Sums (Expan (n,z,w))) . n
proof end;

theorem Th18: :: LOPBAN_4:18
for X being Banach_Algebra
for w, z being Element of X
for n being Nat holds Expan_e (n,z,w) = (1 / (n !)) * (Expan (n,z,w))
proof end;

theorem Th19: :: LOPBAN_4:19
for X being Banach_Algebra
for n being Nat
for z, w being Element of X st z,w are_commutative holds
(1 / (n !)) * ((z + w) #N n) = (Partial_Sums (Expan_e (n,z,w))) . n
proof end;

theorem Th20: :: LOPBAN_4:20
for X being Banach_Algebra holds
( (0. X) rExpSeq is norm_summable & Sum ((0. X) rExpSeq) = 1. X )
proof end;

registration
let X be Banach_Algebra;
let z be Element of X;
coherence
proof end;
end;

theorem Th21: :: LOPBAN_4:21
for X being Banach_Algebra
for w, z being Element of X holds
( () . 0 = 1. X & (Expan (0,z,w)) . 0 = 1. X )
proof end;

theorem Th22: :: LOPBAN_4:22
for X being Banach_Algebra
for w, z being Element of X
for k, l being Nat st l <= k holds
(Alfa ((k + 1),z,w)) . l = ((Alfa (k,z,w)) . l) + ((Expan_e ((k + 1),z,w)) . l)
proof end;

theorem Th23: :: LOPBAN_4:23
for X being Banach_Algebra
for w, z being Element of X
for k being Nat holds (Partial_Sums (Alfa ((k + 1),z,w))) . k = ((Partial_Sums (Alfa (k,z,w))) . k) + ((Partial_Sums (Expan_e ((k + 1),z,w))) . k)
proof end;

theorem Th24: :: LOPBAN_4:24
for X being Banach_Algebra
for w, z being Element of X
for k being Nat holds () . k = (Expan_e (k,z,w)) . k
proof end;

theorem Th25: :: LOPBAN_4:25
for X being Banach_Algebra
for n being Nat
for z, w being Element of X st z,w are_commutative holds
(Partial_Sums ((z + w) rExpSeq)) . n = (Partial_Sums (Alfa (n,z,w))) . n
proof end;

theorem Th26: :: LOPBAN_4:26
for X being Banach_Algebra
for k being Nat
for z, w being Element of X st z,w are_commutative holds
((() . k) * (() . k)) - ((Partial_Sums ((z + w) rExpSeq)) . k) = (Partial_Sums (Conj (k,z,w))) . k
proof end;

theorem Th27: :: LOPBAN_4:27
for X being Banach_Algebra
for z being Element of X
for n being Nat holds 0 <= () . n
proof end;

theorem Th28: :: LOPBAN_4:28
for X being Banach_Algebra
for z being Element of X
for k being Nat holds
( ||.(() . k).|| <= () . k & () . k <= Sum () & ||.(() . k).|| <= Sum () )
proof end;

theorem Th29: :: LOPBAN_4:29
for X being Banach_Algebra
for z being Element of X holds 1 <= Sum ()
proof end;

theorem Th30: :: LOPBAN_4:30
for X being Banach_Algebra
for z being Element of X
for m, n being Nat holds
( |.(() . n).| = () . n & ( n <= m implies |.((() . m) - (() . n)).| = (() . m) - (() . n) ) )
proof end;

theorem Th31: :: LOPBAN_4:31
for X being Banach_Algebra
for w, z being Element of X
for k, n being Nat holds |.((Partial_Sums ||.(Conj (k,z,w)).||) . n).| = (Partial_Sums ||.(Conj (k,z,w)).||) . n
proof end;

theorem Th32: :: LOPBAN_4:32
for X being Banach_Algebra
for w, z being Element of X
for p being Real st p > 0 holds
ex n being Nat st
for k being Nat st n <= k holds
|.((Partial_Sums ||.(Conj (k,z,w)).||) . k).| < p
proof end;

theorem Th33: :: LOPBAN_4:33
for X being Banach_Algebra
for w, z being Element of X
for seq being sequence of X st ( for k being Nat holds seq . k = (Partial_Sums (Conj (k,z,w))) . k ) holds
( seq is convergent & lim seq = 0. X )
proof end;

Lm3: for X being Banach_Algebra
for z, w being Element of X st z,w are_commutative holds
(Sum ()) * (Sum ()) = Sum ((z + w) rExpSeq)

proof end;

definition
let X be Banach_Algebra;
func exp_ X -> Function of the carrier of X, the carrier of X means :Def10: :: LOPBAN_4:def 10
for z being Element of X holds it . z = Sum ();
existence
ex b1 being Function of the carrier of X, the carrier of X st
for z being Element of X holds b1 . z = Sum ()
proof end;
uniqueness
for b1, b2 being Function of the carrier of X, the carrier of X st ( for z being Element of X holds b1 . z = Sum () ) & ( for z being Element of X holds b2 . z = Sum () ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines exp_ LOPBAN_4:def 10 :
for X being Banach_Algebra
for b2 being Function of the carrier of X, the carrier of X holds
( b2 = exp_ X iff for z being Element of X holds b2 . z = Sum () );

definition
let X be Banach_Algebra;
let z be Element of X;
func exp z -> Element of X equals :: LOPBAN_4:def 11
(exp_ X) . z;
correctness
coherence
(exp_ X) . z is Element of X
;
;
end;

:: deftheorem defines exp LOPBAN_4:def 11 :
for X being Banach_Algebra
for z being Element of X holds exp z = (exp_ X) . z;

theorem :: LOPBAN_4:34
for X being Banach_Algebra
for z being Element of X holds exp z = Sum () by Def10;

theorem Th35: :: LOPBAN_4:35
for X being Banach_Algebra
for z1, z2 being Element of X st z1,z2 are_commutative holds
( exp (z1 + z2) = (exp z1) * (exp z2) & exp (z2 + z1) = (exp z2) * (exp z1) & exp (z1 + z2) = exp (z2 + z1) & exp z1, exp z2 are_commutative )
proof end;

theorem :: LOPBAN_4:36
for X being Banach_Algebra
for z1, z2 being Element of X st z1,z2 are_commutative holds
z1 * (exp z2) = (exp z2) * z1
proof end;

theorem Th37: :: LOPBAN_4:37
for X being Banach_Algebra holds exp (0. X) = 1. X
proof end;

theorem Th38: :: LOPBAN_4:38
for X being Banach_Algebra
for z being Element of X holds
( (exp z) * (exp (- z)) = 1. X & (exp (- z)) * (exp z) = 1. X )
proof end;

theorem :: LOPBAN_4:39
for X being Banach_Algebra
for z being Element of X holds
( exp z is invertible & (exp z) " = exp (- z) & exp (- z) is invertible & (exp (- z)) " = exp z )
proof end;

theorem Th40: :: LOPBAN_4:40
for X being Banach_Algebra
for z being Element of X
for s, t being Real holds s * z,t * z are_commutative
proof end;

theorem :: LOPBAN_4:41
for X being Banach_Algebra
for z being Element of X
for s, t being Real holds
( (exp (s * z)) * (exp (t * z)) = exp ((s + t) * z) & (exp (t * z)) * (exp (s * z)) = exp ((t + s) * z) & exp ((s + t) * z) = exp ((t + s) * z) & exp (s * z), exp (t * z) are_commutative )
proof end;