let R be non empty doubleLoopStr ; :: thesis: for f being FinSequence of R st f is being_a_Sum_of_amalgams_of_squares holds
for i being Nat st i <> 0 & i <= len f holds
f /. i is generated_from_squares

let f be FinSequence of R; :: thesis: ( f is being_a_Sum_of_amalgams_of_squares implies for i being Nat st i <> 0 & i <= len f holds
f /. i is generated_from_squares )

defpred S1[ Nat] means ( $1 <> 0 & $1 <= len f implies f /. $1 is generated_from_squares );
assume A1: f is being_a_Sum_of_amalgams_of_squares ; :: thesis: for i being Nat st i <> 0 & i <= len f holds
f /. i is generated_from_squares

A2: for i being Nat st S1[i] holds
S1[i + 1]
proof
let i be Nat; :: thesis: ( S1[i] implies S1[i + 1] )
assume A3: ( i <> 0 & i <= len f implies f /. i is generated_from_squares ) ; :: thesis: S1[i + 1]
assume that
i + 1 <> 0 and
A4: i + 1 <= len f ; :: thesis: f /. (i + 1) is generated_from_squares
A5: now :: thesis: ( i <> 0 implies f /. (i + 1) is generated_from_squares )end;
( i = 0 implies f /. (i + 1) is generated_from_squares ) by A1, Lm40;
hence f /. (i + 1) is generated_from_squares by A5; :: thesis: verum
end;
A7: S1[ 0 ] ;
thus for i being Nat holds S1[i] from NAT_1:sch 2(A7, A2); :: thesis: verum