begin
deffunc H1( 1-sorted ) -> set = the carrier of $1;
deffunc H2( addLoopStr ) -> Element of bool [:[: the carrier of $1, the carrier of $1:], the carrier of $1:] = the addF of $1;
deffunc H3( non empty addLoopStr ) -> Element of bool [: the carrier of $1, the carrier of $1:] = comp $1;
deffunc H4( addLoopStr ) -> Element of the carrier of $1 = 0. $1;
theorem
canceled;
theorem
canceled;
theorem Th3:
theorem Th4:
Lm1:
for G being non empty right_complementable Abelian add-associative right_zeroed addLoopStr holds comp G is_an_inverseOp_wrt the addF of G
theorem
Lm2:
for GS being non empty addLoopStr st the addF of GS is commutative & the addF of GS is associative holds
( GS is Abelian & GS is add-associative )
Lm3:
for GS being non empty addLoopStr st 0. GS is_a_unity_wrt the addF of GS holds
GS is right_zeroed
Lm4:
for F being Field holds the multF of F is associative
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
theorem Th11:
Lm5:
for F being Field holds the multF of F is_distributive_wrt the addF of F
begin
definition
let D be non
empty set ;
let F be
BinOp of
D;
let n be
Nat;
func product (
F,
n)
-> BinOp of
(n -tuples_on D) means :
Def1:
for
x,
y being
Element of
n -tuples_on D holds
it . (
x,
y)
= F .: (
x,
y);
existence
ex b1 being BinOp of (n -tuples_on D) st
for x, y being Element of n -tuples_on D holds b1 . (x,y) = F .: (x,y)
uniqueness
for b1, b2 being BinOp of (n -tuples_on D) st ( for x, y being Element of n -tuples_on D holds b1 . (x,y) = F .: (x,y) ) & ( for x, y being Element of n -tuples_on D holds b2 . (x,y) = F .: (x,y) ) holds
b1 = b2
end;
:: deftheorem Def1 defines product PRVECT_1:def 1 :
for D being non empty set
for F being BinOp of D
for n being Nat
for b4 being BinOp of (n -tuples_on D) holds
( b4 = product (F,n) iff for x, y being Element of n -tuples_on D holds b4 . (x,y) = F .: (x,y) );
:: deftheorem Def2 defines product PRVECT_1:def 2 :
for D being non empty set
for F being UnOp of D
for n being Nat
for b4 being UnOp of (n -tuples_on D) holds
( b4 = product (F,n) iff for x being Element of n -tuples_on D holds b4 . x = F * x );
theorem
canceled;
theorem
canceled;
theorem Th14:
theorem Th15:
theorem Th16:
theorem Th17:
begin
:: deftheorem Def3 defines -Group_over PRVECT_1:def 3 :
for F being non empty addLoopStr
for n being Nat st F is Abelian & F is add-associative & F is right_zeroed & F is right_complementable holds
n -Group_over F = addLoopStr(# (n -tuples_on the carrier of F),(product ( the addF of F,n)),(n |-> (0. F)) #);
definition
let F be
Field;
let n be
Nat;
func n -Mult_over F -> Function of
[: the carrier of F,(n -tuples_on the carrier of F):],
(n -tuples_on the carrier of F) means :
Def4:
for
x being
Element of
F for
v being
Element of
n -tuples_on the
carrier of
F holds
it . (
x,
v)
= the
multF of
F [;] (
x,
v);
existence
ex b1 being Function of [: the carrier of F,(n -tuples_on the carrier of F):],(n -tuples_on the carrier of F) st
for x being Element of F
for v being Element of n -tuples_on the carrier of F holds b1 . (x,v) = the multF of F [;] (x,v)
uniqueness
for b1, b2 being Function of [: the carrier of F,(n -tuples_on the carrier of F):],(n -tuples_on the carrier of F) st ( for x being Element of F
for v being Element of n -tuples_on the carrier of F holds b1 . (x,v) = the multF of F [;] (x,v) ) & ( for x being Element of F
for v being Element of n -tuples_on the carrier of F holds b2 . (x,v) = the multF of F [;] (x,v) ) holds
b1 = b2
end;
:: deftheorem Def4 defines -Mult_over PRVECT_1:def 4 :
for F being Field
for n being Nat
for b3 being Function of [: the carrier of F,(n -tuples_on the carrier of F):],(n -tuples_on the carrier of F) holds
( b3 = n -Mult_over F iff for x being Element of F
for v being Element of n -tuples_on the carrier of F holds b3 . (x,v) = the multF of F [;] (x,v) );
:: deftheorem Def5 defines -VectSp_over PRVECT_1:def 5 :
for F being Field
for n being Nat
for b3 being strict VectSpStr of F holds
( b3 = n -VectSp_over F iff ( addLoopStr(# the carrier of b3, the addF of b3, the ZeroF of b3 #) = n -Group_over F & the lmult of b3 = n -Mult_over F ) );
theorem Th18:
begin
begin
:: deftheorem PRVECT_1:def 6 :
canceled;
:: deftheorem PRVECT_1:def 7 :
canceled;
:: deftheorem Def8 defines BinOps PRVECT_1:def 8 :
for a being non-empty non empty Function
for b2 being Function holds
( b2 is BinOps of a iff ( dom b2 = dom a & ( for i being Element of dom a holds b2 . i is BinOp of (a . i) ) ) );
:: deftheorem Def9 defines UnOps PRVECT_1:def 9 :
for a being non-empty non empty Function
for b2 being Function holds
( b2 is UnOps of a iff ( dom b2 = dom a & ( for i being Element of dom a holds b2 . i is UnOp of (a . i) ) ) );
theorem Th19:
theorem Th20:
theorem
theorem Th22:
theorem Th23:
theorem Th24:
definition
let a be
Domain-Sequence;
let b be
BinOps of
a;
func [:b:] -> BinOp of
(product a) means :
Def10:
for
f,
g being
Element of
product a for
i being
Element of
dom a holds
(it . (f,g)) . i = (b . i) . (
(f . i),
(g . i));
existence
ex b1 being BinOp of (product a) st
for f, g being Element of product a
for i being Element of dom a holds (b1 . (f,g)) . i = (b . i) . ((f . i),(g . i))
uniqueness
for b1, b2 being BinOp of (product a) st ( for f, g being Element of product a
for i being Element of dom a holds (b1 . (f,g)) . i = (b . i) . ((f . i),(g . i)) ) & ( for f, g being Element of product a
for i being Element of dom a holds (b2 . (f,g)) . i = (b . i) . ((f . i),(g . i)) ) holds
b1 = b2
end;
:: deftheorem Def10 defines [: PRVECT_1:def 10 :
for a being Domain-Sequence
for b being BinOps of a
for b3 being BinOp of (product a) holds
( b3 = [:b:] iff for f, g being Element of product a
for i being Element of dom a holds (b3 . (f,g)) . i = (b . i) . ((f . i),(g . i)) );
theorem Th25:
theorem Th26:
theorem Th27:
theorem Th28:
begin
:: deftheorem Def11 defines AbGroup-yielding PRVECT_1:def 11 :
for F being Relation holds
( F is AbGroup-yielding iff for x being set st x in rng F holds
x is AbGroup );
:: deftheorem Def12 defines carr PRVECT_1:def 12 :
for g being Group-Sequence
for b2 being Domain-Sequence holds
( b2 = carr g iff ( len b2 = len g & ( for j being Element of dom g holds b2 . j = the carrier of (g . j) ) ) );
:: deftheorem Def13 defines addop PRVECT_1:def 13 :
for g being Group-Sequence
for b2 being BinOps of carr g holds
( b2 = addop g iff ( len b2 = len (carr g) & ( for i being Element of dom (carr g) holds b2 . i = the addF of (g . i) ) ) );
:: deftheorem Def14 defines complop PRVECT_1:def 14 :
for g being Group-Sequence
for b2 being UnOps of carr g holds
( b2 = complop g iff ( len b2 = len (carr g) & ( for i being Element of dom (carr g) holds b2 . i = comp (g . i) ) ) );
:: deftheorem Def15 defines zeros PRVECT_1:def 15 :
for g being Group-Sequence
for b2 being Element of product (carr g) holds
( b2 = zeros g iff for i being Element of dom (carr g) holds b2 . i = 0. (g . i) );
:: deftheorem defines product PRVECT_1:def 16 :
for G being Group-Sequence holds product G = addLoopStr(# (product (carr G)),[:(addop G):],(zeros G) #);