per cases ( G is unital or not G is unital ) ;
suppose G is unital ; :: thesis: not bool G is empty
then bool G = multLoopStr(# (bool the carrier of G),( the multF of G .:^2),{(the_unity_wrt the multF of G)} #) by Def9;
hence not the carrier of (bool G) is empty ; :: according to STRUCT_0:def 1 :: thesis: verum
end;
suppose not G is unital ; :: thesis: not bool G is empty
then bool G = multMagma(# (bool the carrier of G),( the multF of G .:^2) #) by Def9;
hence not the carrier of (bool G) is empty ; :: according to STRUCT_0:def 1 :: thesis: verum
end;
end;