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