set cR = the carrier of R;
set ccs = { x where x is Element of R : for s being Element of R holds x * s = s * x } ;
now
let s be Element of the carrier of R; :: thesis: (0. R) * s = s * (0. R)
thus (0. R) * s = 0. R by VECTSP_1:7
.= s * (0. R) by VECTSP_1:6 ; :: thesis: verum
end;
then A1: 0. R in { x where x is Element of R : for s being Element of R holds x * s = s * x } ;
then reconsider ccs = { x where x is Element of R : for s being Element of R holds x * s = s * x } as non empty set ;
A2: ccs c= the carrier of R
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in ccs or x in the carrier of R )
assume x in ccs ; :: thesis: x in the carrier of R
then ex x9 being Element of the carrier of R st
( x9 = x & ( for s being Element of R holds x9 * s = s * x9 ) ) ;
hence x in the carrier of R ; :: thesis: verum
end;
set acs = the addF of R || ccs;
set mcs = the multF of R || ccs;
set Zs = 0. R;
set Us = 1_ R;
A3: [:ccs,ccs:] c= [: the carrier of R, the carrier of R:]
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in [:ccs,ccs:] or x in [: the carrier of R, the carrier of R:] )
assume x in [:ccs,ccs:] ; :: thesis: x in [: the carrier of R, the carrier of R:]
then ex a, b being set st
( a in ccs & b in ccs & x = [a,b] ) by ZFMISC_1:def 2;
hence x in [: the carrier of R, the carrier of R:] by A2, ZFMISC_1:def 2; :: thesis: verum
end;
then reconsider acs = the addF of R || ccs as Function of [:ccs,ccs:], the carrier of R by FUNCT_2:32;
rng acs c= ccs
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng acs or y in ccs )
assume y in rng acs ; :: thesis: y in ccs
then consider x being set such that
A4: x in dom acs and
A5: y = acs . x by FUNCT_1:def 3;
consider a, b being set such that
A6: a in ccs and
A7: b in ccs and
A8: x = [a,b] by A4, ZFMISC_1:def 2;
reconsider a = a, b = b as Element of the carrier of R by A2, A6, A7;
A9: ex a9 being Element of the carrier of R st
( a9 = a & ( for s being Element of R holds a9 * s = s * a9 ) ) by A6;
A10: ex b9 being Element of the carrier of R st
( b9 = b & ( for s being Element of R holds b9 * s = s * b9 ) ) by A7;
[a,b] in [:ccs,ccs:] by A6, A7, ZFMISC_1:def 2;
then A11: a + b = acs . x by A8, FUNCT_1:49;
now
let s be Element of the carrier of R; :: thesis: (a + b) * s = s * (a + b)
thus (a + b) * s = (a * s) + (b * s) by VECTSP_1:def 3
.= (s * a) + (b * s) by A9
.= (s * a) + (s * b) by A10
.= s * (a + b) by VECTSP_1:def 2 ; :: thesis: verum
end;
hence y in ccs by A5, A11; :: thesis: verum
end;
then reconsider acs = acs as BinOp of ccs by FUNCT_2:6;
reconsider mcs = the multF of R || ccs as Function of [:ccs,ccs:], the carrier of R by A3, FUNCT_2:32;
rng mcs c= ccs
proof
let y be set ; :: according to TARSKI:def 3 :: thesis: ( not y in rng mcs or y in ccs )
assume y in rng mcs ; :: thesis: y in ccs
then consider x being set such that
A12: x in dom mcs and
A13: y = mcs . x by FUNCT_1:def 3;
consider a, b being set such that
A14: a in ccs and
A15: b in ccs and
A16: x = [a,b] by A12, ZFMISC_1:def 2;
reconsider a = a, b = b as Element of the carrier of R by A2, A14, A15;
A17: ex a9 being Element of the carrier of R st
( a9 = a & ( for s being Element of R holds a9 * s = s * a9 ) ) by A14;
A18: ex b9 being Element of the carrier of R st
( b9 = b & ( for s being Element of R holds b9 * s = s * b9 ) ) by A15;
[a,b] in [:ccs,ccs:] by A14, A15, ZFMISC_1:def 2;
then A19: a * b = mcs . x by A16, FUNCT_1:49;
now
let s be Element of the carrier of R; :: thesis: (a * b) * s = s * (a * b)
thus (a * b) * s = a * (b * s) by GROUP_1:def 3
.= a * (s * b) by A18
.= (a * s) * b by GROUP_1:def 3
.= (s * a) * b by A17
.= s * (a * b) by GROUP_1:def 3 ; :: thesis: verum
end;
hence y in ccs by A13, A19; :: thesis: verum
end;
then reconsider mcs = mcs as BinOp of ccs by FUNCT_2:6;
reconsider Zs = 0. R as Element of ccs by A1;
now
let s be Element of the carrier of R; :: thesis: (1_ R) * s = s * (1_ R)
thus (1_ R) * s = s by VECTSP_1:def 8
.= s * (1_ R) by VECTSP_1:def 4 ; :: thesis: verum
end;
then 1_ R in ccs ;
then reconsider Us = 1_ R as Element of ccs ;
reconsider cs = doubleLoopStr(# ccs,acs,mcs,Us,Zs #) as non empty doubleLoopStr ;
A20: 0. cs = Zs ;
set ccs1 = the carrier of cs;
A21: now
let x, s be Element of the carrier of R; :: thesis: ( x in ccs implies x * s = s * x )
assume x in ccs ; :: thesis: x * s = s * x
then ex x9 being Element of the carrier of R st
( x9 = x & ( for s being Element of R holds x9 * s = s * x9 ) ) ;
hence x * s = s * x ; :: thesis: verum
end;
A22: now
let a, b be Element of the carrier of R; :: thesis: for c, d being Element of the carrier of cs st a = c & b = d holds
a * b = c * d

let c, d be Element of the carrier of cs; :: thesis: ( a = c & b = d implies a * b = c * d )
assume that
A23: a = c and
A24: b = d ; :: thesis: a * b = c * d
[c,d] in [:ccs,ccs:] by ZFMISC_1:def 2;
hence a * b = c * d by A23, A24, FUNCT_1:49; :: thesis: verum
end;
A25: for a, b being Element of the carrier of R
for c, d being Element of the carrier of cs st a = c & b = d holds
a + b = c + d
proof
let a, b be Element of the carrier of R; :: thesis: for c, d being Element of the carrier of cs st a = c & b = d holds
a + b = c + d

let c, d be Element of the carrier of cs; :: thesis: ( a = c & b = d implies a + b = c + d )
assume that
A26: a = c and
A27: b = d ; :: thesis: a + b = c + d
[c,d] in [:ccs,ccs:] by ZFMISC_1:def 2;
hence a + b = c + d by A26, A27, FUNCT_1:49; :: thesis: verum
end;
A28: cs is Abelian
proof
let x, y be Element of the carrier of cs; :: according to RLVECT_1:def 2 :: thesis: x + y = y + x
A29: x in the carrier of cs ;
y in the carrier of cs ;
then reconsider x9 = x, y9 = y as Element of the carrier of R by A2, A29;
thus x + y = y9 + x9 by A25
.= y + x by A25 ; :: thesis: verum
end;
A30: cs is add-associative
proof
let x, y, z be Element of the carrier of cs; :: according to RLVECT_1:def 3 :: thesis: (x + y) + z = x + (y + z)
A31: x in the carrier of cs ;
A32: y in the carrier of cs ;
z in the carrier of cs ;
then reconsider x9 = x, y9 = y, z9 = z as Element of the carrier of R by A2, A31, A32;
A33: x9 + y9 = x + y by A25;
A34: y9 + z9 = y + z by A25;
thus (x + y) + z = (x9 + y9) + z9 by A25, A33
.= x9 + (y9 + z9) by RLVECT_1:def 3
.= x + (y + z) by A25, A34 ; :: thesis: verum
end;
A35: cs is right_zeroed
proof
let x be Element of the carrier of cs; :: according to RLVECT_1:def 4 :: thesis: x + (0. cs) = x
x in the carrier of cs ;
then reconsider x9 = x as Element of the carrier of R by A2;
thus x + (0. cs) = x9 + (0. R) by A25
.= x by RLVECT_1:def 4 ; :: thesis: verum
end;
A36: cs is right_complementable
proof
let x be Element of the carrier of cs; :: according to ALGSTR_0:def 16 :: thesis: x is right_complementable
x in the carrier of cs ;
then reconsider x9 = x as Element of the carrier of R by A2;
consider y9 being Element of the carrier of R such that
A37: x9 + y9 = 0. R by ALGSTR_0:def 11;
now
let s be Element of the carrier of R; :: thesis: y9 * s = s * y9
A38: s * x9 = x9 * s by A21;
(0. R) * s = 0. R by VECTSP_1:7
.= s * (0. R) by VECTSP_1:6 ;
then (x9 * s) + (y9 * s) = s * (x9 + y9) by A37, VECTSP_1:def 3;
then (x9 * s) + (y9 * s) = (s * x9) + (s * y9) by VECTSP_1:def 2;
then ((- (x9 * s)) + (x9 * s)) + (y9 * s) = (- (s * x9)) + ((s * x9) + (s * y9)) by A38, RLVECT_1:def 3;
then (0. R) + (y9 * s) = (- (s * x9)) + ((s * x9) + (s * y9)) by RLVECT_1:5;
then y9 * s = (- (s * x9)) + ((s * x9) + (s * y9)) by RLVECT_1:4;
then y9 * s = ((- (s * x9)) + (s * x9)) + (s * y9) by RLVECT_1:def 3;
then y9 * s = (0. R) + (s * y9) by RLVECT_1:5;
hence y9 * s = s * y9 by RLVECT_1:4; :: thesis: verum
end;
then y9 in the carrier of cs ;
then reconsider y = y9 as Element of the carrier of cs ;
x9 + y9 = x + y by A25;
hence ex y being Element of the carrier of cs st x + y = 0. cs by A37; :: according to ALGSTR_0:def 11 :: thesis: verum
end;
A39: cs is associative
proof
let x, y, z be Element of the carrier of cs; :: according to GROUP_1:def 3 :: thesis: (x * y) * z = x * (y * z)
A40: x in the carrier of cs ;
A41: y in the carrier of cs ;
z in the carrier of cs ;
then reconsider x9 = x, y9 = y, z9 = z as Element of the carrier of R by A2, A40, A41;
A42: x9 * y9 = x * y by A22;
A43: y9 * z9 = y * z by A22;
thus (x * y) * z = (x9 * y9) * z9 by A22, A42
.= x9 * (y9 * z9) by GROUP_1:def 3
.= x * (y * z) by A22, A43 ; :: thesis: verum
end;
A44: cs is commutative
proof
let x, y be Element of the carrier of cs; :: according to GROUP_1:def 12 :: thesis: x * y = y * x
A45: x in the carrier of cs ;
y in the carrier of cs ;
then reconsider x9 = x, y9 = y as Element of the carrier of R by A2, A45;
thus x * y = x9 * y9 by A22
.= y9 * x9 by A21
.= y * x by A22 ; :: thesis: verum
end;
A46: now
let x, e be Element of cs; :: thesis: ( e = 1_ R implies ( x * e = x & e * x = x ) )
assume A47: e = 1_ R ; :: thesis: ( x * e = x & e * x = x )
A48: [x,e] in [:ccs,ccs:] by ZFMISC_1:87;
x in ccs ;
then reconsider y = x as Element of R by A2;
thus x * e = y * (1_ R) by A47, A48, FUNCT_1:49
.= x by GROUP_1:def 4 ; :: thesis: e * x = x
hence e * x = x by A44, GROUP_1:def 12; :: thesis: verum
end;
A49: cs is well-unital
proof
let x be Element of cs; :: according to VECTSP_1:def 6 :: thesis: ( x * (1. cs) = x & (1. cs) * x = x )
thus ( x * (1. cs) = x & (1. cs) * x = x ) by A46; :: thesis: verum
end;
A50: 1. cs = 1. R ;
A51: cs is distributive
proof
let x, y, z be Element of the carrier of cs; :: according to VECTSP_1:def 7 :: thesis: ( x * (y + z) = (x * y) + (x * z) & (y + z) * x = (y * x) + (z * x) )
A52: x in the carrier of cs ;
A53: y in the carrier of cs ;
z in the carrier of cs ;
then reconsider x9 = x, y9 = y, z9 = z as Element of the carrier of R by A2, A52, A53;
A54: y + z = y9 + z9 by A25;
A55: x9 * y9 = x * y by A22;
A56: x9 * z9 = x * z by A22;
A57: y9 * x9 = y * x by A22;
A58: z9 * x9 = z * x by A22;
thus x * (y + z) = x9 * (y9 + z9) by A22, A54
.= (x9 * y9) + (x9 * z9) by VECTSP_1:def 7
.= (x * y) + (x * z) by A25, A55, A56 ; :: thesis: (y + z) * x = (y * x) + (z * x)
thus (y + z) * x = (y9 + z9) * x9 by A22, A54
.= (y9 * x9) + (z9 * x9) by VECTSP_1:def 7
.= (y * x) + (z * x) by A25, A57, A58 ; :: thesis: verum
end;
cs is almost_left_invertible
proof
let x be Element of the carrier of cs; :: according to ALGSTR_0:def 39 :: thesis: ( x = 0. cs or x is left_invertible )
assume A59: x <> 0. cs ; :: thesis: x is left_invertible
x in the carrier of cs ;
then reconsider x9 = x as Element of the carrier of R by A2;
consider y9 being Element of the carrier of R such that
A60: y9 * x9 = 1. R by A59, VECTSP_1:def 9;
A61: x9 * y9 = 1. R by A60, VECTSP_2:7;
now
let s be Element of the carrier of R; :: thesis: y9 * s = s * y9
(1_ R) * s = s by VECTSP_1:def 8
.= s * (1_ R) by VECTSP_1:def 4 ;
then (x9 * y9) * s = (s * x9) * y9 by A61, GROUP_1:def 3;
then (x9 * y9) * s = (x9 * s) * y9 by A21;
then ((x9 ") * (x9 * y9)) * s = (x9 ") * ((x9 * s) * y9) by GROUP_1:def 3;
then ((x9 ") * (x9 * y9)) * s = ((x9 ") * (x9 * s)) * y9 by GROUP_1:def 3;
then (((x9 ") * x9) * y9) * s = ((x9 ") * (x9 * s)) * y9 by GROUP_1:def 3;
then (((x9 ") * x9) * y9) * s = (((x9 ") * x9) * s) * y9 by GROUP_1:def 3;
then ((1_ R) * y9) * s = (((x9 ") * x9) * s) * y9 by A59, VECTSP_2:9;
then ((1_ R) * y9) * s = ((1_ R) * s) * y9 by A59, VECTSP_2:9;
then y9 * s = ((1_ R) * s) * y9 by VECTSP_1:def 8;
hence y9 * s = s * y9 by VECTSP_1:def 8; :: thesis: verum
end;
then y9 in the carrier of cs ;
then reconsider y = y9 as Element of the carrier of cs ;
take y ; :: according to ALGSTR_0:def 27 :: thesis: y * x = 1. cs
thus y * x = 1. cs by A22, A60; :: thesis: verum
end;
then reconsider cs = cs as strict Field by A20, A28, A30, A35, A36, A39, A44, A49, A50, A51, STRUCT_0:def 8;
take cs ; :: thesis: ( the carrier of cs = { x where x is Element of R : for s being Element of R holds x * s = s * x } & the addF of cs = the addF of R || the carrier of cs & the multF of cs = the multF of R || the carrier of cs & 0. cs = 0. R & 1. cs = 1. R )
thus ( the carrier of cs = { x where x is Element of R : for s being Element of R holds x * s = s * x } & the addF of cs = the addF of R || the carrier of cs & the multF of cs = the multF of R || the carrier of cs & 0. cs = 0. R & 1. cs = 1. R ) ; :: thesis: verum