set EZV = Z_MQ_VectSp V;
D1:
Z_MQ_VectSp V = ModuleStr(# (Class (EQRZM V)),(addCoset V),(zeroCoset V),(lmultCoset V) #)
by ZMODUL04:def 5;
AX:
( Z_MQ_VectSp V is scalar-distributive & Z_MQ_VectSp V is vector-distributive & Z_MQ_VectSp V is scalar-associative & Z_MQ_VectSp V is scalar-unital & Z_MQ_VectSp V is add-associative & Z_MQ_VectSp V is right_zeroed & Z_MQ_VectSp V is right_complementable & Z_MQ_VectSp V is Abelian & not Z_MQ_VectSp V is empty )
;
BX:
rng (MorphsZQ V) = the carrier of (EMbedding V)
by defEmbedding;
set Cl = r * (rng (MorphsZQ V));
set Add = (addCoset V) || (r * (rng (MorphsZQ V)));
set Mlt = (lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):];
X0:
r * (rng (MorphsZQ V)) c= the carrier of (Z_MQ_VectSp V)
;
dom (addCoset V) = [: the carrier of (Z_MQ_VectSp V), the carrier of (Z_MQ_VectSp V):]
by D1, FUNCT_2:def 1;
then X3:
dom ((addCoset V) || (r * (rng (MorphsZQ V)))) = [:(r * (rng (MorphsZQ V))),(r * (rng (MorphsZQ V))):]
by RELAT_1:62;
for x being object st x in [:(r * (rng (MorphsZQ V))),(r * (rng (MorphsZQ V))):] holds
((addCoset V) || (r * (rng (MorphsZQ V)))) . x in r * (rng (MorphsZQ V))
proof
let x be
object ;
( x in [:(r * (rng (MorphsZQ V))),(r * (rng (MorphsZQ V))):] implies ((addCoset V) || (r * (rng (MorphsZQ V)))) . x in r * (rng (MorphsZQ V)) )
assume X40:
x in [:(r * (rng (MorphsZQ V))),(r * (rng (MorphsZQ V))):]
;
((addCoset V) || (r * (rng (MorphsZQ V)))) . x in r * (rng (MorphsZQ V))
then consider v0,
w0 being
object such that X41:
(
v0 in r * (rng (MorphsZQ V)) &
w0 in r * (rng (MorphsZQ V)) &
x = [v0,w0] )
by ZFMISC_1:def 2;
consider v being
Vector of
(Z_MQ_VectSp V) such that X410:
(
v0 = r * v &
v in rng (MorphsZQ V) )
by X41;
consider w being
Vector of
(Z_MQ_VectSp V) such that X411:
(
w0 = r * w &
w in rng (MorphsZQ V) )
by X41;
(
v in EMbedding V &
w in EMbedding V )
by X410, X411, defEmbedding;
then X42:
v + w in EMbedding V
by SB02;
((addCoset V) || (r * (rng (MorphsZQ V)))) . x =
(r * v) + (r * w)
by X40, X41, X410, X411, D1, FUNCT_1:49
.=
r * (v + w)
by VECTSP_1:def 14
;
hence
((addCoset V) || (r * (rng (MorphsZQ V)))) . x in r * (rng (MorphsZQ V))
by BX, X42;
verum
end;
then reconsider Add = (addCoset V) || (r * (rng (MorphsZQ V))) as BinOp of (r * (rng (MorphsZQ V))) by X3, FUNCT_2:3;
dom (lmultCoset V) = [: the carrier of F_Rat, the carrier of (Z_MQ_VectSp V):]
by FUNCT_2:def 1, D1;
then Y3:
dom ((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) = [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):]
by RELAT_1:62, NUMBERS:14, ZFMISC_1:96;
for x being object st x in [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):] holds
((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) . x in r * (rng (MorphsZQ V))
proof
let x be
object ;
( x in [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):] implies ((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) . x in r * (rng (MorphsZQ V)) )
assume X40:
x in [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):]
;
((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) . x in r * (rng (MorphsZQ V))
then consider i,
w0 being
object such that X41:
(
i in INT &
w0 in r * (rng (MorphsZQ V)) &
x = [i,w0] )
by ZFMISC_1:def 2;
reconsider i1 =
i as
Integer by X41;
reconsider i2 =
i as
Element of
F_Rat by X41, NUMBERS:14;
consider w being
Vector of
(Z_MQ_VectSp V) such that X411:
(
w0 = r * w &
w in rng (MorphsZQ V) )
by X41;
w in EMbedding V
by X411, defEmbedding;
then X42:
i2 * w in EMbedding V
by SB02, X41;
((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) . x =
i2 * (r * w)
by D1, X40, X411, X41, FUNCT_1:49
.=
(i2 * r) * w
by VECTSP_1:def 16
.=
r * (i2 * w)
by VECTSP_1:def 16
;
hence
((lmultCoset V) | [:INT,(r * (rng (MorphsZQ V))):]) . x in r * (rng (MorphsZQ V))
by BX, X42;
verum
end;
then reconsider Mlt = (lmultCoset V) | [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):] as Function of [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):],(r * (rng (MorphsZQ V))) by Y3, FUNCT_2:3;
X1:
r * (0. (Z_MQ_VectSp V)) = 0. (Z_MQ_VectSp V)
by VECTSP_1:15;
0. (Z_MQ_VectSp V) = 0. (EMbedding V)
by D1, defEmbedding;
then X2:
0. (Z_MQ_VectSp V) in r * (rng (MorphsZQ V))
by BX, X1;
reconsider z = zeroCoset V as Element of r * (rng (MorphsZQ V)) by D1, X2;
set ZS = ModuleStr(# (r * (rng (MorphsZQ V))),Add,z,Mlt #);
reconsider ZS = ModuleStr(# (r * (rng (MorphsZQ V))),Add,z,Mlt #) as non empty ModuleStr over INT.Ring by X2;
LM2:
for x, y being Vector of ZS
for v, w being Vector of (Z_MQ_VectSp V) st x = v & y = w holds
x + y = v + w
LM3:
for i being Element of INT.Ring
for j being Element of F_Rat
for x being Vector of ZS
for v being Vector of (Z_MQ_VectSp V) st i = j & x = v holds
i * x = j * v
ZS is non empty right_complementable vector-distributive scalar-distributive scalar-associative scalar-unital Abelian add-associative right_zeroed ModuleStr over INT.Ring
proof
P1:
for
x being
Element of
INT.Ring for
v,
w being
Element of
ZS holds
x * (v + w) = (x * v) + (x * w)
P2:
for
x,
y being
Element of
INT.Ring for
v being
Element of
ZS holds
(x + y) * v = (x * v) + (y * v)
P3:
for
x,
y being
Element of
INT.Ring for
v being
Element of
ZS holds
(x * y) * v = x * (y * v)
P4:
for
v being
Element of
ZS holds
(1. INT.Ring) * v = v
P5:
for
v being
Element of
ZS holds
v is
right_complementable
P6:
for
v,
w being
Element of
ZS holds
v + w = w + v
P7:
for
u,
v,
w being
Element of
ZS holds
(u + v) + w = u + (v + w)
for
v being
Element of
ZS holds
v + (0. ZS) = v
hence
ZS is non
empty right_complementable vector-distributive scalar-distributive scalar-associative scalar-unital Abelian add-associative right_zeroed ModuleStr over
INT.Ring
by P1, P2, P3, P4, P5, P6, P7, ALGSTR_0:def 16, RLVECT_1:def 2, RLVECT_1:def 3, RLVECT_1:def 4, VECTSP_1:def 14, VECTSP_1:def 15, VECTSP_1:def 16, VECTSP_1:def 17;
verum
end;
then reconsider ZS = ZS as strict Z_Module ;
take
ZS
; ( the carrier of ZS = r * (rng (MorphsZQ V)) & the ZeroF of ZS = zeroCoset V & the addF of ZS = (addCoset V) || (r * (rng (MorphsZQ V))) & the lmult of ZS = (lmultCoset V) | [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):] )
thus
( the carrier of ZS = r * (rng (MorphsZQ V)) & the ZeroF of ZS = zeroCoset V & the addF of ZS = (addCoset V) || (r * (rng (MorphsZQ V))) & the lmult of ZS = (lmultCoset V) | [: the carrier of INT.Ring,(r * (rng (MorphsZQ V))):] )
; verum