let R be Ring; :: thesis: for V being LeftMod of R
for V1 being Subset of V
for D being non empty set
for d1 being Element of D
for A being BinOp of D
for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let V be LeftMod of R; :: thesis: for V1 being Subset of V
for D being non empty set
for d1 being Element of D
for A being BinOp of D
for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let V1 be Subset of V; :: thesis: for D being non empty set
for d1 being Element of D
for A being BinOp of D
for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let D be non empty set ; :: thesis: for d1 being Element of D
for A being BinOp of D
for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let d1 be Element of D; :: thesis: for A being BinOp of D
for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let A be BinOp of D; :: thesis: for M being Function of [: the carrier of R,D:],D st V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] holds
ModuleStr(# D,A,d1,M #) is Submodule of V

let M be Function of [: the carrier of R,D:],D; :: thesis: ( V1 = D & d1 = 0. V & A = the addF of V || V1 & M = the lmult of V | [: the carrier of R,V1:] implies ModuleStr(# D,A,d1,M #) is Submodule of V )
assume that
A1: V1 = D and
A2: d1 = 0. V and
A3: A = the addF of V || V1 and
A4: M = the lmult of V | [: the carrier of R,V1:] ; :: thesis: ModuleStr(# D,A,d1,M #) is Submodule of V
reconsider W = ModuleStr(# D,A,d1,M #) as non empty ModuleStr over R ;
A5: for a being Element of R
for x being Vector of W holds a * x = the lmult of V . (a,x)
proof
let a be Element of R; :: thesis: for x being Vector of W holds a * x = the lmult of V . (a,x)
let x be Vector of W; :: thesis: a * x = the lmult of V . (a,x)
thus a * x = the lmult of V . [a,x] by A1, A4, FUNCT_1:49
.= the lmult of V . (a,x) ; :: thesis: verum
end;
A6: for x, y being Vector of W holds x + y = the addF of V . (x,y)
proof
let x, y be Vector of W; :: thesis: x + y = the addF of V . (x,y)
thus x + y = the addF of V . [x,y] by A1, A3, FUNCT_1:49
.= the addF of V . (x,y) ; :: thesis: verum
end;
A7: ( W is Abelian & W is add-associative & W is right_zeroed & W is right_complementable & W is vector-distributive & W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
set MV = the lmult of V;
set AV = the addF of V;
thus W is Abelian :: thesis: ( W is add-associative & W is right_zeroed & W is right_complementable & W is vector-distributive & W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
let x, y be Vector of W; :: according to RLVECT_1:def 2 :: thesis: x + y = y + x
reconsider x1 = x, y1 = y as Vector of V by A1, TARSKI:def 3;
thus x + y = x1 + y1 by A6
.= y1 + x1
.= y + x by A6 ; :: thesis: verum
end;
thus W is add-associative :: thesis: ( W is right_zeroed & W is right_complementable & W is vector-distributive & W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
let x, y, z be Vector of W; :: according to RLVECT_1:def 3 :: thesis: (x + y) + z = x + (y + z)
reconsider x1 = x, y1 = y, z1 = z as Vector of V by A1, TARSKI:def 3;
thus (x + y) + z = the addF of V . ((x + y),z1) by A6
.= (x1 + y1) + z1 by A6
.= x1 + (y1 + z1) by RLVECT_1:def 3
.= the addF of V . (x1,(y + z)) by A6
.= x + (y + z) by A6 ; :: thesis: verum
end;
thus W is right_zeroed :: thesis: ( W is right_complementable & W is vector-distributive & W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
let x be Vector of W; :: according to RLVECT_1:def 4 :: thesis: x + (0. W) = x
reconsider y = x as Vector of V by A1, TARSKI:def 3;
thus x + (0. W) = y + (0. V) by A2, A6
.= x by RLVECT_1:4 ; :: thesis: verum
end;
thus W is right_complementable :: thesis: ( W is vector-distributive & W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
let x be Vector of W; :: according to ALGSTR_0:def 16 :: thesis: x is right_complementable
reconsider x1 = x as Vector of V by A1, TARSKI:def 3;
consider v being Vector of V such that
A8: x1 + v = 0. V by ALGSTR_0:def 11;
v = - x1 by A8, RLVECT_1:def 10
.= (- (1. R)) * x1 by Th2
.= the lmult of V . ((- (1. R)),x1)
.= (- (1. R)) * x by A5 ;
then reconsider y = v as Vector of W ;
take y ; :: according to ALGSTR_0:def 11 :: thesis: x + y = 0. W
thus x + y = 0. W by A2, A6, A8; :: thesis: verum
end;
thus for a being Element of R
for x, y being Vector of W holds a * (x + y) = (a * x) + (a * y) :: according to VECTSP_1:def 13 :: thesis: ( W is scalar-distributive & W is scalar-associative & W is scalar-unital )
proof
let a be Element of R; :: thesis: for x, y being Vector of W holds a * (x + y) = (a * x) + (a * y)
let x, y be Vector of W; :: thesis: a * (x + y) = (a * x) + (a * y)
reconsider x1 = x, y1 = y as Vector of V by A1, TARSKI:def 3;
a * (x + y) = the lmult of V . (a,(x + y)) by A5
.= a * (x1 + y1) by A6
.= (a * x1) + (a * y1) by VECTSP_1:def 14
.= the addF of V . (( the lmult of V . (a,x1)),(a * y)) by A5
.= the addF of V . ((a * x),(a * y)) by A5
.= (a * x) + (a * y) by A6 ;
hence a * (x + y) = (a * x) + (a * y) ; :: thesis: verum
end;
thus for a, b being Element of R
for x being Vector of W holds (a + b) * x = (a * x) + (b * x) :: according to VECTSP_1:def 14 :: thesis: ( W is scalar-associative & W is scalar-unital )
proof
let a, b be Element of R; :: thesis: for x being Vector of W holds (a + b) * x = (a * x) + (b * x)
let x be Vector of W; :: thesis: (a + b) * x = (a * x) + (b * x)
reconsider y = x as Vector of V by A1, TARSKI:def 3;
(a + b) * x = (a + b) * y by A5
.= (a * y) + (b * y) by VECTSP_1:def 15
.= the addF of V . (( the lmult of V . (a,y)),(b * x)) by A5
.= the addF of V . ((a * x),(b * x)) by A5
.= (a * x) + (b * x) by A6 ;
hence (a + b) * x = (a * x) + (b * x) ; :: thesis: verum
end;
thus for a, b being Element of R
for x being Vector of W holds (a * b) * x = a * (b * x) :: according to VECTSP_1:def 15 :: thesis: W is scalar-unital
proof
let a, b be Element of R; :: thesis: for x being Vector of W holds (a * b) * x = a * (b * x)
let x be Vector of W; :: thesis: (a * b) * x = a * (b * x)
reconsider y = x as Vector of V by A1, TARSKI:def 3;
reconsider a = a, b = b as Element of R ;
(a * b) * x = (a * b) * y by A5
.= a * (b * y) by VECTSP_1:def 16
.= the lmult of V . (a,(b * x)) by A5
.= a * (b * x) by A5 ;
hence (a * b) * x = a * (b * x) ; :: thesis: verum
end;
let x be Vector of W; :: according to VECTSP_1:def 16 :: thesis: (1. R) * x = x
reconsider y = x as Vector of V by A1, TARSKI:def 3;
thus (1. R) * x = the lmult of V . ((1. R),y) by A5
.= (1. R) * y
.= x ; :: thesis: verum
end;
0. W = 0. V by A2;
hence ModuleStr(# D,A,d1,M #) is Submodule of V by A1, A3, A4, A7, VECTSP_4:def 2; :: thesis: verum