let V be Ring; :: thesis: 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; :: thesis: ( 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 ) ; :: thesis: 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; :: thesis: verum