set C = carrierRA T;
set f = the addF of S;
carrierRA T is Preserv of the addF of S
then reconsider C = carrierRA T as Preserv of the addF of S ;
set f = the multF of S;
C is Preserv of the multF of S
then reconsider D = C as Preserv of the multF of S ;
reconsider m = the multF of S || D as BinOp of C ;
set o = 1. S;
set z = 0. S;
ex x being Element of S st
( x = 1. S & ( for U being Subring of S st R is Subring of U & T is Subset of U holds
x in U ) )
then
1. S in C
;
then reconsider o = 1. S as Element of C ;
ex x being Element of S st
( x = 0. S & ( for U being Subring of S st R is Subring of U & T is Subset of U holds
x in U ) )
then
0. S in C
;
then reconsider z = 0. S as Element of C ;
take
doubleLoopStr(# C,( the addF of S || C),m,o,z #)
; ( the carrier of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = carrierRA T & the addF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = the addF of S || (carrierRA T) & the multF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = the multF of S || (carrierRA T) & the OneF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = 1. S & the ZeroF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = 0. S )
thus
( the carrier of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = carrierRA T & the addF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = the addF of S || (carrierRA T) & the multF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = the multF of S || (carrierRA T) & the OneF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = 1. S & the ZeroF of doubleLoopStr(# C,( the addF of S || C),m,o,z #) = 0. S )
; verum