set C = carrier/\ F;
set f = the addF of F;
carrier/\ F is the addF of F -binopclosed
then reconsider C = carrier/\ F as Preserv of the addF of F ;
set f = the multF of F;
C is the multF of F -binopclosed
then reconsider D = C as Preserv of the multF of F ;
reconsider m = the multF of F || D as BinOp of C ;
set o = 1. F;
set z = 0. F;
then
( 1. F in C & 0. F in C )
;
then reconsider o = 1. F, z = 0. F as Element of C ;
take
doubleLoopStr(# C,( the addF of F || C),m,o,z #)
; ( the carrier of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = carrier/\ F & the addF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = the addF of F || (carrier/\ F) & the multF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = the multF of F || (carrier/\ F) & the OneF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = 1. F & the ZeroF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = 0. F )
thus
( the carrier of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = carrier/\ F & the addF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = the addF of F || (carrier/\ F) & the multF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = the multF of F || (carrier/\ F) & the OneF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = 1. F & the ZeroF of doubleLoopStr(# C,( the addF of F || C),m,o,z #) = 0. F )
; verum