let V be Ring; for V1 being Subset of V st V1 is additively-closed & V1 is multiplicatively-closed & not V1 is empty holds
doubleLoopStr(# V1,(Add_ (V1,V)),(mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Ring
let V1 be Subset of V; ( V1 is additively-closed & V1 is multiplicatively-closed & not V1 is empty implies doubleLoopStr(# V1,(Add_ (V1,V)),(mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Ring )
assume A1:
( V1 is additively-closed & V1 is multiplicatively-closed & not V1 is empty )
; doubleLoopStr(# V1,(Add_ (V1,V)),(mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Ring
then A2:
( One_ (V1,V) = 1_ V & mult_ (V1,V) = the multF of V || V1 )
by Def6, Def8;
( Zero_ (V1,V) = 0. V & Add_ (V1,V) = the addF of V || V1 )
by A1, Def5, Def7;
hence
doubleLoopStr(# V1,(Add_ (V1,V)),(mult_ (V1,V)),(One_ (V1,V)),(Zero_ (V1,V)) #) is Ring
by A1, A2, Th1; verum