polynom3.miz
begin
theorem ::
POLYNOM3:1
Th1: for L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr holds for p be
FinSequence of the
carrier of L st for i be
Element of
NAT st i
in (
dom p) holds (p
. i)
= (
0. L) holds (
Sum p)
= (
0. L)
proof
let L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr;
let p be
FinSequence of the
carrier of L;
assume
A1: for k be
Element of
NAT st k
in (
dom p) holds (p
. k)
= (
0. L);
now
let k be
Nat;
assume
A2: k
in (
dom p);
hence (p
/. k)
= (p
. k) by
PARTFUN1:def 6
.= (
0. L) by
A1,
A2;
end;
hence thesis by
MATRLIN: 11;
end;
theorem ::
POLYNOM3:2
Th2: for V be
Abelian
add-associative
right_zeroed non
empty
addLoopStr holds for p be
FinSequence of the
carrier of V holds (
Sum p)
= (
Sum (
Rev p))
proof
let V be
Abelian
add-associative
right_zeroed non
empty
addLoopStr;
defpred
P[
FinSequence of the
carrier of V] means (
Sum $1)
= (
Sum (
Rev $1));
A1: for p be
FinSequence of the
carrier of V holds for x be
Element of V st
P[p] holds
P[(p
^
<*x*>)]
proof
let p be
FinSequence of the
carrier of V;
let x be
Element of V;
assume
A2: (
Sum p)
= (
Sum (
Rev p));
thus (
Sum (p
^
<*x*>))
= ((
Sum p)
+ (
Sum
<*x*>)) by
RLVECT_1: 41
.= (
Sum (
<*x*>
^ (
Rev p))) by
A2,
RLVECT_1: 41
.= (
Sum (
Rev (p
^
<*x*>))) by
FINSEQ_5: 63;
end;
A3:
P[(
<*> the
carrier of V)];
thus for p be
FinSequence of the
carrier of V holds
P[p] from
FINSEQ_2:sch 2(
A3,
A1);
end;
theorem ::
POLYNOM3:3
Th3: for p be
FinSequence of
REAL holds (
Sum p)
= (
Sum (
Rev p))
proof
defpred
P[
FinSequence of
REAL ] means (
Sum $1)
= (
Sum (
Rev $1));
A1: for p be
FinSequence of
REAL holds for x be
Element of
REAL st
P[p] holds
P[(p
^
<*x*>)]
proof
let p be
FinSequence of
REAL ;
let x be
Element of
REAL ;
assume
A2: (
Sum p)
= (
Sum (
Rev p));
thus (
Sum (p
^
<*x*>))
= ((
Sum p)
+ (
Sum
<*x*>)) by
RVSUM_1: 75
.= (
Sum (
<*x*>
^ (
Rev p))) by
A2,
RVSUM_1: 75
.= (
Sum (
Rev (p
^
<*x*>))) by
FINSEQ_5: 63;
end;
A3:
P[(
<*>
REAL )];
thus for p be
FinSequence of
REAL holds
P[p] from
FINSEQ_2:sch 2(
A3,
A1);
end;
theorem ::
POLYNOM3:4
Th4: for p be
FinSequence of
NAT holds for i be
Element of
NAT st i
in (
dom p) holds (
Sum p)
>= (p
. i)
proof
defpred
P[
FinSequence of
NAT ] means for i be
Element of
NAT st i
in (
dom $1) holds (
Sum $1)
>= ($1
. i);
A1: for p be
FinSequence of
NAT holds for x be
Element of
NAT st
P[p] holds
P[(p
^
<*x*>)]
proof
let p be
FinSequence of
NAT qua
set;
let x be
Element of
NAT ;
assume
A2: for i be
Element of
NAT st i
in (
dom p) holds (
Sum p)
>= (p
. i);
let i be
Element of
NAT ;
A3: ((p
. i)
+ x)
>= (p
. i) by
NAT_1: 11;
(
len (p
^
<*x*>))
= ((
len p)
+ 1) by
FINSEQ_2: 16;
then
A4: (
dom (p
^
<*x*>))
= (
Seg ((
len p)
+ 1)) by
FINSEQ_1:def 3
.= ((
Seg (
len p))
\/
{((
len p)
+ 1)}) by
FINSEQ_1: 9
.= ((
dom p)
\/
{((
len p)
+ 1)}) by
FINSEQ_1:def 3;
assume
A5: i
in (
dom (p
^
<*x*>));
per cases by
A5,
A4,
XBOOLE_0:def 3;
suppose
A6: i
in (
dom p);
then (
Sum p)
>= (p
. i) by
A2;
then ((
Sum p)
+ x)
>= ((p
. i)
+ x) by
XREAL_1: 6;
then (
Sum (p
^
<*x*>))
>= ((p
. i)
+ x) by
RVSUM_1: 74;
then (
Sum (p
^
<*x*>))
>= (p
. i) by
A3,
XXREAL_0: 2;
hence thesis by
A6,
FINSEQ_1:def 7;
end;
suppose i
in
{((
len p)
+ 1)};
then i
= ((
len p)
+ 1) by
TARSKI:def 1;
then ((p
^
<*x*>)
. i)
= x by
FINSEQ_1: 42;
then ((
Sum p)
+ x)
>= ((p
^
<*x*>)
. i) by
NAT_1: 11;
hence thesis by
RVSUM_1: 74;
end;
end;
A7:
P[(
<*>
NAT ) qua
FinSequence of
NAT ];
thus for p be
FinSequence of
NAT holds
P[p] from
FINSEQ_2:sch 2(
A7,
A1);
end;
definition
let D be non
empty
set;
let i be
Element of
NAT ;
let p be
FinSequence of D;
:: original:
Del
redefine
func
Del (p,i) ->
FinSequence of D ;
coherence by
FINSEQ_3: 105;
end
definition
let D be non
empty
set;
let a,b be
Element of D;
:: original:
<*
redefine
func
<*a,b*> ->
Element of (2
-tuples_on D) ;
coherence by
FINSEQ_2: 101;
end
definition
let D be non
empty
set;
let k,n be
Element of
NAT ;
let p be
Element of (k
-tuples_on D);
let q be
Element of (n
-tuples_on D);
:: original:
^
redefine
func p
^ q ->
Element of ((k
+ n)
-tuples_on D) ;
coherence
proof
(p
^ q) is
Tuple of (k
+ n), D;
hence thesis by
FINSEQ_2: 131;
end;
end
definition
let D be non
empty
set;
let k,n be
Nat;
let p be
FinSequence of (k
-tuples_on D);
let q be
FinSequence of (n
-tuples_on D);
:: original:
^^
redefine
func p
^^ q ->
Element of (((k
+ n)
-tuples_on D)
* ) ;
coherence
proof
(
rng (p
^^ q))
c= ((k
+ n)
-tuples_on D)
proof
let y be
object;
assume y
in (
rng (p
^^ q));
then
consider x be
object such that
A1: x
in (
dom (p
^^ q)) and
A2: y
= ((p
^^ q)
. x) by
FUNCT_1:def 3;
reconsider x as
set by
TARSKI: 1;
A3: x
in ((
dom p)
/\ (
dom q)) by
A1,
PRE_POLY:def 4;
then
A4: x
in (
dom p) by
XBOOLE_0:def 4;
A5: x
in (
dom q) by
A3,
XBOOLE_0:def 4;
y
= ((p
. x)
^ (q
. x)) by
A1,
A2,
PRE_POLY:def 4
.= ((p
/. x)
^ (q
. x)) by
A4,
PARTFUN1:def 6
.= ((p
/. x)
^ (q
/. x)) by
A5,
PARTFUN1:def 6;
then y is
Tuple of (k
+ n), D;
hence thesis by
FINSEQ_2: 131;
end;
then (p
^^ q) is
FinSequence of ((k
+ n)
-tuples_on D) by
FINSEQ_1:def 4;
hence thesis by
FINSEQ_1:def 11;
end;
end
scheme ::
POLYNOM3:sch1
SeqOfSeqLambdaD { D() -> non
empty
set , A() ->
Element of
NAT , T(
Nat) ->
Element of
NAT , F(
set,
set) ->
Element of D() } :
ex p be
FinSequence of (D()
* ) st (
len p)
= A() & for k be
Element of
NAT st k
in (
Seg A()) holds (
len (p
/. k))
= T(k) & for n be
Element of
NAT st n
in (
dom (p
/. k)) holds ((p
/. k)
. n)
= F(k,n);
defpred
P[
Nat,
FinSequence] means (
len $2)
= T($1) & for n be
Element of
NAT st n
in (
dom $2) holds ($2
. n)
= F($1,n);
A1: for k be
Nat st k
in (
Seg A()) holds ex d be
Element of (D()
* ) st
P[k, d]
proof
let k be
Nat;
assume k
in (
Seg A());
deffunc
G(
Nat) = F(k,$1);
consider d be
FinSequence of D() such that
A2: (
len d)
= T(k) and
A3: for n be
Nat st n
in (
dom d) holds (d
. n)
=
G(n) from
FINSEQ_2:sch 1;
reconsider d as
Element of (D()
* ) by
FINSEQ_1:def 11;
take d;
thus (
len d)
= T(k) by
A2;
let n be
Element of
NAT ;
assume n
in (
dom d);
hence thesis by
A3;
end;
consider p be
FinSequence of (D()
* ) such that
A4: (
dom p)
= (
Seg A()) and
A5: for k be
Nat st k
in (
Seg A()) holds
P[k, (p
/. k)] from
RECDEF_1:sch 17(
A1);
take p;
thus (
len p)
= A() by
A4,
FINSEQ_1:def 3;
let k be
Element of
NAT ;
assume k
in (
Seg A());
hence thesis by
A5;
end;
begin
definition
let n be
Nat;
let p,q be
Element of (n
-tuples_on
NAT );
::
POLYNOM3:def1
pred p
< q means ex i be
Element of
NAT st i
in (
Seg n) & (p
. i)
< (q
. i) & for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k);
asymmetry
proof
let p,q be
Element of (n
-tuples_on
NAT );
given i be
Element of
NAT such that
A1: i
in (
Seg n) and
A2: (p
. i)
< (q
. i) and
A3: for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k);
A4: 1
<= i by
A1,
FINSEQ_1: 1;
given j be
Element of
NAT such that
A5: j
in (
Seg n) and
A6: (q
. j)
< (p
. j) and
A7: for k be
Nat st 1
<= k & k
< j holds (q
. k)
= (p
. k);
A8: 1
<= j by
A5,
FINSEQ_1: 1;
per cases by
XXREAL_0: 1;
suppose i
< j;
hence contradiction by
A2,
A7,
A4;
end;
suppose j
< i;
hence contradiction by
A3,
A6,
A8;
end;
suppose i
= j;
hence contradiction by
A2,
A6;
end;
end;
end
notation
let n be
Element of
NAT ;
let p,q be
Element of (n
-tuples_on
NAT );
synonym q
> p for p
< q;
end
definition
let n be
Element of
NAT ;
let p,q be
Element of (n
-tuples_on
NAT );
::
POLYNOM3:def2
pred p
<= q means p
< q or p
= q;
reflexivity ;
end
notation
let n be
Element of
NAT ;
let p,q be
Element of (n
-tuples_on
NAT );
synonym q
>= p for p
<= q;
end
theorem ::
POLYNOM3:5
Th5: for n be
Element of
NAT holds for p,q,r be
Element of (n
-tuples_on
NAT ) holds (p
< q & q
< r implies p
< r) & (p
< q & q
<= r or p
<= q & q
< r or p
<= q & q
<= r implies p
<= r)
proof
let n be
Element of
NAT ;
let p,q,r be
Element of (n
-tuples_on
NAT );
thus
A1: p
< q & q
< r implies p
< r
proof
assume that
A2: p
< q and
A3: q
< r;
consider i be
Element of
NAT such that
A4: i
in (
Seg n) and
A5: (p
. i)
< (q
. i) and
A6: for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k) by
A2;
consider j be
Element of
NAT such that
A7: j
in (
Seg n) and
A8: (q
. j)
< (r
. j) and
A9: for k be
Nat st 1
<= k & k
< j holds (q
. k)
= (r
. k) by
A3;
reconsider t = (
min (i,j)) as
Element of
NAT ;
take t;
thus t
in (
Seg n) by
A4,
A7,
XXREAL_0: 15;
now
per cases by
XXREAL_0: 1;
suppose
A10: i
< j;
A11: i
>= 1 by
A4,
FINSEQ_1: 1;
t
= i by
A10,
XXREAL_0:def 9;
hence (p
. t)
< (r
. t) by
A5,
A9,
A10,
A11;
end;
suppose
A12: i
> j;
A13: j
>= 1 by
A7,
FINSEQ_1: 1;
t
= j by
A12,
XXREAL_0:def 9;
hence (p
. t)
< (r
. t) by
A6,
A8,
A12,
A13;
end;
suppose i
= j;
hence (p
. t)
< (r
. t) by
A5,
A8,
XXREAL_0: 2;
end;
end;
hence (p
. t)
< (r
. t);
let k be
Nat;
assume that
A14: 1
<= k and
A15: k
< t;
t
<= j by
XXREAL_0: 17;
then
A16: k
< j by
A15,
XXREAL_0: 2;
t
<= i by
XXREAL_0: 17;
then k
< i by
A15,
XXREAL_0: 2;
hence (p
. k)
= (q
. k) by
A6,
A14
.= (r
. k) by
A9,
A14,
A16;
end;
assume
A17: p
< q & q
<= r or p
<= q & q
< r or p
<= q & q
<= r;
per cases by
A17;
suppose
A18: p
< q & q
<= r;
thus thesis by
A1,
A18;
end;
suppose
A19: p
<= q & q
< r;
thus thesis by
A1,
A19;
end;
suppose p
<= q & q
<= r;
hence thesis by
A1;
end;
end;
theorem ::
POLYNOM3:6
Th6: for n be
Nat holds for p,q be
Element of (n
-tuples_on
NAT ) holds p
<> q implies ex i be
Element of
NAT st i
in (
Seg n) & (p
. i)
<> (q
. i) & for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k)
proof
defpred
P[
Nat] means for p,q be
Element of ($1
-tuples_on
NAT ) holds p
<> q implies ex i be
Element of
NAT st i
in (
Seg $1) & (p
. i)
<> (q
. i) & for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k);
A1: for n be
Nat st
P[n] holds
P[(n
+ 1)]
proof
let n be
Nat;
assume
A2: for p,q be
Element of (n
-tuples_on
NAT ) holds p
<> q implies ex i be
Element of
NAT st i
in (
Seg n) & (p
. i)
<> (q
. i) & for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k);
let p,q be
Element of ((n
+ 1)
-tuples_on
NAT );
consider t1 be
Element of (n
-tuples_on
NAT ), d1 be
Element of
NAT such that
A3: p
= (t1
^
<*d1*>) by
FINSEQ_2: 117;
assume
A4: p
<> q;
consider t2 be
Element of (n
-tuples_on
NAT ), d2 be
Element of
NAT such that
A5: q
= (t2
^
<*d2*>) by
FINSEQ_2: 117;
A6: (
len t1)
= n by
CARD_1:def 7;
A7: (
len t2)
= n by
CARD_1:def 7;
per cases ;
suppose t1
<> t2;
then
consider i be
Element of
NAT such that
A8: i
in (
Seg n) and
A9: (t1
. i)
<> (t2
. i) and
A10: for k be
Nat st 1
<= k & k
< i holds (t1
. k)
= (t2
. k) by
A2;
take i;
thus i
in (
Seg (n
+ 1)) by
A8,
FINSEQ_2: 8;
i
in (
dom t1) by
A6,
A8,
FINSEQ_1:def 3;
then
A11: (p
. i)
= (t1
. i) by
A3,
FINSEQ_1:def 7;
i
in (
dom t2) by
A7,
A8,
FINSEQ_1:def 3;
hence (p
. i)
<> (q
. i) by
A5,
A9,
A11,
FINSEQ_1:def 7;
let k be
Nat;
assume that
A12: 1
<= k and
A13: k
< i;
i
<= n by
A8,
FINSEQ_1: 1;
then
A14: k
<= n by
A13,
XXREAL_0: 2;
then
A15: k
in (
dom t1) by
A6,
A12,
FINSEQ_3: 25;
A16: k
in (
dom t2) by
A7,
A12,
A14,
FINSEQ_3: 25;
(t1
. k)
= (t2
. k) by
A10,
A12,
A13;
hence (p
. k)
= (t2
. k) by
A3,
A15,
FINSEQ_1:def 7
.= (q
. k) by
A5,
A16,
FINSEQ_1:def 7;
end;
suppose
A17: t1
= t2;
take i = (n
+ 1);
thus i
in (
Seg (n
+ 1)) by
FINSEQ_1: 4;
(p
. i)
= d1 by
A3,
FINSEQ_2: 116;
hence (p
. i)
<> (q
. i) by
A3,
A5,
A4,
A17,
FINSEQ_2: 116;
let k be
Nat;
assume that
A18: 1
<= k and
A19: k
< i;
A20: k
<= n by
A19,
NAT_1: 13;
then
A21: k
in (
dom t2) by
A7,
A18,
FINSEQ_3: 25;
k
in (
dom t1) by
A6,
A18,
A20,
FINSEQ_3: 25;
hence (p
. k)
= (t2
. k) by
A3,
A17,
FINSEQ_1:def 7
.= (q
. k) by
A5,
A21,
FINSEQ_1:def 7;
end;
end;
A22:
P[
0 ];
thus for n be
Nat holds
P[n] from
NAT_1:sch 2(
A22,
A1);
end;
theorem ::
POLYNOM3:7
Th7: for n be
Element of
NAT holds for p,q be
Element of (n
-tuples_on
NAT ) holds p
<= q or p
> q
proof
let n be
Element of
NAT ;
let p,q be
Element of (n
-tuples_on
NAT );
assume
A1: not p
<= q;
then
consider i be
Element of
NAT such that
A2: i
in (
Seg n) and
A3: (p
. i)
<> (q
. i) and
A4: for k be
Nat st 1
<= k & k
< i holds (p
. k)
= (q
. k) by
Th6;
take i;
thus i
in (
Seg n) by
A2;
not p
< q by
A1;
then (p
. i)
>= (q
. i) by
A2,
A4;
hence (q
. i)
< (p
. i) by
A3,
XXREAL_0: 1;
thus thesis by
A4;
end;
definition
let n be
Element of
NAT ;
::
POLYNOM3:def3
func
TuplesOrder n ->
Order of (n
-tuples_on
NAT ) means
:
Def3: for p,q be
Element of (n
-tuples_on
NAT ) holds
[p, q]
in it iff p
<= q;
existence
proof
defpred
P[
Element of (n
-tuples_on
NAT ),
Element of (n
-tuples_on
NAT )] means $1
<= $2;
consider R be
Relation of (n
-tuples_on
NAT ), (n
-tuples_on
NAT ) such that
A1: for x,y be
Element of (n
-tuples_on
NAT ) holds
[x, y]
in R iff
P[x, y] from
RELSET_1:sch 2;
A2: R
is_transitive_in (n
-tuples_on
NAT )
proof
let x,y,z be
object;
assume that
A3: x
in (n
-tuples_on
NAT ) & y
in (n
-tuples_on
NAT ) & z
in (n
-tuples_on
NAT ) and
A4:
[x, y]
in R &
[y, z]
in R;
reconsider x1 = x, y1 = y, z1 = z as
Element of (n
-tuples_on
NAT ) by
A3;
x1
<= y1 & y1
<= z1 by
A1,
A4;
then x1
<= z1 by
Th5;
hence thesis by
A1;
end;
A5: R
is_reflexive_in (n
-tuples_on
NAT ) by
A1;
then
A6: (
dom R)
= (n
-tuples_on
NAT ) & (
field R)
= (n
-tuples_on
NAT ) by
ORDERS_1: 13;
R
is_antisymmetric_in (n
-tuples_on
NAT )
proof
let x,y be
object;
assume that
A7: x
in (n
-tuples_on
NAT ) & y
in (n
-tuples_on
NAT ) and
A8:
[x, y]
in R and
A9:
[y, x]
in R;
reconsider x1 = x, y1 = y as
Element of (n
-tuples_on
NAT ) by
A7;
x1
<= y1 by
A1,
A8;
then
A10: x1
< y1 or x1
= y1;
y1
<= x1 by
A1,
A9;
hence thesis by
A10;
end;
then
reconsider R as
Order of (n
-tuples_on
NAT ) by
A5,
A2,
A6,
PARTFUN1:def 2,
RELAT_2:def 9,
RELAT_2:def 12,
RELAT_2:def 16;
take R;
thus thesis by
A1;
end;
uniqueness
proof
let T1,T2 be
Order of (n
-tuples_on
NAT ) such that
A11: for p,q be
Element of (n
-tuples_on
NAT ) holds
[p, q]
in T1 iff p
<= q and
A12: for p,q be
Element of (n
-tuples_on
NAT ) holds
[p, q]
in T2 iff p
<= q;
let x,y be
object;
thus
[x, y]
in T1 implies
[x, y]
in T2
proof
assume
A13:
[x, y]
in T1;
then
consider p,q be
object such that
A14:
[x, y]
=
[p, q] and
A15: p
in (n
-tuples_on
NAT ) & q
in (n
-tuples_on
NAT ) by
RELSET_1: 2;
reconsider p, q as
Element of (n
-tuples_on
NAT ) by
A15;
p
<= q by
A11,
A13,
A14;
hence thesis by
A12,
A14;
end;
assume
A16:
[x, y]
in T2;
then
consider p,q be
object such that
A17:
[x, y]
=
[p, q] and
A18: p
in (n
-tuples_on
NAT ) & q
in (n
-tuples_on
NAT ) by
RELSET_1: 2;
reconsider p, q as
Element of (n
-tuples_on
NAT ) by
A18;
p
<= q by
A12,
A16,
A17;
hence thesis by
A11,
A17;
end;
end
registration
let n be
Element of
NAT ;
cluster (
TuplesOrder n) ->
being_linear-order;
coherence
proof
now
let x,y be
object;
assume that
A1: x
in (n
-tuples_on
NAT ) & y
in (n
-tuples_on
NAT ) and x
<> y and
A2: not
[x, y]
in (
TuplesOrder n);
reconsider p = x, q = y as
Element of (n
-tuples_on
NAT ) by
A1;
not p
<= q by
A2,
Def3;
then p
> q by
Th7;
then q
<= p;
hence
[y, x]
in (
TuplesOrder n) by
Def3;
end;
then (
field (
TuplesOrder n))
= (n
-tuples_on
NAT ) & (
TuplesOrder n)
is_connected_in (n
-tuples_on
NAT ) by
ORDERS_1: 15;
then (
TuplesOrder n) is
connected;
hence thesis by
ORDERS_1:def 6;
end;
end
begin
definition
let i be non
zero
Element of
NAT ;
let n be
Element of
NAT ;
::
POLYNOM3:def4
func
Decomp (n,i) ->
FinSequence of (i
-tuples_on
NAT ) means
:
Def4: ex A be
finite
Subset of (i
-tuples_on
NAT ) st it
= (
SgmX ((
TuplesOrder i),A)) & for p be
Element of (i
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n;
existence
proof
reconsider n1 = (n
+ 1) as non
empty
set;
defpred
P[
Element of (i
-tuples_on
NAT )] means (
Sum $1)
= n;
consider A be
Subset of (i
-tuples_on
NAT ) such that
A1: for p be
Element of (i
-tuples_on
NAT ) holds p
in A iff
P[p] from
SUBSET_1:sch 3;
A2: A
c= (i
-tuples_on (n
+ 1))
proof
let x be
object;
assume
A3: x
in A;
then
reconsider p = x as
Element of (i
-tuples_on
NAT );
A4: (
Sum p)
= n by
A1,
A3;
(
rng p)
c= (n
+ 1)
proof
let y be
object;
assume that
A5: y
in (
rng p) and
A6: not y
in (n
+ 1);
(
rng p)
c=
NAT by
FINSEQ_1:def 4;
then
reconsider k = y as
Element of
NAT by
A5;
not y
in { t where t be
Nat : t
< (n
+ 1) } by
A6,
AXIOMS: 4;
then
A7: k
>= (n
+ 1);
ex j be
Nat st j
in (
dom p) & (p
. j)
= k by
A5,
FINSEQ_2: 10;
then (
Sum p)
>= k by
Th4;
hence contradiction by
A4,
A7,
NAT_1: 13;
end;
then (
len p)
= i & p is
FinSequence of (n
+ 1) by
CARD_1:def 7,
FINSEQ_1:def 4;
then p is
Element of (i
-tuples_on n1) by
FINSEQ_2: 92;
hence thesis;
end;
reconsider A as
finite
Subset of (i
-tuples_on
NAT ) by
A2;
take (
SgmX ((
TuplesOrder i),A));
thus thesis by
A1;
end;
uniqueness
proof
let p1,p2 be
FinSequence of (i
-tuples_on
NAT );
given A1 be
finite
Subset of (i
-tuples_on
NAT ) such that
A8: p1
= (
SgmX ((
TuplesOrder i),A1)) and
A9: for p be
Element of (i
-tuples_on
NAT ) holds p
in A1 iff (
Sum p)
= n;
given A2 be
finite
Subset of (i
-tuples_on
NAT ) such that
A10: p2
= (
SgmX ((
TuplesOrder i),A2)) and
A11: for p be
Element of (i
-tuples_on
NAT ) holds p
in A2 iff (
Sum p)
= n;
now
let x be
object;
thus x
in A1 implies x
in A2
proof
assume
A12: x
in A1;
then
reconsider p = x as
Element of (i
-tuples_on
NAT );
(
Sum p)
= n by
A9,
A12;
hence thesis by
A11;
end;
assume
A13: x
in A2;
then
reconsider p = x as
Element of (i
-tuples_on
NAT );
(
Sum p)
= n by
A11,
A13;
hence x
in A1 by
A9;
end;
hence thesis by
A8,
A10,
TARSKI: 2;
end;
end
registration
let i be non
zero
Element of
NAT ;
let n be
Element of
NAT ;
cluster (
Decomp (n,i)) -> non
empty
one-to-one
FinSequence-yielding;
coherence
proof
reconsider p2 = ((i
-' 1)
|->
0 ) as
FinSequence of
NAT ;
i
>= 1 by
NAT_1: 14;
then ((i
-' 1)
+ 1)
= i by
XREAL_1: 235;
then (((i
-' 1)
|->
0 )
^
<*n*>) is
Tuple of i,
NAT ;
then
reconsider p1 = (((i
-' 1)
|->
0 )
^
<*n*>) as
Element of (i
-tuples_on
NAT ) by
FINSEQ_2: 131;
consider A be
finite
Subset of (i
-tuples_on
NAT ) such that
A1: (
Decomp (n,i))
= (
SgmX ((
TuplesOrder i),A)) and
A2: for p be
Element of (i
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
(
Sum p1)
= ((
Sum p2)
+ n) by
RVSUM_1: 74
.= (
0
+ n) by
RVSUM_1: 81;
then
reconsider A as non
empty
finite
Subset of (i
-tuples_on
NAT ) by
A2;
(
SgmX ((
TuplesOrder i),A)) is non
empty
finite;
hence thesis by
A1;
end;
end
theorem ::
POLYNOM3:8
Th8: for n be
Element of
NAT holds (
len (
Decomp (n,1)))
= 1
proof
let n be
Element of
NAT ;
consider A be
finite
Subset of (1
-tuples_on
NAT ) such that
A1: (
Decomp (n,1))
= (
SgmX ((
TuplesOrder 1),A)) and
A2: for p be
Element of (1
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
A3: A
=
{
<*n*>}
proof
thus A
c=
{
<*n*>}
proof
let y be
object;
assume
A4: y
in A;
then
reconsider p = y as
Element of (1
-tuples_on
NAT );
A5: (
Sum p)
= n by
A2,
A4;
consider k be
Element of
NAT such that
A6: p
=
<*k*> by
FINSEQ_2: 97;
(
Sum p)
= k by
A6,
RVSUM_1: 73;
hence thesis by
A5,
A6,
TARSKI:def 1;
end;
let y be
object;
assume y
in
{
<*n*>};
then
A7: y
=
<*n*> by
TARSKI:def 1;
(
Sum
<*n*>)
= n by
RVSUM_1: 73;
hence y
in A by
A2,
A7;
end;
(
field (
TuplesOrder 1))
= (1
-tuples_on
NAT ) by
ORDERS_1: 15;
then (
TuplesOrder 1)
linearly_orders (1
-tuples_on
NAT ) by
ORDERS_1: 37;
hence (
len (
Decomp (n,1)))
= (
card A) by
A1,
ORDERS_1: 38,
PRE_POLY: 11
.= 1 by
A3,
CARD_1: 30;
end;
theorem ::
POLYNOM3:9
Th9: for n be
Element of
NAT holds (
len (
Decomp (n,2)))
= (n
+ 1)
proof
let n be
Element of
NAT ;
deffunc
F(
Nat) =
<*$1, (n
-' $1)*>;
consider q be
FinSequence such that
A1: (
len q)
= n and
A2: for k be
Nat st k
in (
dom q) holds (q
. k)
=
F(k) from
FINSEQ_1:sch 2;
A3: (
dom q)
= (
Seg n) by
A1,
FINSEQ_1:def 3;
set q1 = (q
^
<*
<*
0 , n*>*>);
A4: (
dom q)
= (
Seg n) by
A1,
FINSEQ_1:def 3;
A5: (
len q1)
= (n
+ 1) by
A1,
FINSEQ_2: 16;
then
A6: (
dom q1)
= (
Seg (n
+ 1)) by
FINSEQ_1:def 3;
now
let x1,x2 be
object;
assume that
A7: x1
in (
dom q1) and
A8: x2
in (
dom q1) and
A9: (q1
. x1)
= (q1
. x2);
reconsider k1 = x1, k2 = x2 as
Element of
NAT by
A7,
A8;
x2
in ((
Seg n)
\/
{(n
+ 1)}) by
A6,
A8,
FINSEQ_1: 9;
then
A10: x2
in (
Seg n) or x2
in
{(n
+ 1)} by
XBOOLE_0:def 3;
x1
in ((
Seg n)
\/
{(n
+ 1)}) by
A6,
A7,
FINSEQ_1: 9;
then
A11: x1
in (
Seg n) or x1
in
{(n
+ 1)} by
XBOOLE_0:def 3;
now
per cases by
A11,
A10,
TARSKI:def 1;
suppose
A12: x1
in (
Seg n) & x2
in (
Seg n);
then
A13: (q1
. k1)
= (q
. k1) & (q1
. k2)
= (q
. k2) by
A3,
FINSEQ_1:def 7;
(q
. k1)
=
<*k1, (n
-' k1)*> & (q
. k2)
=
<*k2, (n
-' k2)*> by
A2,
A4,
A12;
hence x1
= x2 by
A9,
A13,
FINSEQ_1: 77;
end;
suppose
A14: x1
in (
Seg n) & x2
= (n
+ 1);
then
A15: (q1
. k2)
=
<*
0 , n*> by
A1,
FINSEQ_1: 42;
(q1
. k1)
= (q
. k1) by
A3,
A14,
FINSEQ_1:def 7
.=
<*k1, (n
-' k1)*> by
A2,
A4,
A14;
then k1
=
0 by
A9,
A15,
FINSEQ_1: 77;
hence x1
= x2 by
A14,
FINSEQ_1: 1;
end;
suppose
A16: x1
= (n
+ 1) & x2
in (
Seg n);
then
A17: (q1
. k1)
=
<*
0 , n*> by
A1,
FINSEQ_1: 42;
(q1
. k2)
= (q
. k2) by
A3,
A16,
FINSEQ_1:def 7
.=
<*k2, (n
-' k2)*> by
A2,
A4,
A16;
then k2
=
0 by
A9,
A17,
FINSEQ_1: 77;
hence x1
= x2 by
A16,
FINSEQ_1: 1;
end;
suppose x1
= (n
+ 1) & x2
= (n
+ 1);
hence x1
= x2;
end;
end;
hence x1
= x2;
end;
then q1 is
one-to-one by
FUNCT_1:def 4;
then
A18: (
card (
rng q1))
= (n
+ 1) by
A5,
FINSEQ_4: 62;
A19: (
rng q)
c= (
rng q1) by
FINSEQ_1: 29;
A20: (
rng q1)
= {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n }
proof
thus (
rng q1)
c= {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n }
proof
let x be
object;
assume x
in (
rng q1);
then
consider j be
Nat such that
A21: j
in (
dom q1) and
A22: (q1
. j)
= x by
FINSEQ_2: 10;
reconsider j as
Element of
NAT by
ORDINAL1:def 12;
j
in ((
Seg n)
\/
{(n
+ 1)}) by
A6,
A21,
FINSEQ_1: 9;
then
A23: j
in (
Seg n) or j
in
{(n
+ 1)} by
XBOOLE_0:def 3;
now
per cases by
A23,
TARSKI:def 1;
suppose
A24: j
in (
Seg n);
then
A25: (q1
. j)
= (q
. j) by
A3,
FINSEQ_1:def 7;
(q
. j)
=
<*j, (n
-' j)*> & j
<= n by
A2,
A4,
A24,
FINSEQ_1: 1;
hence thesis by
A22,
A25;
end;
suppose j
= (n
+ 1);
then (q1
. j)
=
<*
0 , n*> by
A1,
FINSEQ_1: 42
.=
<*
0 , (n
-'
0 )*> by
NAT_D: 40;
hence thesis by
A22;
end;
end;
hence thesis;
end;
let x be
object;
assume x
in {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n };
then
consider i be
Element of
NAT such that
A26: x
=
<*i, (n
-' i)*> and
A27: i
<= n;
A28: i
=
0 or i
>= (
0 qua
Nat
+ 1) by
NAT_1: 13;
now
per cases by
A27,
A28,
FINSEQ_1: 1;
suppose
A29: i
=
0 ;
A30: (n
+ 1)
in (
dom q1) by
A6,
FINSEQ_1: 4;
(q1
. (n
+ 1))
=
<*
0 , n*> by
A1,
FINSEQ_1: 42
.= x by
A26,
A29,
NAT_D: 40;
hence thesis by
A30,
FUNCT_1:def 3;
end;
suppose
A31: i
in (
Seg n);
then (q
. i)
= x by
A2,
A4,
A26;
then x
in (
rng q) by
A3,
A31,
FUNCT_1:def 3;
hence thesis by
A19;
end;
end;
hence thesis;
end;
consider A be
finite
Subset of (2
-tuples_on
NAT ) such that
A32: (
Decomp (n,2))
= (
SgmX ((
TuplesOrder 2),A)) and
A33: for p be
Element of (2
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
A34: A
= {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n }
proof
thus A
c= {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n }
proof
let x be
object;
assume
A35: x
in A;
then
reconsider p = x as
Element of (2
-tuples_on
NAT );
consider d1,d2 be
Element of
NAT such that
A36: p
=
<*d1, d2*> by
FINSEQ_2: 100;
A37: (d1
+ d2)
= (
Sum p) by
A36,
RVSUM_1: 77
.= n by
A33,
A35;
then (n
- d1)
>=
0 ;
then
A38: d2
= (n
-' d1) by
A37,
XREAL_0:def 2;
d1
<= n by
A37,
NAT_1: 11;
hence thesis by
A36,
A38;
end;
let x be
object;
assume x
in {
<*i, (n
-' i)*> where i be
Element of
NAT : i
<= n };
then
consider i be
Element of
NAT such that
A39: x
=
<*i, (n
-' i)*> and
A40: i
<= n;
A41: (n
- i)
>=
0 by
A40,
XREAL_1: 48;
(
Sum
<*i, (n
-' i)*>)
= (i
+ (n
-' i)) by
RVSUM_1: 77
.= (i
+ (n
- i)) by
A41,
XREAL_0:def 2
.= n;
hence thesis by
A33,
A39;
end;
(
field (
TuplesOrder 2))
= (2
-tuples_on
NAT ) by
ORDERS_1: 15;
then (
TuplesOrder 2)
linearly_orders (2
-tuples_on
NAT ) by
ORDERS_1: 37;
hence thesis by
A32,
A34,
A20,
A18,
ORDERS_1: 38,
PRE_POLY: 11;
end;
theorem ::
POLYNOM3:10
for n be
Element of
NAT holds (
Decomp (n,1))
=
<*
<*n*>*>
proof
let n be
Element of
NAT ;
consider A be
finite
Subset of (1
-tuples_on
NAT ) such that
A1: (
Decomp (n,1))
= (
SgmX ((
TuplesOrder 1),A)) and
A2: for p be
Element of (1
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
A3: A
=
{
<*n*>}
proof
thus A
c=
{
<*n*>}
proof
let y be
object;
assume
A4: y
in A;
then
reconsider p = y as
Element of (1
-tuples_on
NAT );
A5: (
Sum p)
= n by
A2,
A4;
consider k be
Element of
NAT such that
A6: p
=
<*k*> by
FINSEQ_2: 97;
(
Sum p)
= k by
A6,
RVSUM_1: 73;
hence thesis by
A5,
A6,
TARSKI:def 1;
end;
let y be
object;
assume y
in
{
<*n*>};
then
A7: y
=
<*n*> by
TARSKI:def 1;
(
Sum
<*n*>)
= n by
RVSUM_1: 73;
hence thesis by
A2,
A7;
end;
(
len (
Decomp (n,1)))
= 1 by
Th8;
then
A8: (
dom (
Decomp (n,1)))
= (
Seg 1) by
FINSEQ_1:def 3
.= (
dom
<*
<*n*>*>) by
FINSEQ_1: 38;
(
field (
TuplesOrder 1))
= (1
-tuples_on
NAT ) by
ORDERS_1: 15;
then (
TuplesOrder 1)
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
then (
rng
<*
<*n*>*>)
=
{
<*n*>} & (
rng (
Decomp (n,1)))
=
{
<*n*>} by
A1,
A3,
FINSEQ_1: 39,
PRE_POLY:def 2;
hence thesis by
A8,
FUNCT_1: 7;
end;
theorem ::
POLYNOM3:11
Th11: for i,j,n,k1,k2 be
Element of
NAT st ((
Decomp (n,2))
. i)
=
<*k1, (n
-' k1)*> & ((
Decomp (n,2))
. j)
=
<*k2, (n
-' k2)*> holds i
< j iff k1
< k2
proof
let i,j,n,k1,k2 be
Element of
NAT ;
assume that
A1: ((
Decomp (n,2))
. i)
=
<*k1, (n
-' k1)*> and
A2: ((
Decomp (n,2))
. j)
=
<*k2, (n
-' k2)*>;
A3: j
in (
dom (
Decomp (n,2))) by
A2,
FUNCT_1:def 2;
then
A4: ((
Decomp (n,2))
. j)
= ((
Decomp (n,2))
/. j) by
PARTFUN1:def 6;
consider A be
finite
Subset of (2
-tuples_on
NAT ) such that
A5: (
Decomp (n,2))
= (
SgmX ((
TuplesOrder 2),A)) and for p be
Element of (2
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
(
field (
TuplesOrder 2))
= (2
-tuples_on
NAT ) by
ORDERS_1: 15;
then
A6: (
TuplesOrder 2)
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
A7: i
in (
dom (
Decomp (n,2))) by
A1,
FUNCT_1:def 2;
then
A8: ((
Decomp (n,2))
. i)
= ((
Decomp (n,2))
/. i) by
PARTFUN1:def 6;
thus i
< j implies k1
< k2
proof
assume
A9: i
< j;
then
[
<*k1, (n
-' k1)*>,
<*k2, (n
-' k2)*>]
in (
TuplesOrder 2) by
A5,
A6,
A1,
A2,
A7,
A3,
A8,
A4,
PRE_POLY:def 2;
then
A10:
<*k1, (n
-' k1)*>
<=
<*k2, (n
-' k2)*> by
Def3;
<*k1, (n
-' k1)*>
<>
<*k2, (n
-' k2)*> by
A5,
A6,
A1,
A2,
A7,
A3,
A8,
A4,
A9,
PRE_POLY:def 2;
then
<*k1, (n
-' k1)*>
<
<*k2, (n
-' k2)*> by
A10;
then
consider t be
Element of
NAT such that
A11: t
in (
Seg 2) and
A12: (
<*k1, (n
-' k1)*>
. t)
< (
<*k2, (n
-' k2)*>
. t) and
A13: for k be
Nat st 1
<= k & k
< t holds (
<*k1, (n
-' k1)*>
. k)
= (
<*k2, (n
-' k2)*>
. k);
per cases by
A11,
FINSEQ_1: 2,
TARSKI:def 2;
suppose
A14: t
= 1;
then (
<*k1, (n
-' k1)*>
. t)
= k1 by
FINSEQ_1: 44;
hence thesis by
A12,
A14,
FINSEQ_1: 44;
end;
suppose t
= 2;
then (
<*k1, (n
-' k1)*>
. 1)
= (
<*k2, (n
-' k2)*>
. 1) by
A13;
then (
<*k1, (n
-' k1)*>
. 1)
= k2 by
FINSEQ_1: 44;
then k1
= k2 by
FINSEQ_1: 44;
hence thesis by
A12;
end;
end;
assume
A15: k1
< k2;
A16: for k be
Nat st 1
<= k & k
< 1 holds (
<*k1, (n
-' k1)*>
. k)
= (
<*k2, (n
-' k2)*>
. k);
A17: (
<*k1, (n
-' k1)*>
. 1)
= k1 by
FINSEQ_1: 44;
1
in (
Seg 2) & (
<*k2, (n
-' k2)*>
. 1)
= k2 by
FINSEQ_1: 1,
FINSEQ_1: 44;
then
A18:
<*k1, (n
-' k1)*>
<
<*k2, (n
-' k2)*> by
A15,
A17,
A16;
assume
A19: i
>= j;
per cases by
A19,
XXREAL_0: 1;
suppose i
= j;
hence contradiction by
A1,
A2,
A15,
A17,
FINSEQ_1: 44;
end;
suppose j
< i;
then
[
<*k2, (n
-' k2)*>,
<*k1, (n
-' k1)*>]
in (
TuplesOrder 2) by
A5,
A6,
A1,
A2,
A7,
A3,
A8,
A4,
PRE_POLY:def 2;
then
A20:
<*k2, (n
-' k2)*>
<=
<*k1, (n
-' k1)*> by
Def3;
thus contradiction by
A18,
A20;
end;
end;
theorem ::
POLYNOM3:12
Th12: for i,n,k1,k2 be
Element of
NAT st ((
Decomp (n,2))
. i)
=
<*k1, (n
-' k1)*> & ((
Decomp (n,2))
. (i
+ 1))
=
<*k2, (n
-' k2)*> holds k2
= (k1
+ 1)
proof
let i,n,k1,k2 be
Element of
NAT ;
assume that
A1: ((
Decomp (n,2))
. i)
=
<*k1, (n
-' k1)*> and
A2: ((
Decomp (n,2))
. (i
+ 1))
=
<*k2, (n
-' k2)*>;
assume
A3: k2
<> (k1
+ 1);
(i
+
0 qua
Nat)
< (i
+ 1) by
XREAL_1: 6;
then
A4: k1
< k2 by
A1,
A2,
Th11;
then (k1
+ 1)
<= k2 by
NAT_1: 13;
then
A5: (k1
+ 1)
< k2 by
A3,
XXREAL_0: 1;
consider A be
finite
Subset of (2
-tuples_on
NAT ) such that
A6: (
Decomp (n,2))
= (
SgmX ((
TuplesOrder 2),A)) and
A7: for p be
Element of (2
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
(
field (
TuplesOrder 2))
= (2
-tuples_on
NAT ) by
ORDERS_1: 15;
then (
TuplesOrder 2)
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
then
A8: (
rng (
Decomp (n,2)))
= A by
A6,
PRE_POLY:def 2;
k1
< n
proof
(
Sum
<*k2, (n
-' k2)*>)
= (k2
+ (n
-' k2)) by
RVSUM_1: 77;
then
A9: (
Sum
<*k2, (n
-' k2)*>)
>= k2 by
NAT_1: 11;
assume k1
>= n;
then k2
> n by
A4,
XXREAL_0: 2;
then not ((
Decomp (n,2))
. (i
+ 1))
in (
rng (
Decomp (n,2))) by
A7,
A8,
A2,
A9;
then not (i
+ 1)
in (
dom (
Decomp (n,2))) by
FUNCT_1:def 3;
hence contradiction by
A2,
FUNCT_1:def 2;
end;
then
A10: (k1
+ 1)
<= n by
NAT_1: 13;
(
Sum
<*(k1
+ 1), (n
-' (k1
+ 1))*>)
= ((k1
+ 1)
+ (n
-' (k1
+ 1))) by
RVSUM_1: 77
.= n by
A10,
XREAL_1: 235;
then
<*(k1
+ 1), (n
-' (k1
+ 1))*>
in (
rng (
Decomp (n,2))) by
A7,
A8;
then
consider k be
Nat such that k
in (
dom (
Decomp (n,2))) and
A11: ((
Decomp (n,2))
. k)
=
<*(k1
+ 1), (n
-' (k1
+ 1))*> by
FINSEQ_2: 10;
reconsider k as
Element of
NAT by
ORDINAL1:def 12;
(k1
+
0 qua
Nat)
< (k1
+ 1) by
XREAL_1: 6;
then i
< k by
A1,
A11,
Th11;
then (i
+ 1)
<= k by
NAT_1: 13;
hence contradiction by
A2,
A5,
A11,
Th11;
end;
theorem ::
POLYNOM3:13
Th13: for n be
Element of
NAT holds ((
Decomp (n,2))
. 1)
=
<*
0 , n*>
proof
let n be
Element of
NAT ;
consider A be
finite
Subset of (2
-tuples_on
NAT ) such that
A1: (
Decomp (n,2))
= (
SgmX ((
TuplesOrder 2),A)) and
A2: for p be
Element of (2
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
A3:
now
let y be
Element of (2
-tuples_on
NAT );
consider d1,d2 be
Element of
NAT such that
A4: y
=
<*d1, d2*> by
FINSEQ_2: 100;
assume y
in A;
then (
Sum
<*d1, d2*>)
= n by
A2,
A4;
then
A5: (d1
+ d2)
= n by
RVSUM_1: 77;
now
per cases ;
suppose d1
=
0 ;
hence
<*
0 , n*>
<=
<*d1, d2*> by
A5;
end;
suppose d1
>
0 ;
then (
<*
0 , n*>
. 1)
< d1 by
FINSEQ_1: 44;
then
A6: (
<*
0 , n*>
. 1)
< (
<*d1, d2*>
. 1) by
FINSEQ_1: 44;
1
in (
Seg 2) & for k be
Nat st 1
<= k & k
< 1 holds (
<*
0 , n*>
. k)
= (
<*d1, d2*>
. k) by
FINSEQ_1: 1;
then
<*
0 , n*>
<
<*d1, d2*> by
A6;
hence
<*
0 , n*>
<=
<*d1, d2*>;
end;
end;
hence
[
<*
0 , n*>, y]
in (
TuplesOrder 2) by
A4,
Def3;
end;
1
<= (n
+ 1) by
NAT_1: 11;
then 1
in (
Seg (n
+ 1)) by
FINSEQ_1: 1;
then 1
in (
Seg (
len (
Decomp (n,2)))) by
Th9;
then
A7: 1
in (
dom (
Decomp (n,2))) by
FINSEQ_1:def 3;
(
field (
TuplesOrder 2))
= (2
-tuples_on
NAT ) by
ORDERS_1: 15;
then
A8: (
TuplesOrder 2)
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
(
Sum
<*
0 , n*>)
= (
0 qua
Nat
+ n) by
RVSUM_1: 77;
then
<*
0 , n*>
in A by
A2;
then ((
SgmX ((
TuplesOrder 2),A))
/. 1)
=
<*
0 , n*> by
A8,
A3,
PRE_POLY: 20;
hence thesis by
A1,
A7,
PARTFUN1:def 6;
end;
theorem ::
POLYNOM3:14
Th14: for n,i be
Element of
NAT st i
in (
Seg (n
+ 1)) holds ((
Decomp (n,2))
. i)
=
<*(i
-' 1), ((n
+ 1)
-' i)*>
proof
let n,i be
Element of
NAT ;
defpred
P[
Nat] means $1
<= (n
+ 1) implies ((
Decomp (n,2))
. $1)
=
<*($1
-' 1), ((n
+ 1)
-' $1)*>;
assume i
in (
Seg (n
+ 1));
then
A1: 1
<= i & i
<= (n
+ 1) by
FINSEQ_1: 1;
consider A be
finite
Subset of (2
-tuples_on
NAT ) such that
A2: (
Decomp (n,2))
= (
SgmX ((
TuplesOrder 2),A)) and
A3: for p be
Element of (2
-tuples_on
NAT ) holds p
in A iff (
Sum p)
= n by
Def4;
A4: for j be non
zero
Nat st
P[j] holds
P[(j
+ 1)]
proof
(
field (
TuplesOrder 2))
= (2
-tuples_on
NAT ) by
ORDERS_1: 15;
then
A5: (
TuplesOrder 2)
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
let j be non
zero
Nat;
assume that
A6: j
<= (n
+ 1) implies ((
Decomp (n,2))
. j)
=
<*(j
-' 1), ((n
+ 1)
-' j)*> and
A7: (j
+ 1)
<= (n
+ 1);
n
>= j by
A7,
XREAL_1: 6;
then
A8: (n
- j)
>=
0 by
XREAL_1: 48;
((n
+ 1)
- (j
+ 1))
>=
0 by
A7,
XREAL_1: 48;
then
A9: ((n
+ 1)
-' (j
+ 1))
= (n
- j) by
XREAL_0:def 2
.= (n
-' j) by
A8,
XREAL_0:def 2;
reconsider jj = j as non
zero
Element of
NAT by
ORDINAL1:def 12;
j
>= 1 by
NAT_1: 14;
then
A10: (j
- 1)
>= (1
- 1) by
XREAL_1: 9;
(j
+ 1)
>= 1 by
NAT_1: 11;
then (j
+ 1)
in (
Seg (n
+ 1)) by
A7,
FINSEQ_1: 1;
then (j
+ 1)
in (
Seg (
len (
Decomp (n,2)))) by
Th9;
then
A11: (j
+ 1)
in (
dom (
Decomp (n,2))) by
FINSEQ_1:def 3;
then ((
Decomp (n,2))
. (j
+ 1))
= ((
Decomp (n,2))
/. (j
+ 1)) by
PARTFUN1:def 6;
then
consider d1,d2 be
Element of
NAT such that
A12: ((
Decomp (n,2))
. (j
+ 1))
=
<*d1, d2*> by
FINSEQ_2: 100;
((
Decomp (n,2))
. (j
+ 1))
in (
rng (
Decomp (n,2))) by
A11,
FUNCT_1:def 3;
then ((
Decomp (n,2))
. (j
+ 1))
in A by
A2,
A5,
PRE_POLY:def 2;
then (
Sum
<*d1, d2*>)
= n by
A3,
A12;
then
A13: (d1
+ d2)
= n by
RVSUM_1: 77;
then (n
- d1)
>=
0 ;
then
A14: d2
= (n
-' d1) by
A13,
XREAL_0:def 2;
j
< (n
+ 1) by
A7,
NAT_1: 13;
then
A15: ((n
+ 1)
- j)
>=
0 by
XREAL_1: 48;
then (n
- (j
- 1))
>=
0 ;
then
A16: (n
- (j
-' 1))
>=
0 by
A10,
XREAL_0:def 2;
((n
+ 1)
-' j)
= (n
- (j
- 1)) by
A15,
XREAL_0:def 2
.= (n
- (j
-' 1)) by
A10,
XREAL_0:def 2
.= (n
-' (j
-' 1)) by
A16,
XREAL_0:def 2;
then d1
= ((jj
-' 1)
+ 1) by
A6,
A7,
A12,
A14,
Th12,
NAT_1: 13
.= j by
NAT_1: 14,
XREAL_1: 235;
hence thesis by
A12,
A14,
A9,
NAT_D: 34;
end;
A17:
P[1]
proof
assume 1
<= (n
+ 1);
thus ((
Decomp (n,2))
. 1)
=
<*
0 , n*> by
Th13
.=
<*(1
-' 1), n*> by
XREAL_1: 232
.=
<*(1
-' 1), ((n
+ 1)
-' 1)*> by
NAT_D: 34;
end;
for j be non
zero
Nat holds
P[j] from
NAT_1:sch 10(
A17,
A4);
hence thesis by
A1;
end;
definition
let L be non
empty
multMagma;
let p,q,r be
sequence of L;
let t be
FinSequence of (3
-tuples_on
NAT );
::
POLYNOM3:def5
func
prodTuples (p,q,r,t) ->
Element of (the
carrier of L
* ) means
:
Def5: (
len it )
= (
len t) & for k be
Element of
NAT st k
in (
dom t) holds (it
. k)
= (((p
. ((t
/. k)
/. 1))
* (q
. ((t
/. k)
/. 2)))
* (r
. ((t
/. k)
/. 3)));
existence
proof
deffunc
F(
Nat) = (((p
. ((t
/. $1)
/. 1))
* (q
. ((t
/. $1)
/. 2)))
* (r
. ((t
/. $1)
/. 3)));
consider p1 be
FinSequence of the
carrier of L such that
A1: (
len p1)
= (
len t) and
A2: for k be
Nat st k
in (
dom p1) holds (p1
. k)
=
F(k) from
FINSEQ_2:sch 1;
A3: (
dom p1)
= (
Seg (
len t)) by
A1,
FINSEQ_1:def 3;
reconsider p1 as
Element of (the
carrier of L
* ) by
FINSEQ_1:def 11;
take p1;
thus (
len p1)
= (
len t) by
A1;
let k be
Element of
NAT ;
assume k
in (
dom t);
then k
in (
Seg (
len t)) by
FINSEQ_1:def 3;
hence thesis by
A2,
A3;
end;
uniqueness
proof
let p1,p2 be
Element of (the
carrier of L
* ) such that
A4: (
len p1)
= (
len t) and
A5: for k be
Element of
NAT st k
in (
dom t) holds (p1
. k)
= (((p
. ((t
/. k)
/. 1))
* (q
. ((t
/. k)
/. 2)))
* (r
. ((t
/. k)
/. 3))) and
A6: (
len p2)
= (
len t) and
A7: for k be
Element of
NAT st k
in (
dom t) holds (p2
. k)
= (((p
. ((t
/. k)
/. 1))
* (q
. ((t
/. k)
/. 2)))
* (r
. ((t
/. k)
/. 3)));
A8: (
dom p1)
= (
Seg (
len t)) by
A4,
FINSEQ_1:def 3;
now
let i be
Nat;
assume i
in (
dom p1);
then
A9: i
in (
dom t) by
A8,
FINSEQ_1:def 3;
hence (p1
. i)
= (((p
. ((t
/. i)
/. 1))
* (q
. ((t
/. i)
/. 2)))
* (r
. ((t
/. i)
/. 3))) by
A5
.= (p2
. i) by
A7,
A9;
end;
hence thesis by
A4,
A6,
FINSEQ_2: 9;
end;
end
theorem ::
POLYNOM3:15
Th15: for L be non
empty
multMagma holds for p,q,r be
sequence of L holds for t be
FinSequence of (3
-tuples_on
NAT ) holds for P be
Permutation of (
dom t) holds for t1 be
FinSequence of (3
-tuples_on
NAT ) st t1
= (t
* P) holds (
prodTuples (p,q,r,t1))
= ((
prodTuples (p,q,r,t))
* P)
proof
let L be non
empty
multMagma;
let p,q,r be
sequence of L;
let t be
FinSequence of (3
-tuples_on
NAT );
let P be
Permutation of (
dom t);
let t1 be
FinSequence of (3
-tuples_on
NAT );
A1: (
rng P)
= (
dom t) by
FUNCT_2:def 3;
assume
A2: t1
= (t
* P);
then
A3: (
dom P)
= (
dom t1) by
A1,
RELAT_1: 27;
A4:
now
let x be
object;
assume
A5: x
in (
dom t1);
then
reconsider i = x as
Element of
NAT ;
A6: ((
prodTuples (p,q,r,t1))
. i)
= (((p
. ((t1
/. i)
/. 1))
* (q
. ((t1
/. i)
/. 2)))
* (r
. ((t1
/. i)
/. 3))) & (((
prodTuples (p,q,r,t))
* P)
. x)
= ((
prodTuples (p,q,r,t))
. (P
. x)) by
A3,
A5,
Def5,
FUNCT_1: 13;
reconsider j = (P
. i) as
Element of
NAT ;
A7: (P
. i)
in (
rng P) by
A3,
A5,
FUNCT_1:def 3;
(t1
/. i)
= (t1
. i) by
A5,
PARTFUN1:def 6
.= (t
. (P
. i)) by
A2,
A5,
FUNCT_1: 12
.= (t
/. j) by
A1,
A7,
PARTFUN1:def 6;
hence ((
prodTuples (p,q,r,t1))
. x)
= (((
prodTuples (p,q,r,t))
* P)
. x) by
A1,
A7,
A6,
Def5;
end;
(
len (
prodTuples (p,q,r,t1)))
= (
len t1) by
Def5;
then
A8: (
dom (
prodTuples (p,q,r,t1)))
= (
Seg (
len t1)) by
FINSEQ_1:def 3;
(
len (
prodTuples (p,q,r,t)))
= (
len t) by
Def5;
then (
rng P)
= (
dom (
prodTuples (p,q,r,t))) by
A1,
FINSEQ_3: 29;
then
A9: (
dom ((
prodTuples (p,q,r,t))
* P))
= (
dom t1) by
A3,
RELAT_1: 27;
(
dom t1)
= (
Seg (
len t1)) by
FINSEQ_1:def 3;
hence thesis by
A8,
A9,
A4,
FUNCT_1: 2;
end;
theorem ::
POLYNOM3:16
Th16: for D be
set, f be
FinSequence of (D
* ), i be
Nat holds (
Card (f
| i))
= ((
Card f)
| i)
proof
let D be
set;
let f be
FinSequence of (D
* );
let i be
Nat;
A1: (f
| i)
= (f
| (
Seg i)) by
FINSEQ_1:def 15;
reconsider k = (
min (i,(
len f))) as
Nat by
TARSKI: 1;
(
dom (
Card (f
| i)))
= (
dom (f
| i)) by
CARD_3:def 2;
then
A2: (
len (
Card (f
| i)))
= (
len (f
| i)) by
FINSEQ_3: 29
.= (
min (i,(
len f))) by
A1,
FINSEQ_2: 21;
then
A3: (
dom (
Card (f
| i)))
= (
Seg k) by
FINSEQ_1:def 3;
A4: (
dom (
Card f))
= (
dom f) by
CARD_3:def 2;
A5: ((
Card f)
| i)
= ((
Card f)
| (
Seg i)) by
FINSEQ_1:def 15;
A6:
now
A7: (
len f)
= (
len (
Card f)) by
A4,
FINSEQ_3: 29;
let j be
Nat;
assume
A8: j
in (
dom (
Card (f
| i)));
per cases ;
suppose
A9: i
<= (
len f);
A10: 1
<= j by
A3,
A8,
FINSEQ_1: 1;
A11: k
= i by
A9,
XXREAL_0:def 9;
then j
<= i by
A3,
A8,
FINSEQ_1: 1;
then j
<= (
len f) by
A9,
XXREAL_0: 2;
then
A12: j
in (
dom f) by
A10,
FINSEQ_3: 25;
(
len ((
Card f)
| i))
= i by
A7,
A9,
FINSEQ_1: 59;
then
A13: (
dom ((
Card f)
| i))
= (
Seg i) by
FINSEQ_1:def 3;
reconsider Cf = (
Card f) as
FinSequence of
NAT qua
set;
A14: (
Seg (
len (f
| i)))
= (
dom (f
| i)) by
FINSEQ_1:def 3;
A15: (
len (f
| i))
= i by
A9,
FINSEQ_1: 59;
hence ((
Card (f
| i))
. j)
= (
card ((f
| i)
. j)) by
A3,
A8,
A11,
A14,
CARD_3:def 2
.= (
card ((f
| i)
/. j)) by
A3,
A8,
A11,
A15,
A14,
PARTFUN1:def 6
.= (
card (f
/. j)) by
A3,
A8,
A11,
A15,
A14,
FINSEQ_4: 70
.= (
card (f
. j)) by
A12,
PARTFUN1:def 6
.= ((
Card f)
. j) by
A12,
CARD_3:def 2
.= (Cf
/. j) by
A4,
A12,
PARTFUN1:def 6
.= ((Cf
| i)
/. j) by
A3,
A8,
A11,
A13,
FINSEQ_4: 70
.= (((
Card f)
| i)
. j) by
A3,
A8,
A11,
A13,
PARTFUN1:def 6;
end;
suppose
A16: i
> (
len f);
then (f
| i)
= f by
A1,
FINSEQ_2: 20;
hence ((
Card (f
| i))
. j)
= (((
Card f)
| i)
. j) by
A5,
A7,
A16,
FINSEQ_2: 20;
end;
end;
(
len ((
Card f)
| i))
= (
min (i,(
len (
Card f)))) by
A5,
FINSEQ_2: 21
.= (
min (i,(
len f))) by
A4,
FINSEQ_3: 29;
hence thesis by
A2,
A6,
FINSEQ_2: 9;
end;
::$Canceled
theorem ::
POLYNOM3:18
Th17: for p be
FinSequence of
NAT holds for i,j be
Nat st i
<= j holds (
Sum (p
| i))
<= (
Sum (p
| j))
proof
let p be
FinSequence of
NAT ;
let i,j be
Nat;
assume
A1: i
<= j;
then
consider k be
Nat such that
A2: j
= (i
+ k) by
NAT_1: 10;
reconsider k as
Element of
NAT by
ORDINAL1:def 12;
per cases ;
suppose
A3: j
<= (
len p);
then
A4: (
len (p
| j))
= (i
+ k) by
A2,
FINSEQ_1: 59;
then
consider q,r be
FinSequence of
NAT such that
A5: (
len q)
= i and (
len r)
= k and
A6: (p
| j)
= (q
^ r) by
FINSEQ_2: 23;
A7: (
len (p
| i))
= i by
A1,
A3,
FINSEQ_1: 59,
XXREAL_0: 2;
then
A8: (
dom (p
| i))
= (
Seg i) by
FINSEQ_1:def 3;
A9:
now
reconsider p1 = p as
FinSequence of
REAL by
FINSEQ_2: 24,
NUMBERS: 19;
let n be
Nat;
assume
A10: n
in (
dom (p
| i));
then
A11: ((p
| i)
/. n)
= (p
/. n) by
FINSEQ_4: 70;
A12: (
Seg i)
= (
dom q) by
A5,
FINSEQ_1:def 3;
A13: (
Seg i)
c= (
Seg j) & (
Seg j)
= (
dom (p
| j)) by
A1,
A2,
A4,
FINSEQ_1: 5,
FINSEQ_1:def 3;
(
Seg i)
= (
dom (p
| i)) by
A7,
FINSEQ_1:def 3;
then
A14: ((p
| j)
/. n)
= (p
/. n) by
A10,
A13,
FINSEQ_4: 70;
thus ((p
| i)
. n)
= ((p
| i)
/. n) by
A10,
PARTFUN1:def 6
.= ((p
| j)
. n) by
A8,
A10,
A13,
A11,
A14,
PARTFUN1:def 6
.= (q
. n) by
A6,
A8,
A10,
A12,
FINSEQ_1:def 7;
end;
A15: ((
Sum q)
+ (
Sum r))
>= ((
Sum q)
+
0 qua
Nat) by
XREAL_1: 6;
(
Sum (p
| j))
= ((
Sum q)
+ (
Sum r)) by
A6,
RVSUM_1: 75;
hence thesis by
A7,
A5,
A9,
A15,
FINSEQ_2: 9;
end;
suppose j
> (
len p);
then
A16: (p
| j)
= p by
FINSEQ_1: 58;
now
per cases ;
suppose i
>= (
len p);
hence thesis by
A16,
FINSEQ_1: 58;
end;
suppose
A17: i
< (
len p);
then
consider t be
Nat such that
A18: (
len p)
= (i
+ t) by
NAT_1: 10;
consider q,r be
FinSequence of
NAT such that
A19: (
len q)
= i and (
len r)
= t and
A20: p
= (q
^ r) by
A18,
FINSEQ_2: 23;
A21: (
len (p
| i))
= i by
A17,
FINSEQ_1: 59;
then
A22: (
dom (p
| i))
= (
Seg i) by
FINSEQ_1:def 3;
A23:
now
A24: (
Seg i)
= (
dom q) by
A19,
FINSEQ_1:def 3;
let n be
Nat;
A25: (
dom (p
| i))
c= (
dom p) by
FINSEQ_5: 18;
assume
A26: n
in (
dom (p
| i));
then
A27: ((p
| i)
/. n)
= (p
/. n) by
FINSEQ_4: 70;
thus ((p
| i)
. n)
= ((p
| i)
/. n) by
A26,
PARTFUN1:def 6
.= (p
. n) by
A26,
A27,
A25,
PARTFUN1:def 6
.= (q
. n) by
A20,
A22,
A26,
A24,
FINSEQ_1:def 7;
end;
A28: ((
Sum q)
+ (
Sum r))
>= ((
Sum q)
+
0 qua
Nat) by
XREAL_1: 6;
(
Sum p)
= ((
Sum q)
+ (
Sum r)) by
A20,
RVSUM_1: 75;
hence thesis by
A16,
A19,
A21,
A23,
A28,
FINSEQ_2: 9;
end;
end;
hence thesis;
end;
end;
::$Canceled
theorem ::
POLYNOM3:20
Th19: for p be
FinSequence of
REAL holds for i be
Element of
NAT st i
< (
len p) holds (
Sum (p
| (i
+ 1)))
= ((
Sum (p
| i))
+ (p
. (i
+ 1)))
proof
let p be
FinSequence of
REAL ;
let i be
Element of
NAT ;
assume i
< (
len p);
then (p
| (i
+ 1))
= ((p
| i)
^
<*(p
. (i
+ 1))*>) by
FINSEQ_5: 83;
hence thesis by
RVSUM_1: 74;
end;
theorem ::
POLYNOM3:21
Th20: for p be
FinSequence of
NAT holds for i,j,k1,k2 be
Element of
NAT st i
< (
len p) & j
< (
len p) & 1
<= k1 & 1
<= k2 & k1
<= (p
. (i
+ 1)) & k2
<= (p
. (j
+ 1)) & ((
Sum (p
| i))
+ k1)
= ((
Sum (p
| j))
+ k2) holds i
= j & k1
= k2
proof
let p be
FinSequence of
NAT ;
let i,j,k1,k2 be
Element of
NAT ;
assume that
A1: i
< (
len p) and
A2: j
< (
len p) and
A3: 1
<= k1 and
A4: 1
<= k2 and
A5: k1
<= (p
. (i
+ 1)) and
A6: k2
<= (p
. (j
+ 1)) and
A7: ((
Sum (p
| i))
+ k1)
= ((
Sum (p
| j))
+ k2) and
A8: i
<> j or k1
<> k2;
A9: i
<> j by
A7,
A8,
XCMPLX_1: 2;
reconsider p1 = p as
FinSequence of
REAL by
FINSEQ_2: 24,
NUMBERS: 19;
A10: ((
Sum (p
| i))
+ (p
. (i
+ 1)))
>= ((
Sum (p
| i))
+ k1) by
A5,
XREAL_1: 6;
A11: ((
Sum (p
| j))
+ (p
. (j
+ 1)))
>= ((
Sum (p
| j))
+ k2) by
A6,
XREAL_1: 6;
per cases ;
suppose i
< j;
then (i
+ 1)
<= j by
NAT_1: 13;
then (
Sum (p
| j))
>= (
Sum (p
| (i
+ 1))) by
Th17;
then (
Sum (p
| j))
>= ((
Sum (p1
| i))
+ (p
. (i
+ 1))) by
A1,
Th19;
then
A12: (
Sum (p
| j))
>= ((
Sum (p
| j))
+ k2) by
A7,
A10,
XXREAL_0: 2;
((
Sum (p
| j))
+ k2)
>= (
Sum (p
| j)) by
NAT_1: 11;
then (
Sum (p
| j))
= ((
Sum (p
| j))
+ k2) by
A12,
XXREAL_0: 1;
then k2
=
0 ;
hence contradiction by
A4;
end;
suppose i
>= j;
then j
< i by
A9,
XXREAL_0: 1;
then (j
+ 1)
<= i by
NAT_1: 13;
then (
Sum (p
| i))
>= (
Sum (p
| (j
+ 1))) by
Th17;
then (
Sum (p
| i))
>= ((
Sum (p1
| j))
+ (p
. (j
+ 1))) by
A2,
Th19;
then
A13: (
Sum (p
| i))
>= ((
Sum (p
| i))
+ k1) by
A7,
A11,
XXREAL_0: 2;
((
Sum (p
| i))
+ k1)
>= (
Sum (p
| i)) by
NAT_1: 11;
then (
Sum (p
| i))
= ((
Sum (p
| i))
+ k1) by
A13,
XXREAL_0: 1;
then k1
=
0 ;
hence contradiction by
A3;
end;
end;
theorem ::
POLYNOM3:22
Th21: for D1,D2 be
set holds for f1 be
FinSequence of (D1
* ) holds for f2 be
FinSequence of (D2
* ) holds for i1,i2,j1,j2 be
Element of
NAT st i1
in (
dom f1) & i2
in (
dom f2) & j1
in (
dom (f1
. i1)) & j2
in (
dom (f2
. i2)) & (
Card f1)
= (
Card f2) & ((
Sum ((
Card f1)
| (i1
-' 1)))
+ j1)
= ((
Sum ((
Card f2)
| (i2
-' 1)))
+ j2) holds i1
= i2 & j1
= j2
proof
let D1,D2 be
set;
let f1 be
FinSequence of (D1
* );
let f2 be
FinSequence of (D2
* );
let i1,i2,j1,j2 be
Element of
NAT ;
assume that
A1: i1
in (
dom f1) and
A2: i2
in (
dom f2) and
A3: j1
in (
dom (f1
. i1)) and
A4: j2
in (
dom (f2
. i2)) and
A5: (
Card f1)
= (
Card f2) & ((
Sum ((
Card f1)
| (i1
-' 1)))
+ j1)
= ((
Sum ((
Card f2)
| (i2
-' 1)))
+ j2);
A6: j1
>= 1 & j2
>= 1 by
A3,
A4,
FINSEQ_3: 25;
A7: 1
<= i1 by
A1,
FINSEQ_3: 25;
then
A8: (i1
- 1)
>=
0 by
XREAL_1: 48;
j1
<= (
len (f1
. i1)) by
A3,
FINSEQ_3: 25;
then j1
<= ((
Card f1)
. i1) by
A1,
CARD_3:def 2;
then
A9: j1
<= ((
Card f1)
. ((i1
-' 1)
+ 1)) by
A7,
XREAL_1: 235;
A10: 1
<= i2 by
A2,
FINSEQ_3: 25;
then
A11: (i2
- 1)
>=
0 by
XREAL_1: 48;
(
dom (
Card f2))
= (
dom f2) by
CARD_3:def 2;
then
A12: (
len (
Card f2))
= (
len f2) by
FINSEQ_3: 29;
(
dom (
Card f1))
= (
dom f1) by
CARD_3:def 2;
then
A13: (
len (
Card f1))
= (
len f1) by
FINSEQ_3: 29;
i1
<= (
len f1) by
A1,
FINSEQ_3: 25;
then i1
< ((
len f1)
+ 1) by
NAT_1: 13;
then (i1
- 1)
< (((
len f1)
+ 1)
- 1) by
XREAL_1: 9;
then
A14: (i1
-' 1)
< (
len (
Card f1)) by
A13,
A8,
XREAL_0:def 2;
j2
<= (
len (f2
. i2)) by
A4,
FINSEQ_3: 25;
then j2
<= ((
Card f2)
. i2) by
A2,
CARD_3:def 2;
then
A15: j2
<= ((
Card f2)
. ((i2
-' 1)
+ 1)) by
A10,
XREAL_1: 235;
i2
<= (
len f2) by
A2,
FINSEQ_3: 25;
then i2
< ((
len f2)
+ 1) by
NAT_1: 13;
then (i2
- 1)
< (((
len f2)
+ 1)
- 1) by
XREAL_1: 9;
then (i2
-' 1)
< (
len (
Card f2)) by
A12,
A11,
XREAL_0:def 2;
then (i1
-' 1)
= (i2
-' 1) by
A5,
A14,
A6,
A9,
A15,
Th20;
then (i1
- 1)
= (i2
-' 1) by
A8,
XREAL_0:def 2;
then (i1
- 1)
= (i2
- 1) by
A11,
XREAL_0:def 2;
hence thesis by
A5,
A14,
A6,
A9,
A15,
Th20;
end;
begin
definition
let L be non
empty
ZeroStr;
mode
Polynomial of L is
AlgSequence of L;
end
theorem ::
POLYNOM3:23
for L be non
empty
ZeroStr holds for p be
Polynomial of L holds for n be
Element of
NAT holds n
>= (
len p) iff n
is_at_least_length_of p by
ALGSEQ_1: 8,
XXREAL_0: 2,
ALGSEQ_1:def 3;
scheme ::
POLYNOM3:sch2
PolynomialLambdaF { R() -> non
empty
addLoopStr , A() ->
Element of
NAT , F(
Element of
NAT ) ->
Element of R() } :
ex p be
Polynomial of R() st (
len p)
<= A() & for n be
Element of
NAT st n
< A() holds (p
. n)
= F(n);
defpred
P[
Element of
NAT ,
Element of R()] means $1
< A() & $2
= F($1) or $1
>= A() & $2
= (
0. R());
A1: for x be
Element of
NAT holds ex y be
Element of R() st
P[x, y]
proof
let x be
Element of
NAT ;
x
< A() implies x
< A() & F(x)
= F(x);
hence thesis;
end;
ex f be
sequence of the
carrier of R() st for x be
Element of
NAT holds
P[x, (f
. x)] from
FUNCT_2:sch 3(
A1);
then
consider f be
sequence of the
carrier of R() such that
A2: for x be
Element of
NAT holds x
< A() & (f
. x)
= F(x) or x
>= A() & (f
. x)
= (
0. R());
ex n be
Nat st for i be
Nat st i
>= n holds (f
. i)
= (
0. R())
proof
take A();
let i be
Nat;
i
in
NAT by
ORDINAL1:def 12;
hence thesis by
A2;
end;
then
reconsider f as
AlgSequence of R() by
ALGSEQ_1:def 1;
take f;
now
let i be
Nat;
i
in
NAT by
ORDINAL1:def 12;
hence i
>= A() implies (f
. i)
= (
0. R()) by
A2;
end;
then A()
is_at_least_length_of f;
hence thesis by
A2,
ALGSEQ_1:def 3;
end;
registration
let L be
right_zeroed non
empty
addLoopStr;
let p,q be
Polynomial of L;
cluster (p
+ q) ->
finite-Support;
coherence
proof
take s = ((
len p)
+ (
len q));
let i be
Nat;
assume
A1: i
>= s;
((
len p)
+ (
len q))
>= (
len p) by
NAT_1: 11;
then
A2: (p
. i)
= (
0. L) by
A1,
ALGSEQ_1: 8,
XXREAL_0: 2;
A3: ((
len p)
+ (
len q))
>= (
len q) by
NAT_1: 11;
thus ((p
+ q)
. i)
= ((p
. i)
+ (q
. i)) by
NORMSP_1:def 2
.= ((
0. L)
+ (
0. L)) by
A1,
A2,
A3,
ALGSEQ_1: 8,
XXREAL_0: 2
.= (
0. L) by
RLVECT_1:def 4;
end;
end
theorem ::
POLYNOM3:24
for L be
right_zeroed non
empty
addLoopStr holds for p,q be
Polynomial of L holds for n be
Element of
NAT holds (n
is_at_least_length_of p & n
is_at_least_length_of q) implies n
is_at_least_length_of (p
+ q)
proof
let L be
right_zeroed non
empty
addLoopStr;
let p,q be
Polynomial of L;
let n be
Element of
NAT ;
assume
A1: n
is_at_least_length_of p & n
is_at_least_length_of q;
let i be
Nat;
assume i
>= n;
then
A2: (p
. i)
= (
0. L) & (q
. i)
= (
0. L) by
A1;
thus ((p
+ q)
. i)
= ((
0. L)
+ (
0. L)) by
A2,
NORMSP_1:def 2
.= (
0. L) by
RLVECT_1:def 4;
end;
definition
let L be
Abelian non
empty
addLoopStr;
let p,q be
sequence of L;
:: original:
+
redefine
func p
+ q;
commutativity
proof
let p,q be
sequence of L;
let n be
Element of
NAT ;
thus ((p
+ q)
. n)
= ((p
. n)
+ (q
. n)) by
NORMSP_1:def 2
.= ((q
+ p)
. n) by
NORMSP_1:def 2;
end;
end
::$Canceled
theorem ::
POLYNOM3:26
Th24: for L be
add-associative non
empty
addLoopStr holds for p,q,r be
sequence of L holds ((p
+ q)
+ r)
= (p
+ (q
+ r))
proof
let L be
add-associative non
empty
addLoopStr;
let p,q,r be
sequence of L;
now
let n be
Element of
NAT ;
thus (((p
+ q)
+ r)
. n)
= (((p
+ q)
. n)
+ (r
. n)) by
NORMSP_1:def 2
.= (((p
. n)
+ (q
. n))
+ (r
. n)) by
NORMSP_1:def 2
.= ((p
. n)
+ ((q
. n)
+ (r
. n))) by
RLVECT_1:def 3
.= ((p
. n)
+ ((q
+ r)
. n)) by
NORMSP_1:def 2
.= ((p
+ (q
+ r))
. n) by
NORMSP_1:def 2;
end;
hence thesis;
end;
registration
let L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr;
let p be
Polynomial of L;
cluster (
- p) ->
finite-Support;
coherence
proof
take s = (
len p);
let i be
Nat;
assume
A1: i
>= s;
thus ((
- p)
. i)
= (
- (p
. i)) by
BHSP_1: 44
.= (
- (
0. L)) by
A1,
ALGSEQ_1: 8
.= (
0. L) by
RLVECT_1: 12;
end;
end
Lm1: for L be non
empty
addLoopStr holds for p,q be
sequence of L holds (p
- q)
= (p
+ (
- q))
proof
let L be non
empty
addLoopStr;
let p,q be
sequence of L;
let n be
Element of
NAT ;
thus ((p
- q)
. n)
= ((p
. n)
- (q
. n)) by
NORMSP_1:def 3
.= ((p
. n)
+ ((
- q)
. n)) by
BHSP_1: 44
.= ((p
+ (
- q))
. n) by
NORMSP_1:def 2;
end;
definition
let L be non
empty
addLoopStr;
let p,q be
sequence of L;
:: original:
-
redefine
::
POLYNOM3:def6
func p
- q equals (p
+ (
- q));
compatibility by
Lm1;
end
registration
let L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr;
let p,q be
Polynomial of L;
cluster (p
- q) ->
finite-Support;
coherence ;
end
theorem ::
POLYNOM3:27
for L be non
empty
addLoopStr holds for p,q be
sequence of L holds for n be
Element of
NAT holds ((p
- q)
. n)
= ((p
. n)
- (q
. n)) by
NORMSP_1:def 3;
definition
let L be non
empty
ZeroStr;
::
POLYNOM3:def7
func
0_. (L) ->
sequence of L equals (
NAT
--> (
0. L));
coherence ;
end
registration
let L be non
empty
ZeroStr;
cluster (
0_. L) ->
finite-Support;
coherence
proof
take
0 ;
let i be
Nat;
assume i
>=
0 ;
i
in
NAT by
ORDINAL1:def 12;
hence thesis by
FUNCOP_1: 7;
end;
end
theorem ::
POLYNOM3:28
Th26: for L be
right_zeroed non
empty
addLoopStr holds for p be
sequence of L holds (p
+ (
0_. L))
= p
proof
let L be
right_zeroed non
empty
addLoopStr;
let p be
sequence of L;
now
let n be
Element of
NAT ;
thus ((p
+ (
0_. L))
. n)
= ((p
. n)
+ ((
0_. L)
. n)) by
NORMSP_1:def 2
.= ((p
. n)
+ (
0. L)) by
FUNCOP_1: 7
.= (p
. n) by
RLVECT_1:def 4;
end;
hence thesis;
end;
theorem ::
POLYNOM3:29
Th27: for L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr holds for p be
sequence of L holds (p
- p)
= (
0_. L)
proof
let L be
add-associative
right_zeroed
right_complementable non
empty
addLoopStr;
let p be
sequence of L;
now
let n be
Element of
NAT ;
thus ((p
- p)
. n)
= ((p
. n)
- (p
. n)) by
NORMSP_1:def 3
.= (
0. L) by
RLVECT_1: 15
.= ((
0_. L)
. n) by
FUNCOP_1: 7;
end;
hence thesis;
end;
definition
let L be non
empty
multLoopStr_0;
::
POLYNOM3:def8
func
1_. (L) ->
sequence of L equals ((
0_. L)
+* (
0 ,(
1. L)));
coherence ;
end
registration
let L be non
empty
multLoopStr_0;
cluster (
1_. L) ->
finite-Support;
coherence
proof
take 1;
let i be
Nat;
A1: i
in
NAT by
ORDINAL1:def 12;
assume i
>= 1;
hence ((
1_. L)
. i)
= ((
0_. L)
. i) by
FUNCT_7: 32
.= (
0. L) by
A1,
FUNCOP_1: 7;
end;
end
theorem ::
POLYNOM3:30
Th28: for L be non
empty
multLoopStr_0 holds ((
1_. L)
.
0 )
= (
1. L) & for n be
Nat st n
<>
0 holds ((
1_. L)
. n)
= (
0. L)
proof
let L be non
empty
multLoopStr_0;
0
in
NAT ;
then
0
in (
dom (
0_. L)) by
FUNCT_2:def 1;
hence ((
1_. L)
.
0 )
= (
1. L) by
FUNCT_7: 31;
let n be
Nat;
A1: n
in
NAT by
ORDINAL1:def 12;
assume n
<>
0 ;
hence ((
1_. L)
. n)
= ((
0_. L)
. n) by
FUNCT_7: 32
.= (
0. L) by
A1,
FUNCOP_1: 7;
end;
definition
let L be non
empty
doubleLoopStr;
let p,q be
sequence of L;
::
POLYNOM3:def9
func p
*' q ->
sequence of L means
:
Def9: for i be
Element of
NAT holds ex r be
FinSequence of the
carrier of L st (
len r)
= (i
+ 1) & (it
. i)
= (
Sum r) & for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k)));
existence
proof
defpred
P[
Element of
NAT ,
Element of L] means ex r be
FinSequence of the
carrier of L st (
len r)
= ($1
+ 1) & $2
= (
Sum r) & for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* (q
. (($1
+ 1)
-' k)));
A1: for i be
Element of
NAT holds ex v be
Element of L st
P[i, v]
proof
let i be
Element of
NAT ;
deffunc
F(
Nat) = ((p
. ($1
-' 1))
* (q
. ((i
+ 1)
-' $1)));
consider r be
FinSequence of the
carrier of L such that
A2: (
len r)
= (i
+ 1) and
A3: for k be
Nat st k
in (
dom r) holds (r
. k)
=
F(k) from
FINSEQ_2:sch 1;
take v = (
Sum r);
take r;
thus (
len r)
= (i
+ 1) by
A2;
thus v
= (
Sum r);
let k be
Element of
NAT ;
assume k
in (
dom r);
hence thesis by
A3;
end;
consider f be
sequence of the
carrier of L such that
A4: for i be
Element of
NAT holds
P[i, (f
. i)] from
FUNCT_2:sch 3(
A1);
take f;
thus thesis by
A4;
end;
uniqueness
proof
let p1,p2 be
sequence of L such that
A5: for i be
Element of
NAT holds ex r be
FinSequence of the
carrier of L st (
len r)
= (i
+ 1) & (p1
. i)
= (
Sum r) & for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) and
A6: for i be
Element of
NAT holds ex r be
FinSequence of the
carrier of L st (
len r)
= (i
+ 1) & (p2
. i)
= (
Sum r) & for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k)));
now
let i be
Element of
NAT ;
consider r1 be
FinSequence of the
carrier of L such that
A7: (
len r1)
= (i
+ 1) and
A8: (p1
. i)
= (
Sum r1) and
A9: for k be
Element of
NAT st k
in (
dom r1) holds (r1
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A5;
consider r2 be
FinSequence of the
carrier of L such that
A10: (
len r2)
= (i
+ 1) and
A11: (p2
. i)
= (
Sum r2) and
A12: for k be
Element of
NAT st k
in (
dom r2) holds (r2
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A6;
A13: (
dom r1)
= (
Seg (
len r2)) by
A7,
A10,
FINSEQ_1:def 3
.= (
dom r2) by
FINSEQ_1:def 3;
now
let k be
Nat;
assume
A14: k
in (
dom r1);
hence (r1
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A9
.= (r2
. k) by
A12,
A13,
A14;
end;
hence (p1
. i)
= (p2
. i) by
A8,
A11,
A13,
FINSEQ_1: 13;
end;
hence p1
= p2;
end;
end
registration
let L be
add-associative
right_zeroed
right_complementable
distributive non
empty
doubleLoopStr;
let p,q be
Polynomial of L;
cluster (p
*' q) ->
finite-Support;
coherence
proof
take s = ((
len p)
+ (
len q));
let i be
Nat;
i
in
NAT by
ORDINAL1:def 12;
then
consider r be
FinSequence of the
carrier of L such that
A1: (
len r)
= (i
+ 1) and
A2: ((p
*' q)
. i)
= (
Sum r) and
A3: for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
Def9;
assume i
>= s;
then (
len p)
<= (i
- (
len q)) by
XREAL_1: 19;
then
A4: (
- (
len p))
>= (
- (i
- (
len q))) by
XREAL_1: 24;
now
let k be
Element of
NAT ;
assume
A5: k
in (
dom r);
then
A6: (r
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A3;
k
<= (i
+ 1) by
A1,
A5,
FINSEQ_3: 25;
then
A7: ((i
+ 1)
- k)
>=
0 by
XREAL_1: 48;
per cases ;
suppose (k
-' 1)
< (
len p);
then (k
- 1)
< (
len p) by
XREAL_0:def 2;
then (
- (k
- 1))
> (
- (
len p)) by
XREAL_1: 24;
then (1
- k)
> ((
len q)
- i) by
A4,
XXREAL_0: 2;
then (i
+ (1
- k))
> (
len q) by
XREAL_1: 19;
then ((i
+ 1)
-' k)
>= (
len q) by
A7,
XREAL_0:def 2;
then (q
. ((i
+ 1)
-' k))
= (
0. L) by
ALGSEQ_1: 8;
hence (r
. k)
= (
0. L) by
A6;
end;
suppose (k
-' 1)
>= (
len p);
then (p
. (k
-' 1))
= (
0. L) by
ALGSEQ_1: 8;
hence (r
. k)
= (
0. L) by
A6;
end;
end;
hence thesis by
A2,
Th1;
end;
end
theorem ::
POLYNOM3:31
Th29: for L be
Abelian
add-associative
right_zeroed
right_complementable
right-distributive non
empty
doubleLoopStr holds for p,q,r be
sequence of L holds (p
*' (q
+ r))
= ((p
*' q)
+ (p
*' r))
proof
let L be
Abelian
add-associative
right_zeroed
right_complementable
right-distributive non
empty
doubleLoopStr;
let p,q,r be
sequence of L;
now
let i be
Element of
NAT ;
consider r1 be
FinSequence of the
carrier of L such that
A1: (
len r1)
= (i
+ 1) and
A2: ((p
*' (q
+ r))
. i)
= (
Sum r1) and
A3: for k be
Element of
NAT st k
in (
dom r1) holds (r1
. k)
= ((p
. (k
-' 1))
* ((q
+ r)
. ((i
+ 1)
-' k))) by
Def9;
A4: (
dom r1)
= (
Seg (i
+ 1)) by
A1,
FINSEQ_1:def 3;
consider r3 be
FinSequence of the
carrier of L such that
A5: (
len r3)
= (i
+ 1) and
A6: ((p
*' r)
. i)
= (
Sum r3) and
A7: for k be
Element of
NAT st k
in (
dom r3) holds (r3
. k)
= ((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
Def9;
consider r2 be
FinSequence of the
carrier of L such that
A8: (
len r2)
= (i
+ 1) and
A9: ((p
*' q)
. i)
= (
Sum r2) and
A10: for k be
Element of
NAT st k
in (
dom r2) holds (r2
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
Def9;
reconsider r29 = r2, r39 = r3 as
Element of ((i
+ 1)
-tuples_on the
carrier of L) by
A8,
A5,
FINSEQ_2: 92;
A11: (
len (r29
+ r39))
= (i
+ 1) by
CARD_1:def 7;
now
let k be
Nat;
assume
A12: k
in (
dom r1);
then
A13: k
in (
dom (r2
+ r3)) by
A11,
A4,
FINSEQ_1:def 3;
k
in (
dom r3) by
A5,
A4,
A12,
FINSEQ_1:def 3;
then
A14: (r3
. k)
= ((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
A7;
k
in (
dom r2) by
A8,
A4,
A12,
FINSEQ_1:def 3;
then
A15: (r2
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A10;
thus (r1
. k)
= ((p
. (k
-' 1))
* ((q
+ r)
. ((i
+ 1)
-' k))) by
A3,
A12
.= ((p
. (k
-' 1))
* ((q
. ((i
+ 1)
-' k))
+ (r
. ((i
+ 1)
-' k)))) by
NORMSP_1:def 2
.= (((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k)))
+ ((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k)))) by
VECTSP_1:def 2
.= ((r2
+ r3)
. k) by
A13,
A15,
A14,
FVSUM_1: 17;
end;
then (
Sum r1)
= (
Sum (r29
+ r39)) by
A1,
A11,
FINSEQ_2: 9
.= ((
Sum r2)
+ (
Sum r3)) by
FVSUM_1: 76;
hence ((p
*' (q
+ r))
. i)
= (((p
*' q)
+ (p
*' r))
. i) by
A2,
A9,
A6,
NORMSP_1:def 2;
end;
hence thesis;
end;
theorem ::
POLYNOM3:32
Th30: for L be
Abelian
add-associative
right_zeroed
right_complementable
left-distributive non
empty
doubleLoopStr holds for p,q,r be
sequence of L holds ((p
+ q)
*' r)
= ((p
*' r)
+ (q
*' r))
proof
let L be
Abelian
add-associative
right_zeroed
right_complementable
left-distributive non
empty
doubleLoopStr;
let p,q,r be
sequence of L;
now
let i be
Element of
NAT ;
consider r1 be
FinSequence of the
carrier of L such that
A1: (
len r1)
= (i
+ 1) and
A2: (((p
+ q)
*' r)
. i)
= (
Sum r1) and
A3: for k be
Element of
NAT st k
in (
dom r1) holds (r1
. k)
= (((p
+ q)
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
Def9;
A4: (
dom r1)
= (
Seg (i
+ 1)) by
A1,
FINSEQ_1:def 3;
consider r3 be
FinSequence of the
carrier of L such that
A5: (
len r3)
= (i
+ 1) and
A6: ((q
*' r)
. i)
= (
Sum r3) and
A7: for k be
Element of
NAT st k
in (
dom r3) holds (r3
. k)
= ((q
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
Def9;
consider r2 be
FinSequence of the
carrier of L such that
A8: (
len r2)
= (i
+ 1) and
A9: ((p
*' r)
. i)
= (
Sum r2) and
A10: for k be
Element of
NAT st k
in (
dom r2) holds (r2
. k)
= ((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
Def9;
reconsider r29 = r2, r39 = r3 as
Element of ((i
+ 1)
-tuples_on the
carrier of L) by
A8,
A5,
FINSEQ_2: 92;
A11: (
len (r29
+ r39))
= (i
+ 1) by
CARD_1:def 7;
now
let k be
Nat;
assume
A12: k
in (
dom r1);
then
A13: k
in (
dom (r2
+ r3)) by
A11,
A4,
FINSEQ_1:def 3;
k
in (
dom r3) by
A5,
A4,
A12,
FINSEQ_1:def 3;
then
A14: (r3
. k)
= ((q
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
A7;
k
in (
dom r2) by
A8,
A4,
A12,
FINSEQ_1:def 3;
then
A15: (r2
. k)
= ((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
A10;
thus (r1
. k)
= (((p
+ q)
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
A3,
A12
.= (((p
. (k
-' 1))
+ (q
. (k
-' 1)))
* (r
. ((i
+ 1)
-' k))) by
NORMSP_1:def 2
.= (((p
. (k
-' 1))
* (r
. ((i
+ 1)
-' k)))
+ ((q
. (k
-' 1))
* (r
. ((i
+ 1)
-' k)))) by
VECTSP_1:def 3
.= ((r2
+ r3)
. k) by
A13,
A15,
A14,
FVSUM_1: 17;
end;
then (
Sum r1)
= (
Sum (r29
+ r39)) by
A1,
A11,
FINSEQ_2: 9
.= ((
Sum r2)
+ (
Sum r3)) by
FVSUM_1: 76;
hence (((p
+ q)
*' r)
. i)
= (((p
*' r)
+ (q
*' r))
. i) by
A2,
A9,
A6,
NORMSP_1:def 2;
end;
hence thesis;
end;
theorem ::
POLYNOM3:33
Th31: for L be
Abelian
add-associative
right_zeroed
right_complementable
well-unital
associative
distributive non
empty
doubleLoopStr holds for p,q,r be
sequence of L holds ((p
*' q)
*' r)
= (p
*' (q
*' r))
proof
let L be
Abelian
add-associative
right_zeroed
right_complementable
well-unital
associative
distributive non
empty
doubleLoopStr;
let p,q,r be
sequence of L;
now
let i be
Element of
NAT ;
deffunc
F(
Nat) = ((
Decomp (($1
-' 1),2))
^^ ($1
|->
<*((i
+ 1)
-' $1)*>) qua
FinSequence of (1
-tuples_on
NAT ));
consider f2 be
FinSequence of (((2
+ 1)
-tuples_on
NAT )
* ) such that
A1: (
len f2)
= (i
+ 1) and
A2: for k be
Nat st k
in (
dom f2) holds (f2
. k)
=
F(k) from
FINSEQ_2:sch 1;
A3: (
dom f2)
= (
Seg (i
+ 1)) by
A1,
FINSEQ_1:def 3;
reconsider f2 as
FinSequence of ((3
-tuples_on
NAT )
* );
deffunc
F(
Nat) = ((((i
+ 2)
-' $1)
|->
<*($1
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' $1),2)));
consider g2 be
FinSequence of (((1
+ 2)
-tuples_on
NAT )
* ) such that
A4: (
len g2)
= (i
+ 1) and
A5: for k be
Nat st k
in (
dom g2) holds (g2
. k)
=
F(k) from
FINSEQ_2:sch 1;
A6: (
dom g2)
= (
Seg (i
+ 1)) by
A4,
FINSEQ_1:def 3;
reconsider g2 as
FinSequence of ((3
-tuples_on
NAT )
* );
consider r2 be
FinSequence of the
carrier of L such that
A7: (
len r2)
= (i
+ 1) and
A8: ((p
*' (q
*' r))
. i)
= (
Sum r2) and
A9: for k be
Element of
NAT st k
in (
dom r2) holds (r2
. k)
= ((p
. (k
-' 1))
* ((q
*' r)
. ((i
+ 1)
-' k))) by
Def9;
A10: (
dom r2)
= (
Seg (i
+ 1)) by
A7,
FINSEQ_1:def 3;
A11: (
dom (
Card f2))
= (
dom f2) by
CARD_3:def 2
.= (
Seg (
len g2)) by
A1,
A4,
FINSEQ_1:def 3
.= (
dom g2) by
FINSEQ_1:def 3
.= (
dom (
Card g2)) by
CARD_3:def 2
.= (
dom (
Rev (
Card g2))) by
FINSEQ_5: 57;
A12:
now
let j be
Nat;
A13: (
dom (j
|->
<*((i
+ 1)
-' j)*>))
= (
Seg j) by
FUNCOP_1: 13;
assume
A14: j
in (
dom (
Card f2));
then
A15: j
in (
Seg (
len (
Rev (
Card g2)))) by
A11,
FINSEQ_1:def 3;
then
A16: j
>= 1 by
FINSEQ_1: 1;
then (j
- 1)
>=
0 by
XREAL_1: 48;
then
A17: ((i
+ 1)
- (j
- 1))
<= (i
+ 1) by
XREAL_1: 43;
A18: (
dom (
Card g2))
= (
dom g2) by
CARD_3:def 2;
then
A19: (
len (
Card g2))
= (
len g2) by
FINSEQ_3: 29;
then
A20: j
in (
Seg (
len g2)) by
A15,
FINSEQ_5:def 3;
then
A21: (f2
. j)
= ((
Decomp ((j
-' 1),2))
^^ (j
|->
<*((i
+ 1)
-' j)*>)) by
A2,
A3,
A4;
(i
+ 1)
>= j by
A4,
A20,
FINSEQ_1: 1;
then
A22: ((i
+ 1)
- j)
>=
0 by
XREAL_1: 48;
then (((i
+ 1)
- j)
+ 1)
= (((i
+ 1)
-' j)
+ 1) by
XREAL_0:def 2;
then
reconsider lj = (((
len (
Card g2))
- j)
+ 1) as
Element of
NAT by
A4,
A18,
FINSEQ_3: 29;
((i
+ 1)
- (((i
+ 1)
- j)
+ 1))
= (
0 qua
Nat
+ (j
- 1));
then
A23: ((i
+ 1)
- (((i
+ 1)
- j)
+ 1))
>=
0 by
A16,
XREAL_1: 48;
then
A24: (((i
+ 1)
-' lj)
+ 1)
= ((
0 qua
Nat
+ (j
- 1))
+ 1) by
A4,
A19,
XREAL_0:def 2
.= j;
(((i
+ 1)
- j)
+ 1)
>= (
0 qua
Nat
+ 1) by
A22,
XREAL_1: 6;
then lj
in (
Seg (i
+ 1)) by
A4,
A19,
A17,
FINSEQ_1: 1;
then
A25: (g2
. lj)
= ((((i
+ 2)
-' lj)
|->
<*(lj
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' lj),2))) by
A5,
A6;
A26: (((i
+ 1)
-' lj)
+ 1)
= (((i
+ 1)
- lj)
+ 1) by
A4,
A19,
A23,
XREAL_0:def 2
.= ((i
+ (1
+ 1))
- lj);
A27: (
dom (((i
+ 2)
-' lj)
|->
<*(lj
-' 1)*>))
= (
Seg ((i
+ 2)
-' lj)) by
FUNCOP_1: 13
.= (
Seg j) by
A24,
A26,
XREAL_0:def 2;
A28: (
dom (
Decomp (((i
+ 1)
-' lj),2)))
= (
Seg (
len (
Decomp (((i
+ 1)
-' lj),2)))) by
FINSEQ_1:def 3
.= (
Seg j) by
A24,
Th9;
(
Seg (
len (g2
. lj)))
= (
dom (g2
. lj)) by
FINSEQ_1:def 3
.= ((
Seg j)
/\ (
Seg j)) by
A25,
A28,
A27,
PRE_POLY:def 4
.= (
Seg j);
then
A29: (
len (g2
. lj))
= j by
FINSEQ_1: 6;
A30: (
dom (
Decomp ((j
-' 1),2)))
= (
Seg (
len (
Decomp ((j
-' 1),2)))) by
FINSEQ_1:def 3
.= (
Seg ((j
-' 1)
+ 1)) by
Th9
.= (
Seg j) by
A16,
XREAL_1: 235;
(
Seg (
len (f2
. j)))
= (
dom (f2
. j)) by
FINSEQ_1:def 3
.= ((
Seg j)
/\ (
Seg j)) by
A21,
A30,
A13,
PRE_POLY:def 4
.= (
Seg j);
then
A31: (
len (f2
. j))
= j by
FINSEQ_1: 6;
(((
len (
Card g2))
- j)
+ 1)
in (
Seg (
len g2)) by
A19,
A20,
FINSEQ_5: 2;
then
A32: (((
len (
Card g2))
- j)
+ 1)
in (
dom g2) by
FINSEQ_1:def 3;
j
in (
dom f2) by
A14,
CARD_3:def 2;
hence ((
Card f2)
. j)
= j by
A31,
CARD_3:def 2
.= ((
Card g2)
. (((
len (
Card g2))
- j)
+ 1)) by
A32,
A29,
CARD_3:def 2
.= ((
Rev (
Card g2))
. j) by
A11,
A14,
FINSEQ_5:def 3;
end;
(
len (
Card f2))
= (
len (
Rev (
Card g2))) by
A11,
FINSEQ_3: 29;
then
A33: (
Card f2)
= (
Rev (
Card g2)) by
A12,
FINSEQ_2: 9;
reconsider w = (
Card g2) as
FinSequence of
NAT ;
A34: (
Seg (
len (
FlattenSeq f2)))
= (
dom (
FlattenSeq f2)) by
FINSEQ_1:def 3;
now
let y be
object;
thus y
in (
rng (
FlattenSeq f2)) implies y
in (
rng (
FlattenSeq g2))
proof
assume y
in (
rng (
FlattenSeq f2));
then
consider x be
Nat such that
A35: x
in (
dom (
FlattenSeq f2)) and
A36: ((
FlattenSeq f2)
. x)
= y by
FINSEQ_2: 10;
consider i1,j1 be
Nat such that
A37: i1
in (
dom f2) and
A38: j1
in (
dom (f2
. i1)) and x
= ((
Sum (
Card (f2
| (i1
-' 1))))
+ j1) and
A39: ((f2
. i1)
. j1)
= ((
FlattenSeq f2)
. x) by
A35,
PRE_POLY: 29;
A40: (f2
. i1)
= ((
Decomp ((i1
-' 1),2))
^^ (i1
|->
<*((i
+ 1)
-' i1)*>)) by
A2,
A37;
then j1
in ((
dom (
Decomp ((i1
-' 1),2)))
/\ (
dom (i1
|->
<*((i
+ 1)
-' i1)*>))) by
A38,
PRE_POLY:def 4;
then j1
in (
dom (i1
|->
<*((i
+ 1)
-' i1)*>)) by
XBOOLE_0:def 4;
then
A41: j1
in (
Seg i1) by
FUNCOP_1: 13;
then
A42: j1
<= i1 by
FINSEQ_1: 1;
then
A43: (i1
- j1)
>=
0 by
XREAL_1: 48;
set j2 = ((i1
-' j1)
+ 1);
set i2 = j1;
A44: (
dom (((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>))
= (
Seg ((i
+ 2)
-' i2)) by
FUNCOP_1: 13;
A45: i1
in (
Seg (i
+ 1)) by
A1,
A37,
FINSEQ_1:def 3;
then
A46: 1
<= i1 by
FINSEQ_1: 1;
then
A47: j1
in (
Seg ((i1
-' 1)
+ 1)) by
A41,
XREAL_1: 235;
A48: i1
<= (i
+ 1) by
A45,
FINSEQ_1: 1;
then
A49: ((i
+ 1)
- i1)
>=
0 by
XREAL_1: 48;
A50: (i
+ 1)
>= j1 by
A48,
A42,
XXREAL_0: 2;
then
A51: ((i
+ 1)
- j1)
>=
0 by
XREAL_1: 48;
then
A52: (((i
+ 1)
-' i2)
+ 1)
= (((i
+ 1)
- i2)
+ 1) by
XREAL_0:def 2
.= ((i
+ (1
+ 1))
- i2);
((i
+ 1)
-' j1)
>= (i1
-' j1) by
A48,
NAT_D: 42;
then (((i
+ 1)
-' j1)
+ 1)
>= ((i1
-' j1)
+ 1) by
XREAL_1: 6;
then ((((i
+ 1)
-' j1)
+ 1)
- ((i1
-' j1)
+ 1))
>=
0 by
XREAL_1: 48;
then
A53: ((((i
+ 1)
-' j1)
+ 1)
-' ((i1
-' j1)
+ 1))
= ((((i
+ 1)
-' j1)
+ 1)
- ((i1
-' j1)
+ 1)) by
XREAL_0:def 2
.= ((((i
+ 1)
-' j1)
+ 1)
- ((i1
- j1)
+ 1)) by
A43,
XREAL_0:def 2
.= ((((i
+ 1)
- j1)
+ 1)
- ((1
- j1)
+ i1)) by
A51,
XREAL_0:def 2
.= ((i
+ 1)
-' i1) by
A49,
XREAL_0:def 2;
1
<= j1 by
A41,
FINSEQ_1: 1;
then
A54: i2
in (
Seg (i
+ 1)) by
A50,
FINSEQ_1: 1;
then
A55: (g2
. i2)
= ((((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' i2),2))) by
A5,
A6;
(i1
-' j1)
<= ((i
+ 1)
-' i2) by
A48,
NAT_D: 42;
then 1
<= ((i1
-' j1)
+ 1) & ((i1
-' j1)
+ 1)
<= (((i
+ 1)
-' i2)
+ 1) by
NAT_1: 11,
XREAL_1: 6;
then
A56: j2
in (
Seg (((i
+ 1)
-' i2)
+ 1)) by
FINSEQ_1: 1;
then
A57: j2
in (
Seg ((i
+ 2)
-' i2)) by
A52,
XREAL_0:def 2;
(
dom (
Decomp (((i
+ 1)
-' i2),2)))
= (
Seg (
len (
Decomp (((i
+ 1)
-' i2),2)))) by
FINSEQ_1:def 3
.= (
Seg (((i
+ 1)
-' i2)
+ 1)) by
Th9
.= (
Seg ((i
+ 2)
-' i2)) by
A52,
XREAL_0:def 2;
then (
dom (g2
. i2))
= ((
Seg ((i
+ 2)
-' i2))
/\ (
Seg ((i
+ 2)
-' i2))) by
A55,
A44,
PRE_POLY:def 4;
then
A58: j2
in (
dom (g2
. i2)) by
A56,
A52,
XREAL_0:def 2;
then
A59: ((g2
. i2)
. j2)
= (((((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>)
. j2)
^ ((
Decomp (((i
+ 1)
-' i2),2))
. j2)) by
A55,
PRE_POLY:def 4
.= (
<*(i2
-' 1)*>
^ ((
Decomp (((i
+ 1)
-' i2),2))
. j2)) by
A57,
FUNCOP_1: 7
.= (
<*(i2
-' 1)*>
^
<*(j2
-' 1), ((((i
+ 1)
-' i2)
+ 1)
-' j2)*>) by
A56,
Th14
.=
<*(j1
-' 1), (((i1
-' j1)
+ 1)
-' 1), ((((i
+ 1)
-' j1)
+ 1)
-' ((i1
-' j1)
+ 1))*> by
FINSEQ_1: 43
.=
<*(j1
-' 1), (i1
-' j1), ((i
+ 1)
-' i1)*> by
A53,
NAT_D: 34;
i2
in (
dom g2) by
A4,
A54,
FINSEQ_1:def 3;
then
A60: ((
Sum (
Card (g2
| (i2
-' 1))))
+ j2)
in (
dom (
FlattenSeq g2)) & ((g2
. i2)
. j2)
= ((
FlattenSeq g2)
. ((
Sum (
Card (g2
| (i2
-' 1))))
+ j2)) by
A58,
PRE_POLY: 30;
y
= (((
Decomp ((i1
-' 1),2))
. j1)
^ ((i1
|->
<*((i
+ 1)
-' i1)*>)
. j1)) by
A36,
A38,
A39,
A40,
PRE_POLY:def 4
.= (((
Decomp ((i1
-' 1),2))
. j1)
^
<*((i
+ 1)
-' i1)*>) by
A41,
FUNCOP_1: 7
.= (
<*(j1
-' 1), (((i1
-' 1)
+ 1)
-' j1)*>
^
<*((i
+ 1)
-' i1)*>) by
A47,
Th14
.= (
<*(j1
-' 1), (i1
-' j1)*>
^
<*((i
+ 1)
-' i1)*>) by
A46,
XREAL_1: 235
.=
<*(j1
-' 1), (i1
-' j1), ((i
+ 1)
-' i1)*> by
FINSEQ_1: 43;
hence thesis by
A59,
A60,
FUNCT_1:def 3;
end;
assume y
in (
rng (
FlattenSeq g2));
then
consider x be
Nat such that
A61: x
in (
dom (
FlattenSeq g2)) and
A62: ((
FlattenSeq g2)
. x)
= y by
FINSEQ_2: 10;
consider i1,j1 be
Nat such that
A63: i1
in (
dom g2) and
A64: j1
in (
dom (g2
. i1)) and x
= ((
Sum (
Card (g2
| (i1
-' 1))))
+ j1) and
A65: ((g2
. i1)
. j1)
= ((
FlattenSeq g2)
. x) by
A61,
PRE_POLY: 29;
A66: (g2
. i1)
= ((((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' i1),2))) by
A5,
A63;
then j1
in ((
dom (((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>))
/\ (
dom (
Decomp (((i
+ 1)
-' i1),2)))) by
A64,
PRE_POLY:def 4;
then j1
in (
dom (((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>)) by
XBOOLE_0:def 4;
then
A67: j1
in (
Seg ((i
+ 2)
-' i1)) by
FUNCOP_1: 13;
then j1
>= 1 by
FINSEQ_1: 1;
then
A68: (j1
- 1)
>=
0 by
XREAL_1: 48;
A69: i1
in (
Seg (i
+ 1)) by
A4,
A63,
FINSEQ_1:def 3;
then i1
<= (i
+ 1) by
FINSEQ_1: 1;
then
A70: ((i
+ 1)
- i1)
>=
0 by
XREAL_1: 48;
then (((i
+ 1)
-' i1)
+ 1)
= (((i
+ 1)
- i1)
+ 1) by
XREAL_0:def 2
.= ((i
+ (1
+ 1))
- i1);
then
A71: j1
in (
Seg (((i
+ 1)
-' i1)
+ 1)) by
A67,
XREAL_0:def 2;
then
A72: j1
<= (((i
+ 1)
-' i1)
+ 1) by
FINSEQ_1: 1;
then
A73: ((((i
+ 1)
-' i1)
+ 1)
- j1)
>=
0 by
XREAL_1: 48;
j1
<= (((i
+ 1)
- i1)
+ 1) by
A70,
A72,
XREAL_0:def 2;
then (j1
- 1)
<= ((i
+ 1)
- i1) by
XREAL_1: 20;
then
A74: ((j1
- 1)
+ i1)
<= (i
+ 1) by
XREAL_1: 19;
then
A75: ((j1
-' 1)
+ i1)
<= (i
+ 1) by
A68,
XREAL_0:def 2;
((i
+ 1)
- ((j1
- 1)
+ i1))
>=
0 by
A74,
XREAL_1: 48;
then ((i
+ 1)
- ((j1
-' 1)
+ i1))
>=
0 by
A68,
XREAL_0:def 2;
then
A76: ((i
+ 1)
-' ((j1
-' 1)
+ i1))
= ((i
+ 1)
- ((j1
-' 1)
+ i1)) by
XREAL_0:def 2
.= ((i
+ 1)
- ((j1
- 1)
+ i1)) by
A68,
XREAL_0:def 2
.= ((((i
+ 1)
- i1)
+ 1)
- j1)
.= ((((i
+ 1)
-' i1)
+ 1)
- j1) by
A70,
XREAL_0:def 2
.= ((((i
+ 1)
-' i1)
+ 1)
-' j1) by
A73,
XREAL_0:def 2;
A77: y
= (((((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>)
. j1)
^ ((
Decomp (((i
+ 1)
-' i1),2))
. j1)) by
A62,
A64,
A65,
A66,
PRE_POLY:def 4
.= (
<*(i1
-' 1)*>
^ ((
Decomp (((i
+ 1)
-' i1),2))
. j1)) by
A67,
FUNCOP_1: 7
.= (
<*(i1
-' 1)*>
^
<*(j1
-' 1), ((((i
+ 1)
-' i1)
+ 1)
-' j1)*>) by
A71,
Th14
.=
<*(i1
-' 1), (j1
-' 1), ((((i
+ 1)
-' i1)
+ 1)
-' j1)*> by
FINSEQ_1: 43;
set j2 = i1;
set i2 = ((j1
-' 1)
+ i1);
A78: ((j1
-' 1)
+ i1)
>= i1 by
NAT_1: 11;
A79: (
dom (i2
|->
<*((i
+ 1)
-' i2)*>))
= (
Seg i2) by
FUNCOP_1: 13;
A80: 1
<= i1 by
A69,
FINSEQ_1: 1;
then
A81: j2
in (
Seg i2) by
A78,
FINSEQ_1: 1;
then
A82: j2
in (
Seg ((i2
-' 1)
+ 1)) by
A80,
A78,
XREAL_1: 235,
XXREAL_0: 2;
((j1
-' 1)
+ i1)
>= 1 by
A80,
A78,
XXREAL_0: 2;
then
A83: i2
in (
Seg (i
+ 1)) by
A75,
FINSEQ_1: 1;
then
A84: (f2
. i2)
= ((
Decomp ((i2
-' 1),2))
^^ (i2
|->
<*((i
+ 1)
-' i2)*>)) by
A2,
A3;
(
dom (
Decomp ((i2
-' 1),2)))
= (
Seg (
len (
Decomp ((i2
-' 1),2)))) by
FINSEQ_1:def 3
.= (
Seg ((i2
-' 1)
+ 1)) by
Th9
.= (
Seg i2) by
A80,
A78,
XREAL_1: 235,
XXREAL_0: 2;
then (
dom (f2
. i2))
= ((
Seg i2)
/\ (
Seg i2)) by
A84,
A79,
PRE_POLY:def 4;
then
A85: j2
in (
dom (f2
. i2)) by
A80,
A78,
FINSEQ_1: 1;
i2
in (
dom f2) by
A1,
A83,
FINSEQ_1:def 3;
then
A86: ((
Sum (
Card (f2
| (i2
-' 1))))
+ j2)
in (
dom (
FlattenSeq f2)) & ((f2
. i2)
. j2)
= ((
FlattenSeq f2)
. ((
Sum (
Card (f2
| (i2
-' 1))))
+ j2)) by
A85,
PRE_POLY: 30;
((f2
. i2)
. j2)
= (((
Decomp ((i2
-' 1),2))
. j2)
^ ((i2
|->
<*((i
+ 1)
-' i2)*>)
. j2)) by
A84,
A85,
PRE_POLY:def 4
.= (((
Decomp ((i2
-' 1),2))
. j2)
^
<*((i
+ 1)
-' i2)*>) by
A81,
FUNCOP_1: 7
.= (
<*(j2
-' 1), (((i2
-' 1)
+ 1)
-' j2)*>
^
<*((i
+ 1)
-' i2)*>) by
A82,
Th14
.=
<*(j2
-' 1), (((i2
-' 1)
+ 1)
-' j2), ((i
+ 1)
-' i2)*> by
FINSEQ_1: 43
.=
<*(i1
-' 1), (((j1
-' 1)
+ i1)
-' i1), ((i
+ 1)
-' ((j1
-' 1)
+ i1))*> by
A80,
A78,
XREAL_1: 235,
XXREAL_0: 2
.=
<*(i1
-' 1), (j1
-' 1), ((((i
+ 1)
-' i1)
+ 1)
-' j1)*> by
A76,
NAT_D: 34;
hence y
in (
rng (
FlattenSeq f2)) by
A77,
A86,
FUNCT_1:def 3;
end;
then
A87: (
rng (
FlattenSeq f2))
= (
rng (
FlattenSeq g2)) by
TARSKI: 2;
now
A88: ((i
+ 1)
+ 1)
>= (i
+ 1) by
NAT_1: 11;
let x,y be
object;
assume that
A89: x
in (
dom (
FlattenSeq g2)) and
A90: y
in (
dom (
FlattenSeq g2)) and
A91: ((
FlattenSeq g2)
. x)
= ((
FlattenSeq g2)
. y);
consider i1,j1 be
Nat such that
A92: i1
in (
dom g2) and
A93: j1
in (
dom (g2
. i1)) and
A94: x
= ((
Sum (
Card (g2
| (i1
-' 1))))
+ j1) and
A95: ((g2
. i1)
. j1)
= ((
FlattenSeq g2)
. x) by
A89,
PRE_POLY: 29;
A96: (g2
. i1)
= ((((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' i1),2))) by
A5,
A92;
i1
in (
Seg (i
+ 1)) by
A4,
A92,
FINSEQ_1:def 3;
then
A97: i1
<= (i
+ 1) by
FINSEQ_1: 1;
then ((i
+ 1)
+ 1)
>= i1 by
A88,
XXREAL_0: 2;
then
A98: ((i
+ 2)
- i1)
>=
0 by
XREAL_1: 48;
((i
+ 1)
- i1)
>=
0 by
A97,
XREAL_1: 48;
then
A99: (((i
+ 1)
-' i1)
+ 1)
= (((i
+ 1)
- i1)
+ 1) by
XREAL_0:def 2
.= ((i
+ 2)
-' i1) by
A98,
XREAL_0:def 2;
A100: (
dom (((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>))
= (
Seg ((i
+ 2)
-' i1)) by
FUNCOP_1: 13;
(
dom (
Decomp (((i
+ 1)
-' i1),2)))
= (
Seg (
len (
Decomp (((i
+ 1)
-' i1),2)))) by
FINSEQ_1:def 3
.= (
Seg ((i
+ 2)
-' i1)) by
A99,
Th9;
then
A101: (
dom (g2
. i1))
= ((
Seg ((i
+ 2)
-' i1))
/\ (
Seg ((i
+ 2)
-' i1))) by
A96,
A100,
PRE_POLY:def 4
.= (
Seg ((i
+ 2)
-' i1));
j1
in (
Seg (
len (g2
. i1))) by
A93,
FINSEQ_1:def 3;
then
A102: j1
>= 1 by
FINSEQ_1: 1;
consider i2,j2 be
Nat such that
A103: i2
in (
dom g2) and
A104: j2
in (
dom (g2
. i2)) and
A105: y
= ((
Sum (
Card (g2
| (i2
-' 1))))
+ j2) and
A106: ((g2
. i2)
. j2)
= ((
FlattenSeq g2)
. y) by
A90,
PRE_POLY: 29;
A107: (g2
. i2)
= ((((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' i2),2))) by
A5,
A103;
i2
in (
Seg (i
+ 1)) by
A4,
A103,
FINSEQ_1:def 3;
then
A108: i2
<= (i
+ 1) by
FINSEQ_1: 1;
then ((i
+ 1)
+ 1)
>= i2 by
A88,
XXREAL_0: 2;
then
A109: ((i
+ 2)
- i2)
>=
0 by
XREAL_1: 48;
((i
+ 1)
- i2)
>=
0 by
A108,
XREAL_1: 48;
then
A110: (((i
+ 1)
-' i2)
+ 1)
= (((i
+ 1)
- i2)
+ 1) by
XREAL_0:def 2
.= ((i
+ 2)
-' i2) by
A109,
XREAL_0:def 2;
A111: (
dom (((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>))
= (
Seg ((i
+ 2)
-' i2)) by
FUNCOP_1: 13;
(
dom (
Decomp (((i
+ 1)
-' i2),2)))
= (
Seg (
len (
Decomp (((i
+ 1)
-' i2),2)))) by
FINSEQ_1:def 3
.= (
Seg ((i
+ 2)
-' i2)) by
A110,
Th9;
then
A112: (
dom (g2
. i2))
= ((
Seg ((i
+ 2)
-' i2))
/\ (
Seg ((i
+ 2)
-' i2))) by
A107,
A111,
PRE_POLY:def 4
.= (
Seg ((i
+ 2)
-' i2));
A113: ((g2
. i2)
. j2)
= (((((i
+ 2)
-' i2)
|->
<*(i2
-' 1)*>)
. j2)
^ ((
Decomp (((i
+ 1)
-' i2),2))
. j2)) by
A104,
A107,
PRE_POLY:def 4
.= (
<*(i2
-' 1)*>
^ ((
Decomp (((i
+ 1)
-' i2),2))
. j2)) by
A104,
A112,
FUNCOP_1: 7
.= (
<*(i2
-' 1)*>
^
<*(j2
-' 1), ((((i
+ 1)
-' i2)
+ 1)
-' j2)*>) by
A104,
A110,
A112,
Th14
.=
<*(i2
-' 1), (j2
-' 1), ((((i
+ 1)
-' i2)
+ 1)
-' j2)*> by
FINSEQ_1: 43;
j2
in (
Seg (
len (g2
. i2))) by
A104,
FINSEQ_1:def 3;
then
A114: j2
>= 1 by
FINSEQ_1: 1;
((g2
. i1)
. j1)
= (((((i
+ 2)
-' i1)
|->
<*(i1
-' 1)*>)
. j1)
^ ((
Decomp (((i
+ 1)
-' i1),2))
. j1)) by
A93,
A96,
PRE_POLY:def 4
.= (
<*(i1
-' 1)*>
^ ((
Decomp (((i
+ 1)
-' i1),2))
. j1)) by
A93,
A101,
FUNCOP_1: 7
.= (
<*(i1
-' 1)*>
^
<*(j1
-' 1), ((((i
+ 1)
-' i1)
+ 1)
-' j1)*>) by
A93,
A99,
A101,
Th14
.=
<*(i1
-' 1), (j1
-' 1), ((((i
+ 1)
-' i1)
+ 1)
-' j1)*> by
FINSEQ_1: 43;
then (i1
-' 1)
= (i2
-' 1) & (j1
-' 1)
= (j2
-' 1) by
A91,
A95,
A106,
A113,
FINSEQ_1: 78;
hence x
= y by
A94,
A105,
A102,
A114,
XREAL_1: 234;
end;
then
A115: (
FlattenSeq g2) is
one-to-one by
FUNCT_1:def 4;
A116: w is
FinSequence of
REAL by
FINSEQ_2: 24,
NUMBERS: 19;
(
len (
FlattenSeq f2))
= (
Sum (
Card f2)) by
PRE_POLY: 27
.= (
Sum w) by
A33,
Th3,
A116
.= (
len (
FlattenSeq g2)) by
PRE_POLY: 27;
then (
FlattenSeq f2) is
one-to-one by
A87,
A115,
FINSEQ_4: 61;
then ((
FlattenSeq f2),(
FlattenSeq g2))
are_fiberwise_equipotent by
A87,
A115,
RFINSEQ: 26;
then
consider P be
Permutation of (
dom (
FlattenSeq g2)) such that
A117: (
FlattenSeq f2)
= ((
FlattenSeq g2)
* P) by
RFINSEQ: 4;
A118: (
dom (
Card g2))
= (
dom g2) by
CARD_3:def 2;
then
A119: (
len (
Card g2))
= (
len g2) by
FINSEQ_3: 29;
consider r1 be
FinSequence of the
carrier of L such that
A120: (
len r1)
= (i
+ 1) and
A121: (((p
*' q)
*' r)
. i)
= (
Sum r1) and
A122: for k be
Element of
NAT st k
in (
dom r1) holds (r1
. k)
= (((p
*' q)
. (k
-' 1))
* (r
. ((i
+ 1)
-' k))) by
Def9;
A123: (
dom r1)
= (
Seg (i
+ 1)) by
A120,
FINSEQ_1:def 3;
deffunc
F(
Nat) = (
prodTuples (p,q,r,(f2
/. $1) qua
Element of ((3
-tuples_on
NAT )
* )));
consider f1 be
FinSequence of (the
carrier of L
* ) such that
A124: (
len f1)
= (
len f2) and
A125: for k be
Nat st k
in (
dom f1) holds (f1
. k)
=
F(k) from
FINSEQ_2:sch 1;
A126: (
dom f1)
= (
Seg (
len f2)) by
A124,
FINSEQ_1:def 3;
A127:
now
let j be
Nat;
A128: (
dom (j
|->
<*((i
+ 1)
-' j)*>))
= (
Seg j) by
FUNCOP_1: 13;
consider r3 be
FinSequence of the
carrier of L such that
A129: (
len r3)
= ((j
-' 1)
+ 1) and
A130: ((p
*' q)
. (j
-' 1))
= (
Sum r3) and
A131: for k be
Element of
NAT st k
in (
dom r3) holds (r3
. k)
= ((p
. (k
-' 1))
* (q
. (((j
-' 1)
+ 1)
-' k))) by
Def9;
assume
A132: j
in (
dom r1);
then
A133: 1
<= j by
A123,
FINSEQ_1: 1;
then
A134: (
len r3)
= j by
A129,
XREAL_1: 235;
(
len (
Decomp ((j
-' 1),2)))
= ((j
-' 1)
+ 1) by
Th9
.= j by
A133,
XREAL_1: 235;
then
A135: (
dom (
Decomp ((j
-' 1),2)))
= (
Seg j) by
FINSEQ_1:def 3;
A136: (
dom r1)
= (
dom f1) by
A120,
A1,
A124,
FINSEQ_3: 29;
then
A137: (f1
/. j)
= (f1
. j) by
A132,
PARTFUN1:def 6
.= (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A1,
A125,
A126,
A123,
A132;
(
dom f1)
= (
dom f2) by
A124,
FINSEQ_3: 29;
then
A138: (f2
/. j)
= (f2
. j) by
A132,
A136,
PARTFUN1:def 6
.= ((
Decomp ((j
-' 1),2))
^^ (j
|->
<*((i
+ 1)
-' j)*>)) by
A2,
A3,
A123,
A132;
then
A139: (
dom (f2
/. j))
= ((
dom (
Decomp ((j
-' 1),2)))
/\ (
dom (j
|->
<*((i
+ 1)
-' j)*>))) by
PRE_POLY:def 4
.= (
Seg j) by
A135,
A128;
A140: (
len (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))))
= (
len (f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )) by
Def5
.= j by
A132,
A139,
FINSEQ_1:def 3;
then
A141: (
dom (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))))
= (
Seg j) by
FINSEQ_1:def 3;
A142: (
dom (r3
* (r
. ((i
+ 1)
-' j))))
= (
dom r3) by
POLYNOM1:def 2;
A143:
now
let k be
Nat;
assume
A144: k
in (
dom (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))));
then
A145: ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
= ((f2
/. j)
. k) by
A139,
A141,
PARTFUN1:def 6
.= (((
Decomp ((j
-' 1),2))
. k)
^ ((j
|->
<*((i
+ 1)
-' j)*>)
. k)) by
A138,
A139,
A141,
A144,
PRE_POLY:def 4
.= (
<*(k
-' 1), (((j
-' 1)
+ 1)
-' k)*>
^ ((j
|->
<*((i
+ 1)
-' j)*>)
. k)) by
A129,
A134,
A141,
A144,
Th14
.= (
<*(k
-' 1), (((j
-' 1)
+ 1)
-' k)*>
^
<*((i
+ 1)
-' j)*>) by
A141,
A144,
FUNCOP_1: 7
.=
<*(k
-' 1), (((j
-' 1)
+ 1)
-' k), ((i
+ 1)
-' j)*> by
FINSEQ_1: 43;
1
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 1
in (
Seg (
len ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A145,
FINSEQ_1: 45;
then 1
in (
dom ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A146: (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 1)
= (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
. 1) by
PARTFUN1:def 6
.= (k
-' 1) by
A145,
FINSEQ_1: 45;
A147: k
in (
dom r3) by
A134,
A141,
A144,
FINSEQ_1:def 3;
then
A148: (r3
/. k)
= (r3
. k) by
PARTFUN1:def 6
.= ((p
. (k
-' 1))
* (q
. (((j
-' 1)
+ 1)
-' k))) by
A131,
A147;
3
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 3
in (
Seg (
len ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A145,
FINSEQ_1: 45;
then 3
in (
dom ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A149: (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 3)
= (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
. 3) by
PARTFUN1:def 6
.= ((i
+ 1)
-' j) by
A145,
FINSEQ_1: 45;
2
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 2
in (
Seg (
len ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A145,
FINSEQ_1: 45;
then 2
in (
dom ((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A150: (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 2)
= (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
. 2) by
PARTFUN1:def 6
.= (((j
-' 1)
+ 1)
-' k) by
A145,
FINSEQ_1: 45;
thus ((
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )))
. k)
= (((p
. (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 1))
* (q
. (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 2)))
* (r
. (((f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 3))) by
A139,
A141,
A144,
Def5
.= ((r3
* (r
. ((i
+ 1)
-' j)))
/. k) by
A147,
A148,
A146,
A150,
A149,
POLYNOM1:def 2
.= ((r3
* (r
. ((i
+ 1)
-' j)))
. k) by
A142,
A147,
PARTFUN1:def 6;
end;
(
len f1)
= (
len (
Sum f1)) by
MATRLIN:def 6;
then
A151: (
dom f1)
= (
dom (
Sum f1)) by
FINSEQ_3: 29;
(
len (r3
* (r
. ((i
+ 1)
-' j))))
= (
len r3) by
A142,
FINSEQ_3: 29;
then
A152: (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )))
= (r3
* (r
. ((i
+ 1)
-' j))) by
A140,
A134,
A143,
FINSEQ_2: 9;
(((p
*' q)
. (j
-' 1))
* (r
. ((i
+ 1)
-' j)))
= (
Sum (r3
* (r
. ((i
+ 1)
-' j)))) by
A130,
POLYNOM1: 13;
hence (r1
. j)
= (
Sum (r3
* (r
. ((i
+ 1)
-' j)))) by
A122,
A132
.= ((
Sum f1)
/. j) by
A132,
A151,
A136,
A137,
A152,
MATRLIN:def 6
.= ((
Sum f1)
. j) by
A132,
A151,
A136,
PARTFUN1:def 6;
end;
deffunc
F(
Nat) = (
prodTuples (p,q,r,(g2
/. $1) qua
Element of ((3
-tuples_on
NAT )
* )));
consider g1 be
FinSequence of (the
carrier of L
* ) such that
A153: (
len g1)
= (
len g2) and
A154: for k be
Nat st k
in (
dom g1) holds (g1
. k)
=
F(k) from
FINSEQ_2:sch 1;
A155: (
dom g1)
= (
Seg (
len g2)) by
A153,
FINSEQ_1:def 3;
A156:
now
let j be
Nat;
A157: (
dom (((i
+ 2)
-' j)
|->
<*(j
-' 1)*>))
= (
Seg ((i
+ 2)
-' j)) by
FUNCOP_1: 13;
consider r3 be
FinSequence of the
carrier of L such that
A158: (
len r3)
= (((i
+ 1)
-' j)
+ 1) and
A159: ((q
*' r)
. ((i
+ 1)
-' j))
= (
Sum r3) and
A160: for k be
Element of
NAT st k
in (
dom r3) holds (r3
. k)
= ((q
. (k
-' 1))
* (r
. ((((i
+ 1)
-' j)
+ 1)
-' k))) by
Def9;
assume
A161: j
in (
dom r2);
then
A162: j
<= (i
+ 1) by
A10,
FINSEQ_1: 1;
((i
+ 1)
+ 1)
>= (i
+ 1) by
NAT_1: 11;
then ((i
+ 1)
+ 1)
>= j by
A162,
XXREAL_0: 2;
then
A163: ((i
+ 2)
- j)
>=
0 by
XREAL_1: 48;
((i
+ 1)
- j)
>=
0 by
A162,
XREAL_1: 48;
then
A164: (((i
+ 1)
-' j)
+ 1)
= (((i
+ 1)
- j)
+ 1) by
XREAL_0:def 2
.= ((i
+ 2)
-' j) by
A163,
XREAL_0:def 2;
then (
len (
Decomp (((i
+ 1)
-' j),2)))
= ((i
+ 2)
-' j) by
Th9;
then
A165: (
dom (
Decomp (((i
+ 1)
-' j),2)))
= (
Seg ((i
+ 2)
-' j)) by
FINSEQ_1:def 3;
A166: (
dom r2)
= (
dom g1) by
A7,
A4,
A153,
FINSEQ_3: 29;
then
A167: (g1
/. j)
= (g1
. j) by
A161,
PARTFUN1:def 6
.= (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A4,
A154,
A155,
A10,
A161;
(
dom g1)
= (
dom g2) by
A153,
FINSEQ_3: 29;
then
A168: (g2
/. j)
= (g2
. j) by
A161,
A166,
PARTFUN1:def 6
.= ((((i
+ 2)
-' j)
|->
<*(j
-' 1)*>)
^^ (
Decomp (((i
+ 1)
-' j),2))) by
A5,
A6,
A10,
A161;
then
A169: (
dom (g2
/. j))
= ((
dom (((i
+ 2)
-' j)
|->
<*(j
-' 1)*>))
/\ (
dom (
Decomp (((i
+ 1)
-' j),2)))) by
PRE_POLY:def 4
.= (
Seg ((i
+ 2)
-' j)) by
A165,
A157;
A170: (
len (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))))
= (
len (g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )) by
Def5
.= ((i
+ 2)
-' j) by
A169,
FINSEQ_1:def 3;
then
A171: (
dom (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))))
= (
Seg ((i
+ 2)
-' j)) by
FINSEQ_1:def 3;
A172: (
dom ((p
. (j
-' 1))
* r3))
= (
dom r3) by
POLYNOM1:def 1;
A173:
now
let k be
Nat;
assume
A174: k
in (
dom (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))));
then
A175: ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
= ((g2
/. j)
. k) by
A169,
A171,
PARTFUN1:def 6
.= (((((i
+ 2)
-' j)
|->
<*(j
-' 1)*>)
. k)
^ ((
Decomp (((i
+ 1)
-' j),2))
. k)) by
A168,
A169,
A171,
A174,
PRE_POLY:def 4
.= (((((i
+ 2)
-' j)
|->
<*(j
-' 1)*>)
. k)
^
<*(k
-' 1), ((((i
+ 1)
-' j)
+ 1)
-' k)*>) by
A164,
A171,
A174,
Th14
.= (
<*(j
-' 1)*>
^
<*(k
-' 1), ((((i
+ 1)
-' j)
+ 1)
-' k)*>) by
A171,
A174,
FUNCOP_1: 7
.=
<*(j
-' 1), (k
-' 1), ((((i
+ 1)
-' j)
+ 1)
-' k)*> by
FINSEQ_1: 43;
1
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 1
in (
Seg (
len ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A175,
FINSEQ_1: 45;
then 1
in (
dom ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A176: (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 1)
= (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
. 1) by
PARTFUN1:def 6
.= (j
-' 1) by
A175,
FINSEQ_1: 45;
A177: k
in (
dom r3) by
A158,
A164,
A171,
A174,
FINSEQ_1:def 3;
then
A178: (r3
/. k)
= (r3
. k) by
PARTFUN1:def 6
.= ((q
. (k
-' 1))
* (r
. ((((i
+ 1)
-' j)
+ 1)
-' k))) by
A160,
A177;
3
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 3
in (
Seg (
len ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A175,
FINSEQ_1: 45;
then 3
in (
dom ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A179: (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 3)
= (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
. 3) by
PARTFUN1:def 6
.= ((((i
+ 1)
-' j)
+ 1)
-' k) by
A175,
FINSEQ_1: 45;
2
in (
Seg 3) by
ENUMSET1:def 1,
FINSEQ_3: 1;
then 2
in (
Seg (
len ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT ))) by
A175,
FINSEQ_1: 45;
then 2
in (
dom ((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)) by
FINSEQ_1:def 3;
then
A180: (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 2)
= (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k)
. 2) by
PARTFUN1:def 6
.= (k
-' 1) by
A175,
FINSEQ_1: 45;
thus ((
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )))
. k)
= (((p
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 1))
* (q
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 2)))
* (r
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 3))) by
A169,
A171,
A174,
Def5
.= ((p
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 1))
* ((q
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 2))
* (r
. (((g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )
/. k) qua
Element of (3
-tuples_on
NAT )
/. 3)))) by
GROUP_1:def 3
.= (((p
. (j
-' 1))
* r3)
/. k) by
A177,
A178,
A176,
A180,
A179,
POLYNOM1:def 1
.= (((p
. (j
-' 1))
* r3)
. k) by
A172,
A177,
PARTFUN1:def 6;
end;
(
len g1)
= (
len (
Sum g1)) by
MATRLIN:def 6;
then
A181: (
dom g1)
= (
dom (
Sum g1)) by
FINSEQ_3: 29;
(
len ((p
. (j
-' 1))
* r3))
= (
len r3) by
A172,
FINSEQ_3: 29;
then
A182: (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* )))
= ((p
. (j
-' 1))
* r3) by
A158,
A164,
A170,
A173,
FINSEQ_2: 9;
((p
. (j
-' 1))
* ((q
*' r)
. ((i
+ 1)
-' j)))
= (
Sum ((p
. (j
-' 1))
* r3)) by
A159,
POLYNOM1: 12;
hence (r2
. j)
= (
Sum ((p
. (j
-' 1))
* r3)) by
A9,
A161
.= ((
Sum g1)
/. j) by
A161,
A181,
A166,
A167,
A182,
MATRLIN:def 6
.= ((
Sum g1)
. j) by
A161,
A181,
A166,
PARTFUN1:def 6;
end;
A183: (
dom (
Card g2))
= (
Seg (i
+ 1)) by
A4,
A118,
FINSEQ_1:def 3;
A184:
now
let j be
Nat;
assume
A185: j
in (
dom (
Card g2));
then
A186: j
in (
dom g1) by
A4,
A153,
A183,
FINSEQ_1:def 3;
(g1
. j)
= (
prodTuples (p,q,r,(g2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A4,
A154,
A155,
A183,
A185;
then
A187: (
len (g1
. j))
= (
len (g2
/. j)) by
Def5
.= (
len (g2
. j)) by
A118,
A185,
PARTFUN1:def 6;
thus ((
Card g2)
. j)
= (
len (g2
. j)) by
A118,
A185,
CARD_3:def 2
.= ((
Card g1)
. j) by
A186,
A187,
CARD_3:def 2;
end;
A188: (
dom (
Card g1))
= (
dom g1) by
CARD_3:def 2;
then (
len (
Card g1))
= (
len g1) by
FINSEQ_3: 29;
then
A189: (
Card g2)
= (
Card g1) by
A153,
A119,
A184,
FINSEQ_2: 9;
then
A190: (
len (
FlattenSeq g2))
= (
len (
FlattenSeq g1)) by
PRE_POLY: 28;
then
A191: (
dom (
FlattenSeq g2))
= (
dom (
FlattenSeq g1)) by
FINSEQ_3: 29;
then
reconsider P as
Permutation of (
dom (
FlattenSeq g1));
A192: (
dom (
FlattenSeq g1))
= (
Seg (
len (
FlattenSeq g1))) by
FINSEQ_1:def 3;
A193:
now
let j be
Nat;
assume
A194: j
in (
dom (
FlattenSeq g1));
then
consider i1,j1 be
Nat such that
A195: i1
in (
dom g1) and
A196: j1
in (
dom (g1
. i1)) and
A197: j
= ((
Sum (
Card (g1
| (i1
-' 1))))
+ j1) and
A198: ((g1
. i1)
. j1)
= ((
FlattenSeq g1)
. j) by
PRE_POLY: 29;
A199: j
in (
dom (
FlattenSeq g2)) by
A190,
A192,
A194,
FINSEQ_1:def 3;
then
consider i2,j2 be
Nat such that
A200: i2
in (
dom g2) & j2
in (
dom (g2
. i2)) and
A201: j
= ((
Sum (
Card (g2
| (i2
-' 1))))
+ j2) and
A202: ((g2
. i2)
. j2)
= ((
FlattenSeq g2)
. j) by
PRE_POLY: 29;
((
Sum ((
Card g1)
| (i1
-' 1)))
+ j1)
= ((
Sum (
Card (g1
| (i1
-' 1))))
+ j1) by
Th16
.= ((
Sum ((
Card g2)
| (i2
-' 1)))
+ j2) by
A197,
A201,
Th16;
then
A203: i1
= i2 & j1
= j2 by
A189,
A195,
A196,
A200,
Th21;
i1
in (
Seg (
len g2)) by
A153,
A195,
FINSEQ_1:def 3;
then
A204: i1
in (
dom g2) by
FINSEQ_1:def 3;
A205: (g1
. i1)
= (
prodTuples (p,q,r,(g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A154,
A195;
then (
len (g1
. i1))
= (
len (g2
/. i1)) by
Def5
.= (
len (g2
. i1)) by
A188,
A118,
A189,
A195,
PARTFUN1:def 6;
then j1
in (
Seg (
len (g2
. i1))) by
A196,
FINSEQ_1:def 3;
then
A206: j1
in (
Seg (
len (g2
/. i1))) by
A204,
PARTFUN1:def 6;
then j1
in (
dom (g2
/. i1)) by
FINSEQ_1:def 3;
then
A207: ((g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1)
= ((g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
. j1) by
PARTFUN1:def 6
.= ((g2
. i1)
. j1) by
A204,
PARTFUN1:def 6
.= ((
FlattenSeq g2)
/. j) by
A199,
A202,
A203,
PARTFUN1:def 6;
(
Seg (
len (g2
/. i1)))
= (
dom (g2
/. i1)) by
FINSEQ_1:def 3;
hence ((
FlattenSeq g1)
. j)
= (((p
. (((g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 1))
* (q
. (((g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 2)))
* (r
. (((g2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 3))) by
A198,
A205,
A206,
Def5
.= ((
prodTuples (p,q,r,(
FlattenSeq g2)))
. j) by
A191,
A194,
A207,
Def5;
end;
A208: (
dom (
Card f2))
= (
dom f2) by
CARD_3:def 2;
then
A209: (
len (
Card f2))
= (
len f2) by
FINSEQ_3: 29;
A210: (
dom (
Card f2))
= (
Seg (i
+ 1)) by
A1,
A208,
FINSEQ_1:def 3;
A211:
now
let j be
Nat;
assume
A212: j
in (
dom (
Card f2));
then
A213: j
in (
dom f1) by
A1,
A124,
A210,
FINSEQ_1:def 3;
(f1
. j)
= (
prodTuples (p,q,r,(f2
/. j) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A1,
A125,
A126,
A210,
A212;
then
A214: (
len (f1
. j))
= (
len (f2
/. j)) by
Def5
.= (
len (f2
. j)) by
A208,
A212,
PARTFUN1:def 6;
thus ((
Card f2)
. j)
= (
len (f2
. j)) by
A208,
A212,
CARD_3:def 2
.= ((
Card f1)
. j) by
A213,
A214,
CARD_3:def 2;
end;
A215: (
dom (
Card f1))
= (
dom f1) by
CARD_3:def 2;
then (
len (
Card f1))
= (
len f1) by
FINSEQ_3: 29;
then
A216: (
Card f2)
= (
Card f1) by
A124,
A209,
A211,
FINSEQ_2: 9;
then
A217: (
len (
FlattenSeq f1))
= (
len (
FlattenSeq f2)) by
PRE_POLY: 28;
A218: (
Seg (
len (
FlattenSeq f1)))
= (
dom (
FlattenSeq f1)) by
FINSEQ_1:def 3;
A219:
now
let j be
Nat;
assume
A220: j
in (
dom (
FlattenSeq f1));
then
consider i1,j1 be
Nat such that
A221: i1
in (
dom f1) and
A222: j1
in (
dom (f1
. i1)) and
A223: j
= ((
Sum (
Card (f1
| (i1
-' 1))))
+ j1) and
A224: ((f1
. i1)
. j1)
= ((
FlattenSeq f1)
. j) by
PRE_POLY: 29;
A225: j
in (
dom (
FlattenSeq f2)) by
A217,
A34,
A220,
FINSEQ_1:def 3;
then
consider i2,j2 be
Nat such that
A226: i2
in (
dom f2) & j2
in (
dom (f2
. i2)) and
A227: j
= ((
Sum (
Card (f2
| (i2
-' 1))))
+ j2) and
A228: ((f2
. i2)
. j2)
= ((
FlattenSeq f2)
. j) by
PRE_POLY: 29;
((
Sum ((
Card f1)
| (i1
-' 1)))
+ j1)
= ((
Sum (
Card (f1
| (i1
-' 1))))
+ j1) by
Th16
.= ((
Sum ((
Card f2)
| (i2
-' 1)))
+ j2) by
A223,
A227,
Th16;
then
A229: i1
= i2 & j1
= j2 by
A216,
A221,
A222,
A226,
Th21;
i1
in (
Seg (
len f2)) by
A124,
A221,
FINSEQ_1:def 3;
then
A230: i1
in (
dom f2) by
FINSEQ_1:def 3;
A231: (f1
. i1)
= (
prodTuples (p,q,r,(f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* ))) by
A125,
A221;
then (
len (f1
. i1))
= (
len (f2
/. i1)) by
Def5
.= (
len (f2
. i1)) by
A215,
A208,
A216,
A221,
PARTFUN1:def 6;
then j1
in (
Seg (
len (f2
. i1))) by
A222,
FINSEQ_1:def 3;
then
A232: j1
in (
Seg (
len (f2
/. i1))) by
A230,
PARTFUN1:def 6;
then j1
in (
dom (f2
/. i1)) by
FINSEQ_1:def 3;
then
A233: ((f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1)
= ((f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
. j1) by
PARTFUN1:def 6
.= ((f2
. i1)
. j1) by
A230,
PARTFUN1:def 6
.= ((
FlattenSeq f2)
/. j) by
A225,
A228,
A229,
PARTFUN1:def 6;
(
Seg (
len (f2
/. i1)))
= (
dom (f2
/. i1)) by
FINSEQ_1:def 3;
hence ((
FlattenSeq f1)
. j)
= (((p
. (((f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 1))
* (q
. (((f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 2)))
* (r
. (((f2
/. i1) qua
Element of ((3
-tuples_on
NAT )
* )
/. j1) qua
Element of (3
-tuples_on
NAT )
/. 3))) by
A224,
A231,
A232,
Def5
.= (((p
. (((
FlattenSeq f2)
/. j)
/. 1))
* (q
. (((
FlattenSeq f2)
/. j)
/. 2)))
* (r
. (((
FlattenSeq f2)
/. j)
/. 3))) by
A233
.= ((
prodTuples (p,q,r,(
FlattenSeq f2)))
. j) by
A217,
A34,
A218,
A220,
Def5;
end;
(
len (
Sum g1))
= (i
+ 1) by
A4,
A153,
MATRLIN:def 6;
then r2
= (
Sum g1) by
A7,
A156,
FINSEQ_2: 9;
then
A234: (
Sum r2)
= (
Sum (
FlattenSeq g1)) by
POLYNOM1: 14;
(
len (
FlattenSeq g1))
= (
len (
prodTuples (p,q,r,(
FlattenSeq g2)))) by
A190,
Def5;
then
A235: (
FlattenSeq g1)
= (
prodTuples (p,q,r,(
FlattenSeq g2))) by
A193,
FINSEQ_2: 9;
(
len (
FlattenSeq f1))
= (
len (
prodTuples (p,q,r,(
FlattenSeq f2)))) by
A217,
Def5;
then (
FlattenSeq f1)
= (
prodTuples (p,q,r,(
FlattenSeq f2))) by
A219,
FINSEQ_2: 9;
then
A236: (
FlattenSeq f1)
= ((
FlattenSeq g1)
* P) by
A235,
A117,
Th15;
(
len (
Sum f1))
= (i
+ 1) by
A1,
A124,
MATRLIN:def 6;
then r1
= (
Sum f1) by
A120,
A127,
FINSEQ_2: 9;
then (
Sum r1)
= (
Sum (
FlattenSeq f1)) by
POLYNOM1: 14;
hence (((p
*' q)
*' r)
. i)
= ((p
*' (q
*' r))
. i) by
A121,
A8,
A234,
A236,
RLVECT_2: 7;
end;
hence thesis;
end;
definition
let L be
Abelian
add-associative
right_zeroed
commutative non
empty
doubleLoopStr;
let p,q be
sequence of L;
:: original:
*'
redefine
func p
*' q;
commutativity
proof
let p,q be
sequence of L;
now
let i be
Element of
NAT ;
consider r1 be
FinSequence of the
carrier of L such that
A1: (
len r1)
= (i
+ 1) and
A2: ((p
*' q)
. i)
= (
Sum r1) and
A3: for k be
Element of
NAT st k
in (
dom r1) holds (r1
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
Def9;
consider r2 be
FinSequence of the
carrier of L such that
A4: (
len r2)
= (i
+ 1) and
A5: ((q
*' p)
. i)
= (
Sum r2) and
A6: for k be
Element of
NAT st k
in (
dom r2) holds (r2
. k)
= ((q
. (k
-' 1))
* (p
. ((i
+ 1)
-' k))) by
Def9;
now
let k be
Nat;
assume
A7: k
in (
dom r1);
then
A8: 1
<= k by
FINSEQ_3: 25;
then
A9: (k
- 1)
>=
0 by
XREAL_1: 48;
k
<= (i
+ 1) by
A1,
A7,
FINSEQ_3: 25;
then
A10: ((i
+ 1)
- k)
>=
0 by
XREAL_1: 48;
then
reconsider k1 = (((
len r2)
- k)
+ 1) as
Element of
NAT by
A4,
INT_1: 3;
A11: ((i
+ 1)
-' k)
= ((((i
+ 1)
- k)
+ 1)
- 1) by
A10,
XREAL_0:def 2
.= (k1
-' 1) by
A4,
A10,
XREAL_0:def 2;
(1
- k)
<=
0 by
A8,
XREAL_1: 47;
then (i
+ (1
- k))
<= (i
+
0 qua
Nat) by
XREAL_1: 6;
then
A12: k1
<= (i
+ 1) by
A4,
XREAL_1: 6;
then ((i
+ 1)
- k1)
>=
0 by
XREAL_1: 48;
then
A13: ((i
+ 1)
-' k1)
= ((i
+ 1)
- ((i
+ 1)
- (k
- 1))) by
A4,
XREAL_0:def 2
.= (k
-' 1) by
A9,
XREAL_0:def 2;
(((i
+ 1)
- k)
+ 1)
>= (
0 qua
Nat
+ 1) by
A10,
XREAL_1: 6;
then
A14: k1
in (
dom r2) by
A4,
A12,
FINSEQ_3: 25;
thus (r1
. k)
= ((p
. (k
-' 1))
* (q
. ((i
+ 1)
-' k))) by
A3,
A7
.= (r2
. (((
len r2)
- k)
+ 1)) by
A6,
A14,
A13,
A11;
end;
then r1
= (
Rev r2) by
A1,
A4,
FINSEQ_5:def 3;
hence ((p
*' q)
. i)
= ((q
*' p)
. i) by
A2,
A5,
Th2;
end;
hence (p
*' q)
= (q
*' p);
end;
end
theorem ::
POLYNOM3:34
for L be
add-associative
right_zeroed
right_complementable
right-distributive non
empty
doubleLoopStr holds for p be
sequence of L holds (p
*' (
0_. L))
= (
0_. L)
proof
let L be
add-associative
right_zeroed
right_complementable
right-distributive non
empty
doubleLoopStr;
let p be
sequence of L;
now
let i be
Element of
NAT ;
consider r be
FinSequence of the
carrier of L such that (
len r)
= (i
+ 1) and
A1: ((p
*' (
0_. L))
. i)
= (
Sum r) and
A2: for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* ((
0_. L)
. ((i
+ 1)
-' k))) by
Def9;
now
let k be
Element of
NAT ;
assume k
in (
dom r);
hence (r
. k)
= ((p
. (k
-' 1))
* ((
0_. L)
. ((i
+ 1)
-' k))) by
A2
.= ((p
. (k
-' 1))
* (
0. L)) by
FUNCOP_1: 7
.= (
0. L);
end;
hence ((p
*' (
0_. L))
. i)
= (
0. L) by
A1,
Th1
.= ((
0_. L)
. i) by
FUNCOP_1: 7;
end;
hence thesis;
end;
theorem ::
POLYNOM3:35
Th33: for L be
add-associative
right_zeroed
well-unital
right_complementable
right-distributive non
empty
doubleLoopStr holds for p be
sequence of L holds (p
*' (
1_. L))
= p
proof
let L be
add-associative
right_zeroed
well-unital
right_complementable
right-distributive non
empty
doubleLoopStr;
let p be
sequence of L;
now
let i be
Element of
NAT ;
consider r be
FinSequence of the
carrier of L such that
A1: (
len r)
= (i
+ 1) and
A2: ((p
*' (
1_. L))
. i)
= (
Sum r) and
A3: for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= ((p
. (k
-' 1))
* ((
1_. L)
. ((i
+ 1)
-' k))) by
Def9;
a1: r
<>
{} by
A1;
(i
+ 1)
in (
Seg (
len r)) by
A1,
FINSEQ_1: 4;
then
A4: (i
+ 1)
in (
dom r) by
FINSEQ_1:def 3;
now
let k be
Element of
NAT ;
assume k
in (
dom (
Del (r,(i
+ 1))));
then
A5: k
in (
Seg (
len (
Del (r,(i
+ 1))))) by
FINSEQ_1:def 3;
then k
in (
Seg i) by
A1,
PRE_POLY: 12;
then
A6: k
<= i by
FINSEQ_1: 1;
then
A7: k
< (i
+ 1) by
NAT_1: 13;
A8: ((i
+ 1)
- k)
<>
0 by
A6,
NAT_1: 13;
((i
+ 1)
- k)
>=
0 by
A7,
XREAL_1: 48;
then
A9: ((i
+ 1)
-' k)
<>
0 by
A8,
XREAL_0:def 2;
1
<= k by
A5,
FINSEQ_1: 1;
then k
in (
Seg (i
+ 1)) by
A7,
FINSEQ_1: 1;
then
A10: k
in (
dom r) by
A1,
FINSEQ_1:def 3;
thus ((
Del (r,(i
+ 1)))
. k)
= (r
. k) by
A7,
FINSEQ_3: 110
.= ((p
. (k
-' 1))
* ((
1_. L)
. ((i
+ 1)
-' k))) by
A3,
A10
.= ((p
. (k
-' 1))
* (
0. L)) by
A9,
Th28
.= (
0. L);
end;
then
A11: (
Sum (
Del (r,(i
+ 1))))
= (
0. L) by
Th1;
r
= ((
Del (r,(i
+ 1)))
^
<*(r
. (i
+ 1))*>) by
A1,
a1,
PRE_POLY: 13
.= ((
Del (r,(i
+ 1)))
^
<*(r
/. (i
+ 1))*>) by
A4,
PARTFUN1:def 6;
then
A12: (
Sum r)
= ((
Sum (
Del (r,(i
+ 1))))
+ (
Sum
<*(r
/. (i
+ 1))*>)) by
RLVECT_1: 41
.= ((
Sum (
Del (r,(i
+ 1))))
+ (r
/. (i
+ 1))) by
RLVECT_1: 44;
(r
/. (i
+ 1))
= (r
. (i
+ 1)) by
A4,
PARTFUN1:def 6
.= ((p
. ((i
+ 1)
-' 1))
* ((
1_. L)
. ((i
+ 1)
-' (i
+ 1)))) by
A3,
A4
.= ((p
. i)
* ((
1_. L)
. ((i
+ 1)
-' (i
+ 1)))) by
NAT_D: 34
.= ((p
. i)
* ((
1_. L)
.
0 )) by
XREAL_1: 232
.= ((p
. i)
* (
1_ L)) by
Th28
.= (p
. i);
hence ((p
*' (
1_. L))
. i)
= (p
. i) by
A2,
A12,
A11,
RLVECT_1: 4;
end;
hence thesis;
end;
begin
definition
let L be
add-associative
right_zeroed
right_complementable
distributive non
empty
doubleLoopStr;
::
POLYNOM3:def10
func
Polynom-Ring L ->
strict non
empty
doubleLoopStr means
:
Def10: (for x be
set holds x
in the
carrier of it iff x is
Polynomial of L) & (for x,y be
Element of it , p,q be
sequence of L st x
= p & y
= q holds (x
+ y)
= (p
+ q)) & (for x,y be
Element of it , p,q be
sequence of L st x
= p & y
= q holds (x
* y)
= (p
*' q)) & (
0. it )
= (
0_. L) & (
1. it )
= (
1_. L);
existence
proof
A1: (
0_. L)
in the set of all x where x be
Polynomial of L;
then
reconsider Ca = the set of all x where x be
Polynomial of L as non
empty
set;
reconsider Ze = (
0_. L) as
Element of Ca by
A1;
defpred
P[
set,
set,
set] means ex p,q be
Polynomial of L st p
= $1 & q
= $2 & $3
= (p
+ q);
A2: for x,y be
Element of Ca holds ex u be
Element of Ca st
P[x, y, u]
proof
let x,y be
Element of Ca;
x
in Ca;
then
consider p be
Polynomial of L such that
A3: x
= p;
y
in Ca;
then
consider q be
Polynomial of L such that
A4: y
= q;
(p
+ q)
in Ca;
then
reconsider u = (p
+ q) as
Element of Ca;
take u, p, q;
thus thesis by
A3,
A4;
end;
consider Ad be
Function of
[:Ca, Ca:], Ca such that
A5: for x,y be
Element of Ca holds
P[x, y, (Ad
. (x,y))] from
BINOP_1:sch 3(
A2);
(
1_. L)
in the set of all x where x be
Polynomial of L;
then
reconsider Un = (
1_. L) as
Element of Ca;
defpred
P[
set,
set,
set] means ex p,q be
Polynomial of L st p
= $1 & q
= $2 & $3
= (p
*' q);
A6: for x,y be
Element of Ca holds ex u be
Element of Ca st
P[x, y, u]
proof
let x,y be
Element of Ca;
x
in Ca;
then
consider p be
Polynomial of L such that
A7: x
= p;
y
in Ca;
then
consider q be
Polynomial of L such that
A8: y
= q;
(p
*' q)
in Ca;
then
reconsider u = (p
*' q) as
Element of Ca;
take u, p, q;
thus thesis by
A7,
A8;
end;
consider Mu be
Function of
[:Ca, Ca:], Ca such that
A9: for x,y be
Element of Ca holds
P[x, y, (Mu
. (x,y))] from
BINOP_1:sch 3(
A6);
reconsider P =
doubleLoopStr (# Ca, Ad, Mu, Un, Ze #) as
strict non
empty
doubleLoopStr;
take P;
thus for x be
set holds x
in the
carrier of P iff x is
Polynomial of L
proof
let x be
set;
thus x
in the
carrier of P implies x is
Polynomial of L
proof
assume x
in the
carrier of P;
then ex p be
Polynomial of L st x
= p;
hence thesis;
end;
thus thesis;
end;
thus for x,y be
Element of P, p,q be
sequence of L st x
= p & y
= q holds (x
+ y)
= (p
+ q)
proof
let x,y be
Element of P;
let p,q be
sequence of L;
assume
A10: x
= p & y
= q;
ex p1,q1 be
Polynomial of L st p1
= x & q1
= y & (Ad
. (x,y))
= (p1
+ q1) by
A5;
hence thesis by
A10;
end;
thus for x,y be
Element of P, p,q be
sequence of L st x
= p & y
= q holds (x
* y)
= (p
*' q)
proof
let x,y be
Element of P;
let p,q be
sequence of L;
assume
A11: x
= p & y
= q;
ex p1,q1 be
Polynomial of L st p1
= x & q1
= y & (Mu
. (x,y))
= (p1
*' q1) by
A9;
hence thesis by
A11;
end;
thus (
0. P)
= (
0_. L);
thus thesis;
end;
uniqueness
proof
let P1,P2 be
strict non
empty
doubleLoopStr such that
A12: for x be
set holds x
in the
carrier of P1 iff x is
Polynomial of L and
A13: for x,y be
Element of P1, p,q be
sequence of L st x
= p & y
= q holds (x
+ y)
= (p
+ q) and
A14: for x,y be
Element of P1, p,q be
sequence of L st x
= p & y
= q holds (x
* y)
= (p
*' q) and
A15: (
0. P1)
= (
0_. L) & (
1. P1)
= (
1_. L) and
A16: for x be
set holds x
in the
carrier of P2 iff x is
Polynomial of L and
A17: for x,y be
Element of P2, p,q be
sequence of L st x
= p & y
= q holds (x
+ y)
= (p
+ q) and
A18: for x,y be
Element of P2, p,q be
sequence of L st x
= p & y
= q holds (x
* y)
= (p
*' q) and
A19: (
0. P2)
= (
0_. L) & (
1. P2)
= (
1_. L);
A20:
now
let x be
object;
x
in the
carrier of P1 iff x is
Polynomial of L by
A12;
hence x
in the
carrier of P1 iff x
in the
carrier of P2 by
A16;
end;
then
A21: the
carrier of P1
= the
carrier of P2 by
TARSKI: 2;
A22:
now
let x be
Element of P1, y be
Element of P2;
reconsider y1 = y as
Element of P1 by
A20;
reconsider x1 = x as
Element of P2 by
A20;
reconsider p = x as
sequence of L by
A12;
reconsider q = y as
sequence of L by
A16;
thus (the
multF of P1
. (x,y))
= (x
* y1)
.= (p
*' q) by
A14
.= (x1
* y) by
A18
.= (the
multF of P2
. (x,y));
end;
now
let x be
Element of P1, y be
Element of P2;
reconsider y1 = y as
Element of P1 by
A20;
reconsider x1 = x as
Element of P2 by
A20;
reconsider p = x as
sequence of L by
A12;
reconsider q = y as
sequence of L by
A16;
thus (the
addF of P1
. (x,y))
= (x
+ y1)
.= (p
+ q) by
A13
.= (x1
+ y) by
A17
.= (the
addF of P2
. (x,y));
end;
then the
addF of P1
= the
addF of P2 by
A21,
BINOP_1: 2;
hence thesis by
A15,
A19,
A21,
A22,
BINOP_1: 2;
end;
end
registration
let L be
Abelian
add-associative
right_zeroed
right_complementable
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
Abelian;
coherence
proof
let p,q be
Element of (
Polynom-Ring L);
reconsider p1 = p, q1 = q as
sequence of L by
Def10;
thus (p
+ q)
= (p1
+ q1) by
Def10
.= (q
+ p) by
Def10;
end;
end
registration
let L be
add-associative
right_zeroed
right_complementable
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
add-associative;
coherence
proof
let p,q,r be
Element of (
Polynom-Ring L);
reconsider p1 = p, q1 = q, r1 = r as
sequence of L by
Def10;
A1: (q
+ r)
= (q1
+ r1) by
Def10;
(p
+ q)
= (p1
+ q1) by
Def10;
hence ((p
+ q)
+ r)
= ((p1
+ q1)
+ r1) by
Def10
.= (p1
+ (q1
+ r1)) by
Th24
.= (p
+ (q
+ r)) by
A1,
Def10;
end;
cluster (
Polynom-Ring L) ->
right_zeroed;
coherence
proof
let p be
Element of (
Polynom-Ring L);
reconsider p1 = p as
sequence of L by
Def10;
(
0. (
Polynom-Ring L))
= (
0_. L) by
Def10;
hence (p
+ (
0. (
Polynom-Ring L)))
= (p1
+ (
0_. L)) by
Def10
.= p by
Th26;
end;
cluster (
Polynom-Ring L) ->
right_complementable;
coherence
proof
let p be
Element of (
Polynom-Ring L);
reconsider p1 = p as
Polynomial of L by
Def10;
reconsider q = (
- p1) as
Element of (
Polynom-Ring L) by
Def10;
take q;
thus (p
+ q)
= (p1
- p1) by
Def10
.= (
0_. L) by
Th27
.= (
0. (
Polynom-Ring L)) by
Def10;
end;
end
registration
let L be
Abelian
add-associative
right_zeroed
right_complementable
commutative
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
commutative;
coherence
proof
let p,q be
Element of (
Polynom-Ring L);
reconsider p1 = p, q1 = q as
sequence of L by
Def10;
thus (p
* q)
= (p1
*' q1) by
Def10
.= (q
* p) by
Def10;
end;
end
registration
let L be
Abelian
add-associative
right_zeroed
right_complementable
well-unital
associative
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
associative;
coherence
proof
let p,q,r be
Element of (
Polynom-Ring L);
reconsider p1 = p, q1 = q, r1 = r as
sequence of L by
Def10;
A1: (q
* r)
= (q1
*' r1) by
Def10;
(p
* q)
= (p1
*' q1) by
Def10;
hence ((p
* q)
* r)
= ((p1
*' q1)
*' r1) by
Def10
.= (p1
*' (q1
*' r1)) by
Th31
.= (p
* (q
* r)) by
A1,
Def10;
end;
end
theorem ::
POLYNOM3:36
Th33a: for L be
add-associative
right_zeroed
well-unital
right_complementable
left-distributive non
empty
doubleLoopStr holds for p be
sequence of L holds ((
1_. L)
*' p)
= p
proof
let L be
add-associative
right_zeroed
well-unital
right_complementable
left-distributive non
empty
doubleLoopStr;
let p be
sequence of L;
now
let i be
Element of
NAT ;
consider r be
FinSequence of the
carrier of L such that
A1: (
len r)
= (i
+ 1) and
A2: (((
1_. L)
*' p)
. i)
= (
Sum r) and
A3: for k be
Element of
NAT st k
in (
dom r) holds (r
. k)
= (((
1_. L)
. (k
-' 1))
* (p
. ((i
+ 1)
-' k))) by
Def9;
A4: 1
in (
dom r) by
A1,
CARD_1: 27,
FINSEQ_5: 6;
now
let k be
Element of
NAT ;
A5: (k
+ 1)
>= 1 by
NAT_1: 11;
assume
A6: k
in (
dom (
Del (r,1)));
then
A7: k
<>
0 by
FINSEQ_3: 25;
(
len (
Del (r,1)))
= i by
A1,
A4,
FINSEQ_3: 109;
then
A8: k
<= i by
A6,
FINSEQ_3: 25;
then (k
+ 1)
<= (i
+ 1) by
XREAL_1: 6;
then
A9: (k
+ 1)
in (
dom r) by
A1,
A5,
FINSEQ_3: 25;
(
0
+ 1)
<= k by
A6,
FINSEQ_3: 25;
hence ((
Del (r,1))
. k)
= (r
. (k
+ 1)) by
A1,
A4,
A8,
FINSEQ_3: 111
.= (((
1_. L)
. ((k
+ 1)
-' 1))
* (p
. ((i
+ 1)
-' (k
+ 1)))) by
A3,
A9
.= (((
1_. L)
. k)
* (p
. ((i
+ 1)
-' (k
+ 1)))) by
NAT_D: 34
.= ((
0. L)
* (p
. ((i
+ 1)
-' (k
+ 1)))) by
A7,
Th28
.= (
0. L);
end;
then
A10: (
Sum (
Del (r,1)))
= (
0. L) by
Th1;
r
= (
<*(r
. 1)*>
^ (
Del (r,1))) by
A1,
FINSEQ_5: 86,
CARD_1: 27
.= (
<*(r
/. 1)*>
^ (
Del (r,1))) by
A4,
PARTFUN1:def 6;
then
A11: (
Sum r)
= ((
Sum
<*(r
/. 1)*>)
+ (
Sum (
Del (r,1)))) by
RLVECT_1: 41
.= ((r
/. 1)
+ (
Sum (
Del (r,1)))) by
RLVECT_1: 44;
(r
/. 1)
= (r
. 1) by
A4,
PARTFUN1:def 6
.= (((
1_. L)
. (1
-' 1))
* (p
. ((i
+ 1)
-' 1))) by
A3,
A4
.= (((
1_. L)
. (1
-' 1))
* (p
. i)) by
NAT_D: 34
.= (((
1_. L)
.
0 )
* (p
. i)) by
XREAL_1: 232
.= ((
1_ L)
* (p
. i)) by
Th28
.= (p
. i);
hence (((
1_. L)
*' p)
. i)
= (p
. i) by
A2,
A11,
A10,
RLVECT_1: 4;
end;
hence thesis;
end;
Lm2:
now
let L be
add-associative
right_zeroed
right_complementable
well-unital
Abelian
distributive non
empty
doubleLoopStr;
set Pm = (
Polynom-Ring L);
let x,e be
Element of Pm;
reconsider p = x as
Polynomial of L by
Def10;
assume
A1: e
= (
1. Pm);
A2: (
1. Pm)
= (
1_. L) by
Def10;
hence (x
* e)
= (p
*' (
1_. L)) by
A1,
Def10
.= x by
Th33;
thus (e
* x)
= ((
1_. L)
*' p) by
A1,
A2,
Def10
.= x by
Th33a;
end;
registration
let L be
add-associative
right_zeroed
right_complementable
well-unital
Abelian
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
well-unital;
coherence by
Lm2;
end
registration
let L be
Abelian
add-associative
right_zeroed
right_complementable
distributive non
empty
doubleLoopStr;
cluster (
Polynom-Ring L) ->
distributive;
coherence
proof
let p,q,r be
Element of (
Polynom-Ring L);
reconsider p1 = p, q1 = q, r1 = r as
sequence of L by
Def10;
A1: (p
* q)
= (p1
*' q1) & (p
* r)
= (p1
*' r1) by
Def10;
(q
+ r)
= (q1
+ r1) by
Def10;
hence (p
* (q
+ r))
= (p1
*' (q1
+ r1)) by
Def10
.= ((p1
*' q1)
+ (p1
*' r1)) by
Th29
.= ((p
* q)
+ (p
* r)) by
A1,
Def10;
A2: (q
* p)
= (q1
*' p1) & (r
* p)
= (r1
*' p1) by
Def10;
(q
+ r)
= (q1
+ r1) by
Def10;
hence ((q
+ r)
* p)
= ((q1
+ r1)
*' p1) by
Def10
.= ((q1
*' p1)
+ (r1
*' p1)) by
Th30
.= ((q
* p)
+ (r
* p)) by
A2,
Def10;
end;
end
theorem ::
POLYNOM3:37
for L be
add-associative
right_zeroed
right_complementable
well-unital
Abelian
distributive non
empty
doubleLoopStr holds (
1. (
Polynom-Ring L))
= (
1_. L) by
Def10;