let fp be FinSequence of NAT ; ( len fp >= 2 & ( for b, c being Nat st b in dom fp & c in dom fp & b <> c holds
(fp . b) gcd (fp . c) = 1 ) implies for fr being FinSequence of INT st len fr = len fp holds
ex fr1 being FinSequence of INT st
( len fr1 = len fp & ( for b being Nat st b in dom fp holds
((fp . b) * (fr1 . b)) + (fr . b) = ((fp . 1) * (fr1 . 1)) + (fr . 1) ) ) )
defpred S1[ FinSequence of NAT ] means for fr being FinSequence of INT st len fr = len $1 holds
ex fr1 being FinSequence of INT st
( len fr1 = len $1 & ( for b being Nat st b in dom $1 holds
(($1 . b) * (fr1 . b)) + (fr . b) = (($1 . 1) * (fr1 . 1)) + (fr . 1) ) );
defpred S2[ FinSequence of NAT ] means for b, c being Nat st b in dom $1 & c in dom $1 & b <> c holds
($1 . b) gcd ($1 . c) = 1;
defpred S3[ set ] means ex f being FinSequence of NAT st
( f = $1 & ( len f >= 2 & S2[f] implies S1[f] ) );
A1:
now for fp being FinSequence of NAT
for d being Element of NAT st S3[fp] holds
S3[fp ^ <*d*>]let fp be
FinSequence of
NAT ;
for d being Element of NAT st S3[fp] holds
S3[fp ^ <*d*>]let d be
Element of
NAT ;
( S3[fp] implies S3[fp ^ <*d*>] )assume A2:
S3[
fp]
;
S3[fp ^ <*d*>]set k =
len fp;
set fp1 =
fp ^ <*d*>;
now ( len (fp ^ <*d*>) >= 2 & S2[fp ^ <*d*>] implies S1[fp ^ <*d*>] )assume that A3:
len (fp ^ <*d*>) >= 2
and A4:
S2[
fp ^ <*d*>]
;
S1[fp ^ <*d*>]A5:
len (fp ^ <*d*>) = (len fp) + 1
by FINSEQ_2:16;
now S1[fp ^ <*d*>]per cases
( len (fp ^ <*d*>) = 2 or len (fp ^ <*d*>) > 2 )
by A3, XXREAL_0:1;
suppose A11:
len (fp ^ <*d*>) > 2
;
S1[fp ^ <*d*>]A12:
S2[
fp]
A16:
(len fp) + 1
> 1
+ 1
by A11, FINSEQ_2:16;
then A17:
len fp >= 1
+ 1
by NAT_1:13;
now for fr2 being FinSequence of INT st len fr2 = len (fp ^ <*d*>) holds
ex fr3 being FinSequence of INT st
( len fr3 = len (fp ^ <*d*>) & ( for b being Nat st b in dom (fp ^ <*d*>) holds
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1) ) )let fr2 be
FinSequence of
INT ;
( len fr2 = len (fp ^ <*d*>) implies ex fr3 being FinSequence of INT st
( len fr3 = len (fp ^ <*d*>) & ( for b being Nat st b in dom (fp ^ <*d*>) holds
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1) ) ) )assume A18:
len fr2 = len (fp ^ <*d*>)
;
ex fr3 being FinSequence of INT st
( len fr3 = len (fp ^ <*d*>) & ( for b being Nat st b in dom (fp ^ <*d*>) holds
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1) ) )then consider fr being
FinSequence of
INT ,
m being
Element of
INT such that A19:
fr2 = fr ^ <*m*>
by FINSEQ_2:19;
A20:
(len fp) + 1
= (len fr) + 1
by A5, A18, A19, FINSEQ_2:16;
then consider fr1 being
FinSequence of
INT such that
len fr1 = len fp
and A21:
for
b being
Nat st
b in dom fp holds
((fp . b) * (fr1 . b)) + (fr . b) = ((fp . 1) * (fr1 . 1)) + (fr . 1)
by A2, A16, A12, NAT_1:13;
for
a being
Nat st
a in dom fp holds
(fp . a) gcd d = 1
then
(Product fp) gcd d = 1
by Th36;
then
(Product fp) gcd d divides ((fr2 . ((len fp) + 1)) - ((fp . 1) * (fr1 . 1))) - (fr2 . 1)
by INT_2:12;
then consider m1,
n1 being
Integer such that A26:
((Product fp) * m1) + (d * n1) = ((fr2 . ((len fp) + 1)) - ((fp . 1) * (fr1 . 1))) - (fr2 . 1)
by Th33;
reconsider x =
- n1 as
Element of
INT by INT_1:def 2;
deffunc H1(
Nat)
-> set =
((Product (Del (fp,$1))) * m1) + (fr1 . $1);
consider s2 being
FinSequence such that A27:
(
len s2 = len fp & ( for
a being
Nat st
a in dom s2 holds
s2 . a = H1(
a) ) )
from FINSEQ_1:sch 2();
A28:
for
a being
Nat st
a in dom s2 holds
s2 . a in INT
A30:
dom s2 = Seg (len fp)
by A27, FINSEQ_1:def 3;
reconsider s2 =
s2 as
FinSequence of
INT by A28, FINSEQ_2:12;
take fr3 =
s2 ^ <*x*>;
( len fr3 = len (fp ^ <*d*>) & ( for b being Nat st b in dom (fp ^ <*d*>) holds
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1) ) )thus
len fr3 = len (fp ^ <*d*>)
by A5, A27, FINSEQ_2:16;
for b being Nat st b in dom (fp ^ <*d*>) holds
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)let b be
Nat;
( b in dom (fp ^ <*d*>) implies (((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1) )assume A31:
b in dom (fp ^ <*d*>)
;
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)thus
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)
verumproof
A32:
for
c being
Nat st
c in Seg (len fp) holds
((fp ^ <*d*>) . c) * (fr3 . c) = ((Product fp) * m1) + ((fp . c) * (fr1 . c))
A37:
1
<= b
by A31, FINSEQ_3:25;
A38:
b <= (len fp) + 1
by A5, A31, FINSEQ_3:25;
now (((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)per cases
( b <= len fp or b = (len fp) + 1 )
by A38, NAT_1:8;
suppose A39:
b <= len fp
;
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)then
1
<= len fp
by A37, XXREAL_0:2;
then A40:
1
in Seg (len fp)
;
then
1
in dom fr
by A20, FINSEQ_1:def 3;
then A41:
fr2 . 1
= fr . 1
by A19, FINSEQ_1:def 7;
A42:
b in Seg (len fp)
by A37, A39;
then A43:
b in dom fp
by FINSEQ_1:def 3;
b in dom fr
by A20, A42, FINSEQ_1:def 3;
then A44:
fr2 . b = fr . b
by A19, FINSEQ_1:def 7;
thus (((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) =
(((Product fp) * m1) + ((fp . b) * (fr1 . b))) + (fr2 . b)
by A32, A42
.=
((Product fp) * m1) + (((fp . b) * (fr1 . b)) + (fr . b))
by A44
.=
((Product fp) * m1) + (((fp . 1) * (fr1 . 1)) + (fr . 1))
by A21, A43
.=
(((Product fp) * m1) + ((fp . 1) * (fr1 . 1))) + (fr . 1)
.=
(((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)
by A32, A40, A41
;
verum end; end; end;
hence
(((fp ^ <*d*>) . b) * (fr3 . b)) + (fr2 . b) = (((fp ^ <*d*>) . 1) * (fr3 . 1)) + (fr2 . 1)
;
verum
end; end; hence
S1[
fp ^ <*d*>]
;
verum end; end; end; hence
S1[
fp ^ <*d*>]
;
verum end; hence
S3[
fp ^ <*d*>]
;
verum end;
A48:
S3[ <*> NAT]
for fp being FinSequence of NAT holds S3[fp]
from FINSEQ_2:sch 2(A48, A1);
then
ex f being FinSequence of NAT st
( f = fp & ( len f >= 2 & S2[f] implies S1[f] ) )
;
hence
( len fp >= 2 & ( for b, c being Nat st b in dom fp & c in dom fp & b <> c holds
(fp . b) gcd (fp . c) = 1 ) implies for fr being FinSequence of INT st len fr = len fp holds
ex fr1 being FinSequence of INT st
( len fr1 = len fp & ( for b being Nat st b in dom fp holds
((fp . b) * (fr1 . b)) + (fr . b) = ((fp . 1) * (fr1 . 1)) + (fr . 1) ) ) )
; verum