let R be non empty doubleLoopStr ; :: thesis: for x, y being Scalar of R st x is being_a_square & y is being_a_square holds
x * y is being_a_product_of_squares

let x, y be Scalar of R; :: thesis: ( x is being_a_square & y is being_a_square implies x * y is being_a_product_of_squares )
assume that
A1: x is being_a_square and
A2: y is being_a_square ; :: thesis: x * y is being_a_product_of_squares
x is being_a_product_of_squares by A1, Lm9;
then consider f being FinSequence of R such that
A3: ( f is being_a_Product_of_squares & x = f /. (len f) ) ;
take g = f ^ <*(x * y)*>; :: according to O_RING_1:def 6 :: thesis: ( g is being_a_Product_of_squares & x * y = g /. (len g) )
len g = (len f) + (len <*(x * y)*>) by FINSEQ_1:22
.= (len f) + 1 by Lm2 ;
hence ( g is being_a_Product_of_squares & x * y = g /. (len g) ) by A2, A3, Lm3, Lm83; :: thesis: verum