let R be non empty doubleLoopStr ; for f, g being FinSequence of R st f is being_a_generation_from_squares & g is being_a_generation_from_squares holds
f ^ g is being_a_generation_from_squares
let f, g be FinSequence of R; ( f is being_a_generation_from_squares & g is being_a_generation_from_squares implies f ^ g is being_a_generation_from_squares )
assume that
A1:
f is being_a_generation_from_squares
and
A2:
g is being_a_generation_from_squares
; f ^ g is being_a_generation_from_squares
A3:
for n being Nat st n <> 0 & n <= len (f ^ g) & not (f ^ g) /. n is being_an_amalgam_of_squares holds
ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n )
proof
let n be
Nat;
( n <> 0 & n <= len (f ^ g) & not (f ^ g) /. n is being_an_amalgam_of_squares implies ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )
assume that A4:
n <> 0
and A5:
n <= len (f ^ g)
;
( (f ^ g) /. n is being_an_amalgam_of_squares or ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )
A6:
n <= (len f) + (len g)
by A5, FINSEQ_1:22;
A7:
now ( len f < n & not (f ^ g) /. n is being_an_amalgam_of_squares implies ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )assume A8:
len f < n
;
( (f ^ g) /. n is being_an_amalgam_of_squares or ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )then consider m being
Nat such that A9:
n = (len f) + m
by NAT_1:10;
(len f) + m <= (len f) + (len g)
by A5, A9, FINSEQ_1:22;
then A10:
m <= len g
by XREAL_1:6;
A11:
m <> 0
by A8, A9;
A12:
m <= len g
by A6, A9, XREAL_1:6;
A13:
now ( ex k, l being Nat st
( ( g /. m = (g /. k) * (g /. l) or g /. m = (g /. k) + (g /. l) ) & k <> 0 & k < m & l <> 0 & l < m ) & not (f ^ g) /. n is being_an_amalgam_of_squares implies ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )given k,
l being
Nat such that A14:
(
g /. m = (g /. k) * (g /. l) or
g /. m = (g /. k) + (g /. l) )
and A15:
k <> 0
and A16:
k < m
and A17:
l <> 0
and A18:
l < m
;
( (f ^ g) /. n is being_an_amalgam_of_squares or ex i, j being Nat st
( ( (f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or (f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) & i <> 0 & i < n & j <> 0 & j < n ) )A19:
(
(len f) + k <> 0 &
(len f) + l <> 0 )
by A15, A17;
A20:
(
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )
proof
A21:
now ( not g /. m = (g /. k) + (g /. l) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )assume
g /. m = (g /. k) + (g /. l)
;
( (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )then (f ^ g) /. n =
(g /. k) + (g /. l)
by A9, A11, A10, Lm5
.=
((f ^ g) /. ((len f) + k)) + (g /. l)
by A12, A15, A16, Lm5, XXREAL_0:2
.=
((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l))
by A12, A17, A18, Lm5, XXREAL_0:2
;
hence
(
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )
;
verum end;
now ( not g /. m = (g /. k) * (g /. l) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )assume
g /. m = (g /. k) * (g /. l)
;
( (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or (f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )then (f ^ g) /. n =
(g /. k) * (g /. l)
by A9, A11, A10, Lm5
.=
((f ^ g) /. ((len f) + k)) * (g /. l)
by A12, A15, A16, Lm5, XXREAL_0:2
.=
((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l))
by A12, A17, A18, Lm5, XXREAL_0:2
;
hence
(
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )
;
verum end;
hence
(
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) * ((f ^ g) /. ((len f) + l)) or
(f ^ g) /. n = ((f ^ g) /. ((len f) + k)) + ((f ^ g) /. ((len f) + l)) )
by A14, A21;
verum
end;
(
(len f) + k < n &
(len f) + l < n )
by A9, A16, A18, XREAL_1:6;
hence
(
(f ^ g) /. n is
being_an_amalgam_of_squares or ex
i,
j being
Nat st
( (
(f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or
(f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) &
i <> 0 &
i < n &
j <> 0 &
j < n ) )
by A20, A19;
verum end;
(
g /. m is
being_an_amalgam_of_squares & not
(f ^ g) /. n is
being_an_amalgam_of_squares implies ex
i,
j being
Nat st
( (
(f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or
(f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) &
i <> 0 &
i < n &
j <> 0 &
j < n ) )
by A9, A11, A10, Lm5;
hence
(
(f ^ g) /. n is
being_an_amalgam_of_squares or ex
i,
j being
Nat st
( (
(f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or
(f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) &
i <> 0 &
i < n &
j <> 0 &
j < n ) )
by A2, A11, A10, A13;
verum end;
hence
(
(f ^ g) /. n is
being_an_amalgam_of_squares or ex
i,
j being
Nat st
( (
(f ^ g) /. n = ((f ^ g) /. i) * ((f ^ g) /. j) or
(f ^ g) /. n = ((f ^ g) /. i) + ((f ^ g) /. j) ) &
i <> 0 &
i < n &
j <> 0 &
j < n ) )
by A7;
verum
end;
len f <> 0
by A1;
then
(len f) + (len g) <> 0
;
then
len (f ^ g) <> 0
by FINSEQ_1:22;
hence
f ^ g is being_a_generation_from_squares
by A3; verum