Journal of Formalized Mathematics
Volume 4, 1992
University of Bialystok
Copyright (c) 1992
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Katarzyna Zawadzka
- Received December 29, 1992
- MML identifier: FVSUM_1
- [
Mizar article,
MML identifier index
]
environ
vocabulary RLVECT_1, BINOP_1, FUNCT_1, VECTSP_1, ALGSTR_1, SETWISEO, LATTICES,
FUNCOP_1, ARYTM_1, FINSEQOP, FINSEQ_1, RELAT_1, FINSEQ_2, RVSUM_1,
SQUARE_1, FINSUB_1, BOOLE, SUBSET_1, FINSEQ_4, RLSUB_2, FINSET_1, CARD_1,
CAT_3, FVSUM_1, CARD_3;
notation TARSKI, XBOOLE_0, SUBSET_1, NUMBERS, XREAL_0, NAT_1, SQUARE_1,
RELAT_1, FUNCT_1, STRUCT_0, PARTFUN1, FUNCT_2, FINSEQ_1, FINSEQ_4,
BINOP_1, FUNCOP_1, RLVECT_1, SETWISEO, FINSEQ_2, FINSEQOP, SETWOP_2,
TOPREAL1, ALGSTR_1, GROUP_4, VECTSP_1, CARD_1, FINSET_1, FINSUB_1,
MATRIX_2;
constructors DOMAIN_1, NAT_1, SQUARE_1, SETWISEO, FINSEQOP, SETWOP_2,
TOPREAL1, ALGSTR_1, GROUP_4, MATRIX_2, FINSOP_1, FINSEQ_4, MEMBERED,
PARTFUN1, XBOOLE_0;
clusters FUNCT_1, FINSEQ_1, VECTSP_1, RELSET_1, STRUCT_0, FINSEQ_2, ALGSTR_1,
FINSET_1, FINSUB_1, NAT_1, MEMBERED, ZFMISC_1, FUNCT_2, PARTFUN1,
XBOOLE_0, NUMBERS, ORDINAL2;
requirements NUMERALS, REAL, BOOLE, SUBSET;
begin :: Auxiliary theorems
reserve i,j,k for Nat;
canceled;
theorem :: FVSUM_1:2
for K being Abelian (non empty LoopStr) holds the add of K is commutative;
theorem :: FVSUM_1:3
for K being add-associative (non empty LoopStr)
holds the add of K is associative;
theorem :: FVSUM_1:4
for K being commutative (non empty HGrStr) holds
the mult of K is commutative;
canceled;
theorem :: FVSUM_1:6 :::multLoopStr
for K being commutative left_unital (non empty doubleLoopStr) holds
1_ K is_a_unity_wrt the mult of K;
theorem :: FVSUM_1:7 :::multLoopStr
for K being commutative left_unital (non empty doubleLoopStr) holds
the_unity_wrt the mult of K = 1_ K;
theorem :: FVSUM_1:8
for K being left_zeroed right_zeroed (non empty LoopStr)
holds 0.K is_a_unity_wrt the add of K;
theorem :: FVSUM_1:9
for K being left_zeroed right_zeroed (non empty LoopStr) holds
the_unity_wrt the add of K = 0.K;
theorem :: FVSUM_1:10
for K being left_zeroed right_zeroed (non empty LoopStr)
holds the add of K has_a_unity;
theorem :: FVSUM_1:11 :::multLoopStr
for K being commutative left_unital (non empty doubleLoopStr) holds
the mult of K has_a_unity;
theorem :: FVSUM_1:12
for K being distributive (non empty doubleLoopStr) holds
the mult of K is_distributive_wrt the add of K;
definition let K be non empty HGrStr;let a be Element of K;
func a multfield -> UnOp of the carrier of K equals
:: FVSUM_1:def 1
(the mult of K)[;](a,id (the carrier of K));
end;
definition let K be non empty LoopStr;
func diffield(K) -> BinOp of the carrier of K equals
:: FVSUM_1:def 2
(the add of K)*(id the carrier of K,comp K);
end;
canceled;
theorem :: FVSUM_1:14
for K being non empty LoopStr,
a1,a2 being Element of K holds
(diffield(K)).(a1,a2) = a1 - a2;
theorem :: FVSUM_1:15
for K being distributive (non empty doubleLoopStr),
a being Element of K holds
a multfield is_distributive_wrt the add of K;
theorem :: FVSUM_1:16
for K being left_zeroed right_zeroed add-associative right_complementable
(non empty LoopStr) holds
comp K is_an_inverseOp_wrt the add of K;
theorem :: FVSUM_1:17
for K being left_zeroed right_zeroed add-associative right_complementable
(non empty LoopStr) holds
the add of K has_an_inverseOp;
theorem :: FVSUM_1:18
for K being left_zeroed right_zeroed add-associative right_complementable
(non empty LoopStr) holds
the_inverseOp_wrt the add of K = comp K;
theorem :: FVSUM_1:19
for K being right_zeroed add-associative right_complementable
Abelian (non empty LoopStr) holds
comp K is_distributive_wrt the add of K;
begin
::
:: Some Operations on the i-tuples on Element of K
::
definition let K be non empty LoopStr;
let p1,p2 be FinSequence of the carrier of K;
func p1 + p2 -> FinSequence of the carrier of K equals
:: FVSUM_1:def 3
(the add of K).:(p1,p2);
end;
canceled;
theorem :: FVSUM_1:21
for K being non empty LoopStr, p1, p2 be FinSequence of the carrier of K,
a1, a2 being Element of K, i being Nat
st i in dom (p1+p2) & a1 = p1.i & a2 = p2.i holds (p1+p2).i = a1 + a2;
definition let i; let K be non empty LoopStr;
let R1,R2 be Element of i-tuples_on the carrier of K;
redefine func R1 + R2 -> Element of i-tuples_on the carrier of K;
end;
theorem :: FVSUM_1:22
for K being non empty LoopStr,
a1,a2 being Element of K,
R1,R2 being Element of i-tuples_on the carrier of K holds
j in Seg i & a1 = R1.j & a2 = R2.j implies (R1+R2).j = a1 + a2;
theorem :: FVSUM_1:23
for K being non empty LoopStr,
p being FinSequence of the carrier of K holds
<*>(the carrier of K) + p = <*>(the carrier of K) & p +
<*>(the carrier of K) = <*>(the carrier of K);
theorem :: FVSUM_1:24
for K being non empty LoopStr,
a1,a2 being Element of K holds
<*a1*> + <*a2*> = <*a1+a2*>;
theorem :: FVSUM_1:25
for K being non empty LoopStr,
a1,a2 being Element of K holds
(i|->a1) + (i|->a2) = i|->(a1+a2);
theorem :: FVSUM_1:26
for K being Abelian (non empty LoopStr),
R1,R2 being Element of i-tuples_on the carrier of K holds
R1 + R2 = R2 + R1;
theorem :: FVSUM_1:27
for K be add-associative (non empty LoopStr),
R1,R2,R3 being Element of i-tuples_on the carrier of K holds
R1 + (R2 + R3) = R1 + R2 + R3;
theorem :: FVSUM_1:28
for K being Abelian left_zeroed right_zeroed (non empty LoopStr),
R being Element of i-tuples_on the carrier of K holds
R + (i|->(0.K)) = R & R = (i|->(0.K)) + R;
definition let K be non empty LoopStr;
let p be FinSequence of the carrier of K;
func -p -> FinSequence of the carrier of K equals
:: FVSUM_1:def 4
(comp K)*p;
end;
reserve K for non empty LoopStr,
a for Element of K,
p for FinSequence of the carrier of K,
R for Element of i-tuples_on the carrier of K;
canceled;
theorem :: FVSUM_1:30
i in dom -p & a = p.i implies (-p).i = -a;
definition let i;let K be non empty LoopStr;
let R be Element of i-tuples_on the carrier of K;
redefine func -R -> Element of i-tuples_on the carrier of K;
end;
theorem :: FVSUM_1:31
j in Seg i & a = R.j implies (-R).j = -a;
theorem :: FVSUM_1:32
-(<*>(the carrier of K)) = <*>(the carrier of K);
theorem :: FVSUM_1:33
-<*a*> = <*-a*>;
theorem :: FVSUM_1:34
-(i|->a) = i|->-a;
theorem :: FVSUM_1:35
for K being Abelian right_zeroed add-associative right_complementable
(non empty LoopStr),
R being Element of i-tuples_on the carrier of K holds
R + -R = (i|->0.K) & -R + R = (i|->0.K);
reserve
K for left_zeroed right_zeroed add-associative right_complementable
(non empty LoopStr),
R,R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:36
R1 + R2 = (i|->0.K) implies R1 = -R2 & R2 = -R1;
theorem :: FVSUM_1:37
--R = R;
theorem :: FVSUM_1:38
-R1 = -R2 implies R1 = R2;
theorem :: FVSUM_1:39
for K being Abelian right_zeroed add-associative right_complementable
(non empty LoopStr),
R,R1,R2 being Element of i-tuples_on the carrier of K holds
R1 + R = R2 + R or R1 + R = R + R2 implies R1 = R2;
theorem :: FVSUM_1:40
for K being Abelian right_zeroed add-associative right_complementable
(non empty LoopStr),
R1,R2 being Element of i-tuples_on the carrier of K holds
-(R1 + R2) = -R1 + -R2;
definition let K be non empty LoopStr;
let p1,p2 be FinSequence of the carrier of K;
func p1 - p2 -> FinSequence of the carrier of K equals
:: FVSUM_1:def 5
(diffield(K)).:(p1,p2);
end;
reserve K for non empty LoopStr,
a1,a2 for Element of K,
p1,p2 for FinSequence of the carrier of K,
R1,R2 for Element of i-tuples_on the carrier of K;
canceled;
theorem :: FVSUM_1:42
i in dom (p1-p2) & a1 = p1.i & a2 = p2.i implies (p1-p2).i = a1 - a2;
definition let i;let K be non empty LoopStr;
let R1,R2 be Element of i-tuples_on the carrier of K;
redefine func R1 - R2 -> Element of i-tuples_on the carrier of K;
end;
theorem :: FVSUM_1:43
j in Seg i & a1 = R1.j & a2 = R2.j implies (R1-R2).j = a1 - a2;
theorem :: FVSUM_1:44
<*>(the carrier of K) - p1 = <*>(the carrier of K) &
p1 - <*>(the carrier of K) = <*>(the carrier of K);
theorem :: FVSUM_1:45
<*a1*> - <*a2*> = <*a1-a2*>;
theorem :: FVSUM_1:46
(i|->a1) - (i|->a2) = i|->(a1-a2);
theorem :: FVSUM_1:47
R1 - R2 = R1 + - R2;
theorem :: FVSUM_1:48
for K being add-associative right_complementable left_zeroed right_zeroed
(non empty LoopStr),
R being Element of i-tuples_on the carrier of K holds
R - (i|->(0.K)) = R;
theorem :: FVSUM_1:49
for K being Abelian left_zeroed right_zeroed (non empty LoopStr),
R being Element of i-tuples_on the carrier of K holds
(i|->(0.K)) - R = -R;
theorem :: FVSUM_1:50
for K being left_zeroed right_zeroed add-associative right_complementable
(non empty LoopStr),
R1,R2 being Element of i-tuples_on the carrier of K holds
R1 - -R2 = R1 + R2;
reserve K for Abelian right_zeroed add-associative right_complementable
(non empty LoopStr),
R,R1,R2,R3 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:51
-(R1 - R2) = R2 - R1;
theorem :: FVSUM_1:52
-(R1 - R2) = -R1 + R2;
theorem :: FVSUM_1:53
R - R = (i|->0.K);
theorem :: FVSUM_1:54
R1 - R2 = (i|->0.K) implies R1 = R2;
theorem :: FVSUM_1:55
R1 - R2 - R3 = R1 - (R2 + R3);
theorem :: FVSUM_1:56
R1 + (R2 - R3) = R1 + R2 - R3;
theorem :: FVSUM_1:57
R1 - (R2 - R3) = R1 - R2 + R3;
theorem :: FVSUM_1:58
R1 = R1 + R - R;
theorem :: FVSUM_1:59
R1 = R1 - R + R;
reserve K for non empty HGrStr,
a,a',a1,a2 for Element of K,
p for FinSequence of the carrier of K,
R for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:60
for a,b being Element of K holds
((the mult of K)[;](a,id the carrier of K)).b = a*b;
theorem :: FVSUM_1:61
for a,b being Element of K holds
(a multfield).b = a*b;
definition let K be non empty HGrStr;
let p be FinSequence of the carrier of K;
let a be Element of K;
func a*p -> FinSequence of the carrier of K equals
:: FVSUM_1:def 6
(a multfield)*p;
end;
theorem :: FVSUM_1:62
i in dom (a*p) & a' = p.i implies (a*p).i = a*a';
definition let i;let K be non empty HGrStr;
let R be Element of i-tuples_on the carrier of K;
let a be Element of K;
redefine func a*R -> Element of i-tuples_on the carrier of K;
end;
theorem :: FVSUM_1:63
j in Seg i & a' = R.j implies (a*R).j = a*a';
theorem :: FVSUM_1:64
a*(<*>(the carrier of K)) = <*>(the carrier of K);
theorem :: FVSUM_1:65
a*<*a1*> = <*a*a1*>;
theorem :: FVSUM_1:66
a1*(i|->a2) = i|->(a1*a2);
theorem :: FVSUM_1:67
for K being associative (non empty HGrStr),
a1,a2 being Element of K,
R being Element of i-tuples_on the carrier of K holds
(a1*a2)*R = a1*(a2*R);
reserve
K for distributive (non empty doubleLoopStr),
a,a1,a2 for Element of K,
R,R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:68
(a1 + a2)*R = a1*R + a2*R;
theorem :: FVSUM_1:69
a*(R1+R2) = a*R1 + a*R2;
theorem :: FVSUM_1:70
for K being distributive commutative left_unital (non empty doubleLoopStr),
R being Element of i-tuples_on the carrier of K holds
1_ K * R = R;
theorem :: FVSUM_1:71
for K being add-associative right_zeroed right_complementable
distributive (non empty doubleLoopStr),
R being Element of i-tuples_on the carrier of K holds
0.K*R = i|->0.K;
theorem :: FVSUM_1:72
for K being add-associative right_zeroed right_complementable
commutative left_unital distributive (non empty doubleLoopStr),
R being Element of i-tuples_on the carrier of K holds
(-1_ K) * R = -R;
definition let M be non empty HGrStr,
p1, p2 be FinSequence of the carrier of M;
func mlt(p1,p2) -> FinSequence of the carrier of M equals
:: FVSUM_1:def 7
(the mult of M).:(p1,p2);
end;
reserve K for non empty HGrStr,
a1,a2,b1,b2 for Element of K,
p,p1,p2 for FinSequence of the carrier of K,
R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:73
i in dom mlt(p1,p2) & a1 = p1.i & a2 = p2.i
implies mlt(p1,p2).i = a1 * a2;
definition let i;let K be non empty HGrStr;
let R1,R2 be Element of i-tuples_on the carrier of K;
redefine func mlt(R1,R2) -> Element of i-tuples_on the carrier of K;
end;
theorem :: FVSUM_1:74
j in Seg i & a1 = R1.j & a2 = R2.j implies mlt(R1,R2).j = a1 * a2;
theorem :: FVSUM_1:75
mlt(<*>(the carrier of K),p) = <*>(the carrier of K) &
mlt(p,<*>(the carrier of K)) = <*>(the carrier of K);
theorem :: FVSUM_1:76
mlt(<*a1*>,<*a2*>) = <*a1*a2*>;
reserve K for commutative (non empty HGrStr),
p,q for FinSequence of the carrier of K,
R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:77
mlt(R1,R2) = mlt(R2,R1);
theorem :: FVSUM_1:78
mlt(p,q)=mlt(q,p);
theorem :: FVSUM_1:79
for K being associative (non empty HGrStr),
R1,R2,R3 being Element of i-tuples_on the carrier of K holds
mlt(R1,mlt(R2,R3)) = mlt(mlt(R1,R2),R3);
reserve K for commutative associative (non empty HGrStr),
a,a1,a2 for Element of K,
R for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:80
mlt(i|->a,R) = a*R & mlt(R,i|->a) = a*R;
theorem :: FVSUM_1:81
mlt(i|->a1,i|->a2) = i|->(a1*a2);
theorem :: FVSUM_1:82
for K being associative (non empty HGrStr),
a being Element of K,
R1,R2 being Element of i-tuples_on the carrier of K holds
a*mlt(R1,R2) = mlt(a*R1,R2);
reserve K for commutative associative (non empty HGrStr),
a for Element of K,
R,R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:83
a*mlt(R1,R2) = mlt(a*R1,R2) & a*mlt(R1,R2) = mlt(R1,a*R2);
theorem :: FVSUM_1:84
a*R = mlt(i|->a,R);
begin
::
::The Sum of Finite Number of Elements
::
definition
cluster Abelian right_zeroed -> left_zeroed (non empty LoopStr);
end;
definition
let K be Abelian add-associative right_zeroed
right_complementable (non empty LoopStr);
let p be FinSequence of the carrier of K;
redefine func Sum(p) equals
:: FVSUM_1:def 8
(the add of K) $$ p;
end;
reserve K for add-associative right_zeroed
right_complementable (non empty LoopStr),
a for Element of K,
p for FinSequence of the carrier of K;
canceled 2;
theorem :: FVSUM_1:87
Sum(p^<*a*>) = Sum p + a;
canceled;
theorem :: FVSUM_1:89
Sum(<*a*>^p) = a + Sum p;
canceled 2;
theorem :: FVSUM_1:92
for K being Abelian add-associative right_zeroed
right_complementable distributive(non empty doubleLoopStr),
a being Element of K,
p being FinSequence of the carrier of K holds
Sum(a*p) = a*(Sum p);
theorem :: FVSUM_1:93
for K being non empty LoopStr
for R being Element of 0-tuples_on the carrier of K holds Sum R = 0.K;
reserve K for Abelian add-associative right_zeroed
right_complementable (non empty LoopStr),
p for FinSequence of the carrier of K,
R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:94
Sum -p = -(Sum p);
theorem :: FVSUM_1:95
Sum(R1 + R2) = Sum R1 + Sum R2;
theorem :: FVSUM_1:96
Sum(R1 - R2) = Sum R1 - Sum R2;
begin
::
::The Product of Finite Number of Elements
::
definition let K be non empty HGrStr;let p be FinSequence of the carrier of K;
func Product(p) -> Element of K equals
:: FVSUM_1:def 9
(the mult of K) $$ p;
end;
canceled;
theorem :: FVSUM_1:98 :::multLoopStr
for K being commutative left_unital (non empty doubleLoopStr) holds
Product(<*> (the carrier of K)) = 1_ K;
theorem :: FVSUM_1:99
for K being non empty HGrStr,
a being Element of K holds
Product <*a*> = a;
theorem :: FVSUM_1:100
for K being commutative left_unital (non empty doubleLoopStr),
a being Element of K,
p being FinSequence of the carrier of K holds
Product(p^<*a*>) = Product p * a;
reserve K for commutative associative left_unital (non empty doubleLoopStr),
a,a1,a2,a3 for Element of K,
p1,p2 for FinSequence of the carrier of K,
R1,R2 for Element of i-tuples_on the carrier of K;
theorem :: FVSUM_1:101
Product(p1^p2) = Product p1 * Product p2;
theorem :: FVSUM_1:102
Product(<*a*>^p1) = a * Product p1;
theorem :: FVSUM_1:103
Product<*a1,a2*> = a1 * a2;
theorem :: FVSUM_1:104
Product<*a1,a2,a3*> = a1 * a2 * a3;
theorem :: FVSUM_1:105
for R being Element of 0-tuples_on the carrier of K holds Product R =1_ K;
theorem :: FVSUM_1:106
Product(i|->(1_ K)) = 1_ K;
theorem :: FVSUM_1:107
for K being add-associative right_zeroed right_complementable
Abelian commutative associative left_unital distributive
Field-like non degenerated (non empty doubleLoopStr)
for p being FinSequence of the carrier of K
holds
(ex k st k in dom p & p.k = 0.K) iff Product p = 0.K;
theorem :: FVSUM_1:108
Product((i+j)|->a) = (Product(i|->a))*(Product(j|->a));
theorem :: FVSUM_1:109
Product((i*j)|->a) = Product(j|->(Product(i|->a)));
theorem :: FVSUM_1:110
Product(i|->(a1*a2)) = (Product(i|->a1))*(Product(i|->a2));
theorem :: FVSUM_1:111
Product mlt(R1,R2) = Product R1 * Product R2;
theorem :: FVSUM_1:112
Product(a*R1) = Product (i|->a) * Product R1;
begin
::
::The Product of Vectors
::
definition let K be non empty doubleLoopStr;
let p,q be FinSequence of the carrier of K;
func p "*" q -> Element of K equals
:: FVSUM_1:def 10
Sum(mlt(p,q));
end;
theorem :: FVSUM_1:113
for K being commutative associative left_unital Abelian add-associative
right_zeroed right_complementable (non empty doubleLoopStr)
for a,b being Element of K holds
<*a*> "*" <*b*>= a * b;
theorem :: FVSUM_1:114
for K being commutative associative left_unital Abelian add-associative
right_zeroed right_complementable (non empty doubleLoopStr)
for a1,a2,b1,b2 being Element of K holds
<*a1,a2*> "*" <*b1,b2*>= a1*b1 + a2*b2;
theorem :: FVSUM_1:115
for p,q be FinSequence of the carrier of K holds
p "*" q = q "*" p;
Back to top