set cR = center R;
set ccR = the carrier of (center R);
set ccs = the carrier of R;
set lm = the multF of R | [: the carrier of (center R), the carrier of R:];
A1:
the carrier of (center R) c= the carrier of R
by Th16;
A2:
dom the multF of R = [: the carrier of R, the carrier of R:]
by FUNCT_2:def 1;
[: the carrier of (center R), the carrier of R:] c= [: the carrier of R, the carrier of R:]
then A3:
dom ( the multF of R | [: the carrier of (center R), the carrier of R:]) = [: the carrier of (center R), the carrier of R:]
by A2, RELAT_1:62;
now for x being object st x in [: the carrier of (center R), the carrier of R:] holds
( the multF of R | [: the carrier of (center R), the carrier of R:]) . x in the carrier of Rlet x be
object ;
( x in [: the carrier of (center R), the carrier of R:] implies ( the multF of R | [: the carrier of (center R), the carrier of R:]) . x in the carrier of R )assume A4:
x in [: the carrier of (center R), the carrier of R:]
;
( the multF of R | [: the carrier of (center R), the carrier of R:]) . x in the carrier of Rthen consider x1,
x2 being
object such that A5:
x1 in the
carrier of
(center R)
and A6:
x2 in the
carrier of
R
and A7:
x = [x1,x2]
by ZFMISC_1:def 2;
reconsider x1 =
x1 as
Element of
R by A1, A5;
reconsider x2 =
x2 as
Element of
R by A6;
( the multF of R | [: the carrier of (center R), the carrier of R:]) . x = x1 * x2
by A4, A7, FUNCT_1:49;
hence
( the multF of R | [: the carrier of (center R), the carrier of R:]) . x in the
carrier of
R
;
verum end;
then reconsider lm = the multF of R | [: the carrier of (center R), the carrier of R:] as Function of [: the carrier of (center R), the carrier of R:], the carrier of R by A3, FUNCT_2:3;
set Vos = ModuleStr(# the carrier of R, the addF of R,(0. R),lm #);
set cV = the carrier of ModuleStr(# the carrier of R, the addF of R,(0. R),lm #);
A8:
( ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is vector-distributive & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-distributive & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-associative & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-unital )
proof
A9:
the
multF of
(center R) = the
multF of
R || the
carrier of
(center R)
by Def4;
A10:
the
addF of
(center R) = the
addF of
R || the
carrier of
(center R)
by Def4;
thus
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #) is
vector-distributive
( ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-distributive & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-associative & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-unital )proof
let x be
Element of the
carrier of
(center R);
VECTSP_1:def 13 for b1, b2 being Element of the carrier of ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) holds x * (b1 + b2) = (x * b1) + (x * b2)let v,
w be
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #);
x * (v + w) = (x * v) + (x * w)
reconsider xx =
x as
Element of
R by A1;
reconsider vv =
v,
ww =
w as
Element of
R ;
A11:
[x,w] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A12:
[x,(v + w)] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A13:
[x,v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
thus x * (v + w) =
xx * (vv + ww)
by A12, FUNCT_1:49
.=
(xx * vv) + (xx * ww)
by VECTSP_1:def 2
.=
the
addF of
R . [(x * v),( the multF of R . [xx,ww])]
by A13, FUNCT_1:49
.=
(x * v) + (x * w)
by A11, FUNCT_1:49
;
verum
end;
thus
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #) is
scalar-distributive
( ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-associative & ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-unital )proof
let x,
y be
Element of the
carrier of
(center R);
VECTSP_1:def 14 for b1 being Element of the carrier of ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) holds (x + y) * b1 = (x * b1) + (y * b1)let v be
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #);
(x + y) * v = (x * v) + (y * v)
reconsider xx =
x,
yy =
y as
Element of
R by A1;
reconsider vv =
v as
Element of
R ;
A14:
[y,v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A15:
[x,v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A16:
[(x + y),v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A17:
[x,y] in [: the carrier of (center R), the carrier of (center R):]
by ZFMISC_1:def 2;
thus (x + y) * v =
the
multF of
R . [( the addF of (center R) . [x,y]),vv]
by A16, FUNCT_1:49
.=
(xx + yy) * vv
by A10, A17, FUNCT_1:49
.=
(xx * vv) + (yy * vv)
by VECTSP_1:def 3
.=
the
addF of
R . [(x * v),( the multF of R . [yy,vv])]
by A15, FUNCT_1:49
.=
(x * v) + (y * v)
by A14, FUNCT_1:49
;
verum
end;
thus
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #) is
scalar-associative
ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is scalar-unital proof
let x,
y be
Element of the
carrier of
(center R);
VECTSP_1:def 15 for b1 being Element of the carrier of ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) holds (x * y) * b1 = x * (y * b1)let v be
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #);
(x * y) * v = x * (y * v)
reconsider xx =
x,
yy =
y as
Element of
R by A1;
reconsider vv =
v as
Element of
R ;
A18:
[x,(y * v)] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A19:
[y,v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A20:
[(x * y),v] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
A21:
[x,y] in [: the carrier of (center R), the carrier of (center R):]
by ZFMISC_1:def 2;
thus (x * y) * v =
the
multF of
R . [( the multF of (center R) . (x,y)),vv]
by A20, FUNCT_1:49
.=
(xx * yy) * vv
by A9, A21, FUNCT_1:49
.=
xx * (yy * vv)
by GROUP_1:def 3
.=
the
multF of
R . [xx,(lm . (y,v))]
by A19, FUNCT_1:49
.=
x * (y * v)
by A18, FUNCT_1:49
;
verum
end;
let v be
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #);
VECTSP_1:def 16 (1. (center R)) * v = v
reconsider vv =
v as
Element of
R ;
1_ R in center R
by Th19;
then
1_ R in the
carrier of
(center R)
;
then A22:
[(1_ R),vv] in [: the carrier of (center R), the carrier of R:]
by ZFMISC_1:def 2;
thus (1. (center R)) * v =
lm . (
(1. R),
vv)
by Def4
.=
(1. R) * vv
by A22, FUNCT_1:49
.=
v
;
verum
end;
A23:
ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is add-associative
A24:
ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is right_zeroed
A25:
ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is right_complementable
proof
let v be
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #);
ALGSTR_0:def 16 v is right_complementable
reconsider vv =
v as
Element of the
carrier of
R ;
consider ww being
Element of the
carrier of
R such that A26:
vv + ww = 0. R
by ALGSTR_0:def 11;
reconsider w =
ww as
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #) ;
v + w = 0. ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #)
by A26;
hence
ex
w being
Element of the
carrier of
ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #) st
v + w = 0. ModuleStr(# the
carrier of
R, the
addF of
R,
(0. R),
lm #)
;
ALGSTR_0:def 11 verum
end;
ModuleStr(# the carrier of R, the addF of R,(0. R),lm #) is Abelian
hence
ex b1 being strict VectSp of center R st
( addLoopStr(# the carrier of b1, the addF of b1, the ZeroF of b1 #) = addLoopStr(# the carrier of R, the addF of R, the ZeroF of R #) & the lmult of b1 = the multF of R | [: the carrier of (center R), the carrier of R:] )
by A8, A23, A24, A25; verum