:: Cauchy Sequence of Complex Unitary Space
:: by Yasumasa Suzuki and Noboru Endou
::
:: Received March 18, 2004
:: Copyright (c) 2004-2019 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, CSSPACE, PRE_TOPC, NAT_1, SEQ_1, COMSEQ_1, XCMPLX_0,
REAL_1, SUBSET_1, SUPINF_2, SERIES_1, ARYTM_3, FUNCT_1, CARD_1, ARYTM_1,
RELAT_1, COMPLEX1, SEQ_2, CARD_3, ORDINAL2, BHSP_3, XXREAL_0, NORMSP_1,
XXREAL_2, FUNCOP_1, VALUED_1, POWER, NEWTON, VALUED_0, INT_1, METRIC_1,
CSSPACE2;
notations SUBSET_1, ORDINAL1, NUMBERS, XCMPLX_0, XXREAL_0, COMPLEX1, XREAL_0,
REAL_1, FUNCOP_1, VALUED_1, SEQ_1, SEQ_2, INT_1, NAT_1, NEWTON, SERIES_1,
VALUED_0, PRE_TOPC, COMSEQ_1, STRUCT_0, RLVECT_1, VFUNCT_1, NORMSP_1,
BHSP_4, POWER, COMSEQ_2, COMSEQ_3, NORMSP_0, CLVECT_1, CSSPACE, CLVECT_2,
CSSPACE2;
constructors REAL_1, COMSEQ_2, COMSEQ_3, BHSP_4, CLVECT_2, SEQ_2, RELSET_1,
ABIAN, VFUNCT_1;
registrations ORDINAL1, FUNCT_2, XXREAL_0, XREAL_0, INT_1, MEMBERED, STRUCT_0,
VALUED_1, NUMBERS, VALUED_0, RELSET_1, FUNCOP_1, VFUNCT_1, XCMPLX_0,
COMSEQ_2, NEWTON, NAT_1;
requirements REAL, NUMERALS, SUBSET, BOOLE, ARITHM;
begin :: Cauchy sequence of complex unitary space
reserve X for ComplexUnitarySpace;
reserve g for Point of X;
reserve seq, seq1, seq2 for sequence of X;
reserve Rseq for Real_Sequence;
reserve Cseq,Cseq1,Cseq2 for Complex_Sequence;
reserve z,z1,z2 for Complex;
reserve r for Real;
reserve k,n,m for Nat;
theorem :: CLVECT_3:1
Partial_Sums(seq1) + Partial_Sums(seq2) = Partial_Sums(seq1 + seq2);
theorem :: CLVECT_3:2
Partial_Sums(seq1) - Partial_Sums(seq2) = Partial_Sums(seq1 - seq2);
theorem :: CLVECT_3:3
Partial_Sums(z * seq) = z * Partial_Sums(seq);
theorem :: CLVECT_3:4
Partial_Sums(- seq) = - Partial_Sums(seq);
theorem :: CLVECT_3:5
z1 * Partial_Sums(seq1) + z2 * Partial_Sums(seq2) = Partial_Sums(z1*
seq1 + z2*seq2);
definition
let X, seq;
attr seq is summable means
:: CLVECT_3:def 1
Partial_Sums(seq) is convergent;
func Sum(seq) -> Point of X equals
:: CLVECT_3:def 2
lim Partial_Sums(seq);
end;
theorem :: CLVECT_3:6
seq1 is summable & seq2 is summable implies seq1 + seq2 is summable &
Sum(seq1 + seq2) = Sum(seq1) + Sum(seq2);
theorem :: CLVECT_3:7
seq1 is summable & seq2 is summable implies seq1 - seq2 is summable &
Sum(seq1 - seq2) = Sum(seq1) - Sum(seq2);
theorem :: CLVECT_3:8
seq is summable implies z * seq is summable & Sum(z*seq) = z * Sum(seq );
theorem :: CLVECT_3:9
seq is summable implies seq is convergent & lim seq = 0.X;
theorem :: CLVECT_3:10
for X being ComplexHilbertSpace, seq being sequence of X
holds seq is summable iff for r st r > 0 ex k
st for n, m st n >= k & m >= k holds ||.(Partial_Sums(seq)).n - (Partial_Sums(
seq)).m.|| < r;
theorem :: CLVECT_3:11
seq is summable implies Partial_Sums(seq) is bounded;
theorem :: CLVECT_3:12
(for n holds seq1.n = seq.0) implies Partial_Sums(seq^\1) = (
Partial_Sums(seq)^\1) - seq1;
theorem :: CLVECT_3:13
seq is summable implies for k holds seq^\k is summable;
theorem :: CLVECT_3:14
(ex k st seq^\k is summable) implies seq is summable;
definition
let X, seq, n;
func Sum(seq,n) -> Point of X equals
:: CLVECT_3:def 3
Partial_Sums(seq).n;
end;
theorem :: CLVECT_3:15
Sum(seq, 0) = seq.0;
theorem :: CLVECT_3:16
Sum(seq,1) = Sum(seq,0) + seq.1;
theorem :: CLVECT_3:17
Sum(seq,1) = seq.0 + seq.1;
theorem :: CLVECT_3:18
Sum(seq,n+1) = Sum(seq,n) + seq.(n+1);
theorem :: CLVECT_3:19
seq.(n+1) = Sum(seq,n+1) - Sum(seq,n);
theorem :: CLVECT_3:20
seq.1 = Sum(seq,1) - Sum(seq,0);
definition
let X, seq, n, m;
func Sum(seq, n, m) -> Point of X equals
:: CLVECT_3:def 4
Sum(seq,n) - Sum(seq,m);
end;
theorem :: CLVECT_3:21
Sum(seq,1,0) = seq.1;
theorem :: CLVECT_3:22
Sum(seq,n+1,n) = seq.(n+1);
theorem :: CLVECT_3:23
for X being ComplexHilbertSpace, seq being sequence of X
holds seq is summable iff for r st r > 0 ex k
st for n, m st n >= k & m >= k holds ||.Sum(seq, n) - Sum(seq, m).|| < r;
theorem :: CLVECT_3:24
for X being ComplexHilbertSpace, seq being sequence of X
holds seq is summable iff for r st r > 0 ex k st for
n, m st n>=k & m>=k holds ||.Sum(seq, n, m).|| < r;
definition
let Cseq, n;
func Sum(Cseq,n) -> Complex equals
:: CLVECT_3:def 5
Partial_Sums(Cseq).n;
end;
definition
let Cseq, n,m;
func Sum(Cseq,n,m) -> Complex equals
:: CLVECT_3:def 6
Sum(Cseq,n) - Sum(Cseq,m);
end;
definition
let X, seq;
attr seq is absolutely_summable means
:: CLVECT_3:def 7
||.seq.|| is summable;
end;
theorem :: CLVECT_3:25
seq1 is absolutely_summable & seq2 is absolutely_summable implies seq1
+ seq2 is absolutely_summable;
theorem :: CLVECT_3:26
seq is absolutely_summable implies z * seq is absolutely_summable;
theorem :: CLVECT_3:27
( for n holds ||.seq.||.n <= Rseq.n ) & Rseq is summable implies seq
is absolutely_summable;
theorem :: CLVECT_3:28
( for n holds seq.n <> 0.X & Rseq.n = ||.seq.(n+1).||/||.seq.n.|| ) &
Rseq is convergent & lim Rseq < 1 implies seq is absolutely_summable;
theorem :: CLVECT_3:29
r > 0 & ( ex m st for n st n >= m holds ||.seq.n.|| >= r)
implies not seq is convergent or lim seq <> 0.X;
theorem :: CLVECT_3:30
( for n holds seq.n <> 0.X ) & ( ex m st for n st n >= m holds
||.seq.(n+1).||/||.seq.n.|| >= 1 ) implies not seq is summable;
theorem :: CLVECT_3:31
(for n holds seq.n <> 0.X) & (for n holds Rseq.n = ||.seq.(n+1).||/||.
seq.n.||) & Rseq is convergent & lim Rseq > 1 implies not seq is summable;
theorem :: CLVECT_3:32
( for n holds Rseq.n = n-root (||.seq.n.||) ) & Rseq is convergent &
lim Rseq < 1 implies seq is absolutely_summable;
theorem :: CLVECT_3:33
(for n holds Rseq.n = n-root (||.seq.||.n)) & (ex m st for n st n >= m
holds Rseq.n >= 1) implies not seq is summable;
theorem :: CLVECT_3:34
(for n holds Rseq.n = n-root (||.seq.||.n)) & Rseq is convergent & lim
Rseq > 1 implies not seq is summable;
theorem :: CLVECT_3:35
Partial_Sums(||.seq.||) is non-decreasing;
theorem :: CLVECT_3:36
for n holds Partial_Sums(||.seq.||).n >= 0;
theorem :: CLVECT_3:37
for n holds ||.Partial_Sums(seq).n.|| <= Partial_Sums(||.seq.||) .n;
theorem :: CLVECT_3:38
for n holds ||.Sum(seq, n).|| <= Sum(||.seq.||, n);
theorem :: CLVECT_3:39
for n, m holds ||.Partial_Sums(seq).m - Partial_Sums(seq).n.||
<= |.Partial_Sums(||.seq.||).m - Partial_Sums(||.seq.||).n.|;
theorem :: CLVECT_3:40
for n,m holds ||.Sum(seq,m)-Sum(seq,n).|| <= |. Sum(||.seq.||,
m)-Sum(||.seq.||,n) .|;
theorem :: CLVECT_3:41
for n,m holds ||.Sum(seq,m,n).|| <= |.Sum(||.seq.||,m,n).|;
theorem :: CLVECT_3:42
for X being ComplexHilbertSpace, seq being sequence of X
holds seq is absolutely_summable implies seq is
summable;
definition
let X, seq, Cseq;
func Cseq * seq -> sequence of X means
:: CLVECT_3:def 8
for n holds it.n = Cseq.n * seq.n;
end;
theorem :: CLVECT_3:43
Cseq * (seq1 + seq2) = Cseq * seq1 + Cseq * seq2;
theorem :: CLVECT_3:44
(Cseq1 + Cseq2) * seq = Cseq1 * seq + Cseq2 * seq;
theorem :: CLVECT_3:45
(Cseq1 (#) Cseq2) * seq = Cseq1 * (Cseq2 * seq);
theorem :: CLVECT_3:46
(z (#) Cseq) * seq = z * (Cseq * seq);
theorem :: CLVECT_3:47
Cseq * (- seq) = (- Cseq) * seq;
theorem :: CLVECT_3:48
Cseq is convergent & seq is convergent implies Cseq * seq is convergent;
theorem :: CLVECT_3:49
Cseq is bounded & seq is bounded implies Cseq * seq is bounded;
theorem :: CLVECT_3:50
Cseq is convergent & seq is convergent implies Cseq * seq is
convergent & lim (Cseq * seq) = lim Cseq * lim seq;
definition
let Cseq;
attr Cseq is Cauchy means
:: CLVECT_3:def 9
for r st r > 0 ex k st for n, m st n >= k
& m >= k holds |.((Cseq.n - Cseq.m)).| < r;
end;
theorem :: CLVECT_3:51
for X being ComplexHilbertSpace, seq being sequence of X
holds seq is Cauchy & Cseq is Cauchy implies Cseq *
seq is Cauchy;
theorem :: CLVECT_3:52
for n holds Partial_Sums((Cseq - Cseq^\1) * Partial_Sums(seq)).n
= Partial_Sums(Cseq * seq).(n+1) - (Cseq * Partial_Sums(seq)).(n+1);
theorem :: CLVECT_3:53
for n holds Partial_Sums(Cseq * seq).(n+1) = (Cseq *
Partial_Sums(seq)).(n+1) - Partial_Sums((Cseq^\1 - Cseq) * Partial_Sums(seq)).n
;
theorem :: CLVECT_3:54
for n holds Sum(Cseq*seq,n+1) = (Cseq*Partial_Sums(seq)).(n+1) - Sum((
Cseq^\1 - Cseq)*Partial_Sums(seq),n);