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_sum_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_sum_of_squares )
assume A1: ( x is being_a_square & y is being_a_square ) ; :: thesis: x + y is being_a_sum_of_squares
take g = <*x*> ^ <*(x + y)*>; :: according to O_RING_1:def 4 :: thesis: ( g is being_a_Sum_of_squares & x + y = g /. (len g) )
len <*x*> = 1 by Lm2;
then A2: <*x*> /. (len <*x*>) = x by Lm2;
len g = (len <*x*>) + (len <*(x + y)*>) by FINSEQ_1:22
.= (len <*x*>) + 1 by Lm2 ;
hence ( g is being_a_Sum_of_squares & x + y = g /. (len g) ) by A1, A2, Lm3, Lm6, Lm55; :: thesis: verum