pre_poly.miz
begin
definition
let D be
set;
let p,q be
Element of (D
* );
:: original:
^
redefine
func p
^ q ->
Element of (D
* ) ;
coherence
proof
(p
^ q) is
FinSequence of D;
hence thesis by
FINSEQ_1:def 11;
end;
end
registration
let D be
set;
cluster
empty for
Element of (D
* );
existence
proof
(
<*> D) is
Element of (D
* ) by
FINSEQ_1:def 11;
hence thesis;
end;
end
definition
let D be
set;
:: original:
<*>
redefine
func
<*> D ->
empty
Element of (D
* ) ;
coherence by
FINSEQ_1:def 11;
end
definition
let D be non
empty
set;
let d be
Element of D;
:: original:
<*
redefine
func
<*d*> ->
Element of (D
* ) ;
coherence
proof
<*d*> is
FinSequence of D;
hence thesis by
FINSEQ_1:def 11;
end;
let e be
Element of D;
:: original:
<*
redefine
func
<*d,e*> ->
Element of (D
* ) ;
coherence
proof
<*d, e*>
= (
<*d*>
^
<*e*>) by
FINSEQ_1:def 9;
hence thesis by
FINSEQ_1:def 11;
end;
end
begin
registration
let X be
set;
cluster ->
FinSequence-like for
Element of (X
* );
coherence ;
end
definition
let D be
set, F be
FinSequence of (D
* );
::
PRE_POLY:def1
func
FlattenSeq F ->
Element of (D
* ) means
:
Def1: ex g be
BinOp of (D
* ) st (for p,q be
Element of (D
* ) holds (g
. (p,q))
= (p
^ q)) & it
= (g
"**" F);
existence
proof
deffunc
F(
Element of (D
* ),
Element of (D
* )) = ($1
^ $2);
consider g be
BinOp of (D
* ) such that
A1: for a,b be
Element of (D
* ) holds (g
. (a,b))
=
F(a,b) from
BINOP_1:sch 4;
take (g
"**" F), g;
thus thesis by
A1;
end;
uniqueness
proof
let it1,it2 be
Element of (D
* );
given g1 be
BinOp of (D
* ) such that
A2: for p,q be
Element of (D
* ) holds (g1
. (p,q))
= (p
^ q) and
A3: it1
= (g1
"**" F);
given g2 be
BinOp of (D
* ) such that
A4: for p,q be
Element of (D
* ) holds (g2
. (p,q))
= (p
^ q) and
A5: it2
= (g2
"**" F);
now
let a,b be
Element of (D
* );
thus (g1
. (a,b))
= (a
^ b) by
A2
.= (g2
. (a,b)) by
A4;
end;
hence thesis by
A3,
A5,
BINOP_1: 2;
end;
end
theorem ::
PRE_POLY:1
Th1: for D be
set, d be
Element of (D
* ) holds (
FlattenSeq
<*d*>)
= d
proof
let D be
set, d be
Element of (D
* );
ex g be
BinOp of (D
* ) st (for p,q be
Element of (D
* ) holds (g
. (p,q))
= (p
^ q)) & (
FlattenSeq
<*d*>)
= (g
"**"
<*d*>) by
Def1;
hence thesis by
FINSOP_1: 11;
end;
theorem ::
PRE_POLY:2
Th2: for D be
set holds (
FlattenSeq (
<*> (D
* )))
= (
<*> D)
proof
let D be
set;
consider g be
BinOp of (D
* ) such that
A1: for d1,d2 be
Element of (D
* ) holds (g
. (d1,d2))
= (d1
^ d2) and
A2: (
FlattenSeq (
<*> (D
* )))
= (g
"**" (
<*> (D
* ))) by
Def1;
A3:
{} is
Element of (D
* ) by
FINSEQ_1: 49;
reconsider p =
{} as
Element of (D
* ) by
FINSEQ_1: 49;
now
let a be
Element of (D
* );
thus (g
. (
{} ,a))
= (
{}
^ a) by
A1,
A3
.= a by
FINSEQ_1: 34;
thus (g
. (a,
{} ))
= (a
^
{} ) by
A1,
A3
.= a by
FINSEQ_1: 34;
end;
then
A4: p
is_a_unity_wrt g by
BINOP_1: 3;
then (g
"**" (
<*> (D
* )))
= (
the_unity_wrt g) by
FINSOP_1: 10,
SETWISEO:def 2;
hence thesis by
A2,
A4,
BINOP_1:def 8;
end;
theorem ::
PRE_POLY:3
Th3: for D be
set, F,G be
FinSequence of (D
* ) holds (
FlattenSeq (F
^ G))
= ((
FlattenSeq F)
^ (
FlattenSeq G))
proof
let D be
set, F,G be
FinSequence of (D
* );
consider g be
BinOp of (D
* ) such that
A1: for d1,d2 be
Element of (D
* ) holds (g
. (d1,d2))
= (d1
^ d2) and
A2: (
FlattenSeq (F
^ G))
= (g
"**" (F
^ G)) by
Def1;
now
let a,b,c be
Element of (D
* );
thus (g
. (a,(g
. (b,c))))
= (a
^ (g
. (b,c))) by
A1
.= (a
^ (b
^ c)) by
A1
.= ((a
^ b)
^ c) by
FINSEQ_1: 32
.= ((g
. (a,b))
^ c) by
A1
.= (g
. ((g
. (a,b)),c)) by
A1;
end;
then
A3: g is
associative;
A4:
{} is
Element of (D
* ) by
FINSEQ_1: 49;
reconsider p =
{} as
Element of (D
* ) by
FINSEQ_1: 49;
now
let a be
Element of (D
* );
thus (g
. (
{} ,a))
= (
{}
^ a) by
A1,
A4
.= a by
FINSEQ_1: 34;
thus (g
. (a,
{} ))
= (a
^
{} ) by
A1,
A4
.= a by
FINSEQ_1: 34;
end;
then p
is_a_unity_wrt g by
BINOP_1: 3;
hence (
FlattenSeq (F
^ G))
= (g
. ((g
"**" F),(g
"**" G))) by
A2,
A3,
FINSOP_1: 5,
SETWISEO:def 2
.= ((g
"**" F)
^ (g
"**" G)) by
A1
.= ((
FlattenSeq F)
^ (g
"**" G)) by
A1,
Def1
.= ((
FlattenSeq F)
^ (
FlattenSeq G)) by
A1,
Def1;
end;
theorem ::
PRE_POLY:4
for D be
set, p,q be
Element of (D
* ) holds (
FlattenSeq
<*p, q*>)
= (p
^ q)
proof
let D be
set, p,q be
Element of (D
* );
consider g be
BinOp of (D
* ) such that
A1: for d1,d2 be
Element of (D
* ) holds (g
. (d1,d2))
= (d1
^ d2) and
A2: (
FlattenSeq
<*p, q*>)
= (g
"**"
<*p, q*>) by
Def1;
thus (
FlattenSeq
<*p, q*>)
= (g
. (p,q)) by
A2,
FINSOP_1: 12
.= (p
^ q) by
A1;
end;
theorem ::
PRE_POLY:5
for D be
set, p,q,r be
Element of (D
* ) holds (
FlattenSeq
<*p, q, r*>)
= ((p
^ q)
^ r)
proof
let D be
set, p,q,r be
Element of (D
* );
consider g be
BinOp of (D
* ) such that
A1: for d1,d2 be
Element of (D
* ) holds (g
. (d1,d2))
= (d1
^ d2) and
A2: (
FlattenSeq
<*p, q, r*>)
= (g
"**"
<*p, q, r*>) by
Def1;
thus (
FlattenSeq
<*p, q, r*>)
= (g
. ((g
. (p,q)),r)) by
A2,
FINSOP_1: 14
.= ((g
. (p,q))
^ r) by
A1
.= ((p
^ q)
^ r) by
A1;
end;
theorem ::
PRE_POLY:6
for D be
set, F,G be
FinSequence of (D
* ) holds F
c= G implies (
FlattenSeq F)
c= (
FlattenSeq G)
proof
let D be
set, F,G be
FinSequence of (D
* );
assume F
c= G;
then
consider F9 be
FinSequence of (D
* ) such that
A1: (F
^ F9)
= G by
FINSEQ_4: 82;
((
FlattenSeq F)
^ (
FlattenSeq F9))
= (
FlattenSeq G) by
A1,
Th3;
hence thesis by
FINSEQ_6: 10;
end;
begin
reserve A for
set,
x,y,z for
object,
k for
Element of
NAT ;
scheme ::
PRE_POLY:sch1
Regr1 { n() ->
Nat , P[
set] } :
for k st k
<= n() holds P[k]
provided
A1: P[n()]
and
A2: for k st k
< n() & P[(k
+ 1)] holds P[k];
reconsider n9 = n() as
Element of
NAT by
ORDINAL1:def 12;
defpred
X[
Nat] means $1
<= n() & not P[$1];
assume not thesis;
then
A3: ex k be
Nat st
X[k];
A4: for l be
Nat st
X[l] holds l
<= n9;
consider l be
Nat such that
A5:
X[l] and
A6: for n be
Nat st
X[n] holds n
<= l from
NAT_1:sch 6(
A4,
A3);
A7: l
in
NAT by
ORDINAL1:def 12;
A8: l
< n() by
A1,
A5,
XXREAL_0: 1;
then (l
+ 1)
<= n() by
NAT_1: 13;
then P[(l
+ 1)] by
A6,
XREAL_1: 29;
hence contradiction by
A2,
A5,
A8,
A7;
end;
registration
let n be
Nat;
cluster (
Seg (n
+ 1)) -> non
empty;
coherence ;
end
theorem ::
PRE_POLY:7
(
{}
|_2 A)
=
{} ;
registration
let X be
set;
cluster non
empty for
Subset of (
Fin X);
existence
proof
{
{} } is
Subset of (
Fin X) by
FINSUB_1: 7,
ZFMISC_1: 31;
hence thesis;
end;
end
registration
let X be non
empty
set;
cluster non
empty
with_non-empty_elements for
Subset of (
Fin X);
existence
proof
set x = the
Element of X;
{x}
in (
Fin X) by
FINSUB_1:def 5;
then
reconsider s =
{
{x}} as
Subset of (
Fin X) by
SUBSET_1: 33;
take s;
thus s is non
empty;
assume
{}
in s;
hence contradiction;
end;
end
registration
let X be non
empty
set, F be non
empty
with_non-empty_elements
Subset of (
Fin X);
cluster non
empty for
Element of F;
existence
proof
set f = the
Element of F;
f
<>
{} ;
hence thesis;
end;
end
registration
let X be non
empty
set;
cluster
with_non-empty_element for
Subset of (
Fin X);
existence
proof
set x = the
Element of X;
{x}
in (
Fin X) by
FINSUB_1:def 5;
then
reconsider s =
{
{x}} as
Subset of (
Fin X) by
SUBSET_1: 33;
take s;
thus thesis;
end;
end
definition
let X be non
empty
set, R be
Order of X, A be
Subset of X;
:: original:
|_2
redefine
func R
|_2 A ->
Order of A ;
coherence
proof
R
partially_orders X by
ORDERS_1: 44;
hence (R
|_2 A) is
Order of A by
ORDERS_1: 35,
ORDERS_1: 45;
end;
end
scheme ::
PRE_POLY:sch2
SubFinite { D() ->
set , A() ->
Subset of D() , P[
set] } :
P[A()]
provided
A1: A() is
finite
and
A2: P[(
{} D())]
and
A3: for x be
Element of D(), B be
Subset of D() st x
in A() & B
c= A() & P[B] holds P[(B
\/
{x})];
now
defpred
X[
set] means ex B be
set st B
= $1 & P[B];
assume A()
<>
{} ;
consider G be
set such that
A4: for x be
set holds x
in G iff x
in (
bool A()) &
X[x] from
XFAMILY:sch 1;
G
c= (
bool A()) by
A4;
then
reconsider GA = G as
Subset-Family of A();
{}
c= A();
then GA
<>
{} by
A2,
A4;
then
consider B be
set such that
A5: B
in GA and
A6: for X be
set st X
in GA holds B
c= X implies B
= X by
A1,
FINSET_1: 6;
A7: ex A st A
= B & P[A] by
A4,
A5;
now
set x = the
Element of (A()
\ B);
assume B
<> A();
then not A()
c= B by
A5;
then
A8: (A()
\ B)
<>
{} by
XBOOLE_1: 37;
then not x
in B by
XBOOLE_0:def 5;
then
A9: (B
\/
{x})
<> B by
XBOOLE_1: 7,
ZFMISC_1: 31;
A10: x
in A() by
A8,
XBOOLE_0:def 5;
then
{x}
c= A() by
ZFMISC_1: 31;
then
A11: (B
\/
{x})
c= A() by
A5,
XBOOLE_1: 8;
B is
Subset of D() by
A5,
XBOOLE_1: 1;
then (B
\/
{x})
in GA by
A4,
A11,
A3,
A5,
A7,
A10;
hence contradiction by
A6,
A9,
XBOOLE_1: 7;
end;
hence thesis by
A7;
end;
hence thesis by
A2;
end;
registration
let X be non
empty
set, F be
with_non-empty_element
Subset of (
Fin X);
cluster
finite non
empty for
Element of F;
existence
proof
consider x be non
empty
set such that
A1: x
in F by
SETFAM_1:def 10;
reconsider x1 = x as
Element of F by
A1;
take x1;
thus thesis;
end;
end
definition
let X be
set, A be
finite
Subset of X, R be
Order of X;
assume
A1: R
linearly_orders A;
::
PRE_POLY:def2
func
SgmX (R,A) ->
FinSequence of X means
:
Def2: (
rng it )
= A & for n,m be
Nat st n
in (
dom it ) & m
in (
dom it ) & n
< m holds (it
/. n)
<> (it
/. m) &
[(it
/. n), (it
/. m)]
in R;
existence
proof
per cases ;
suppose
A2: A is
empty;
take (
<*> X);
thus thesis by
A2;
end;
suppose
A3: A is non
empty;
then
reconsider X9 = X as non
empty
set;
reconsider A1 = A as non
empty
finite
Subset of X9 by
A3;
reconsider R9 = R as
Order of X9;
deffunc
F(
set) = $1;
deffunc
V(
Element of A1) = {
F(x) where x be
Element of A1 : x
<=_ (R9,$1) & x
<> $1 };
deffunc
U(
Element of A1) = ((
card
V($1))
+^ 1);
A4: for x be
Element of A1 holds
U(x) is
Element of
NAT
proof
let a be
Element of A1;
defpred
P[
Element of A1] means $1
<=_ (R9,a) & $1
<> a;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider X = {
F(x) where x be
Element of A1 :
P[x] } as
finite
set;
reconsider n = (
card X) as
Element of
NAT ;
(n
+^ 1)
= (n
+ 1) by
CARD_2: 36;
hence
U(a) is
Element of
NAT ;
end;
consider f be
Function of A1,
NAT such that
A5: for x be
Element of A1 holds (f
. x)
=
U(x) from
FUNCT_2:sch 9(
A4);
A6: for x be
Element of A1 holds not x
in
V(x)
proof
let a be
Element of A1;
assume a
in
V(a);
then ex x be
Element of A1 st x
= a & x
<=_ (R9,a) & x
<> a;
hence thesis;
end;
A7: for x be
Element of A1 holds
V(x)
c= A1
proof
let a be
Element of A1;
let y be
object;
assume y
in
V(a);
then ex x be
Element of A1 st x
= y & x
<=_ (R9,a) & x
<> a;
hence thesis;
end;
(
rng f)
c= (
Seg (
card A1))
proof
let y be
object;
assume y
in (
rng f);
then
consider x1 be
object such that
A8: x1
in (
dom f) and
A9: y
= (f
. x1) by
FUNCT_1:def 3;
reconsider y1 = y as
Nat by
A9;
reconsider x2 = x1 as
Element of A1 by
A8;
defpred
P[
Element of A1] means $1
<=_ (R9,x2) & $1
<> x2;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider Vx2 =
V(x2) as
finite
set;
Vx2
<> A1 by
A6;
then
A10: (
card Vx2)
<> (
card A1) by
A7,
CARD_2: 102;
(
card Vx2)
<= (
card A1) by
A7,
NAT_1: 43;
then (
card Vx2)
< (
card A1) by
A10,
XXREAL_0: 1;
then
A11: ((
card Vx2)
+ 1)
<= (
card A1) by
NAT_1: 13;
A12: y
= ((
card Vx2)
+^ 1) by
A5,
A9
.= ((
card Vx2)
+ 1) by
CARD_2: 36;
then (
0 qua
Nat
+ 1)
<= y1 by
XREAL_1: 6;
hence thesis by
A11,
A12,
FINSEQ_1: 1;
end;
then
reconsider f1 = f as
Function of A1, (
Seg (
card A1)) by
FUNCT_2: 6;
A13: (R
|_2 A)
c= R by
XBOOLE_1: 17;
A14: R
is_connected_in A by
A1,
ORDERS_1:def 9;
then
A15: (R
|_2 A) is
connected by
ORDERS_1: 75;
A16: (
field (R9
|_2 A1))
= A by
ORDERS_1: 15;
A17: R9
is_transitive_in A by
A1,
ORDERS_1:def 9;
A18: R9
is_antisymmetric_in A by
A1,
ORDERS_1:def 9;
for x1,x2 be
object st x1
in A1 & x2
in A1 & (f
. x1)
= (f
. x2) holds x1
= x2
proof
let x1,x2 be
object;
assume that
A19: x1
in A1 and
A20: x2
in A1 and
A21: (f
. x1)
= (f
. x2);
reconsider x29 = x2 as
Element of A1 by
A20;
reconsider x19 = x1 as
Element of A1 by
A19;
defpred
P[
Element of A1] means $1
<=_ (R9,x19) & $1
<> x19;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider Vx1 =
V(x19) as
finite
set;
defpred
P[
Element of A1] means $1
<=_ (R9,x29) & $1
<> x29;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider Vx2 =
V(x29) as
finite
set;
A22: for x1,x2 be
Element of A1 st x1
<=_ ((R
|_2 A),x2) holds
V(x1)
c=
V(x2)
proof
let x1,x2 be
Element of A1;
assume x1
<=_ ((R
|_2 A),x2);
then
A23:
[x1, x2]
in (R
|_2 A) by
ARROW:def 4;
let x be
object;
assume x
in
V(x1);
then
consider a be
Element of A such that
A24: a
= x and
A25: a
<=_ (R9,x1) and
A26: a
<> x1;
A27:
[a, x1]
in R9 by
A25,
ARROW:def 4;
then
[a, x2]
in R9 by
A23,
A13,
A17;
then
A28: a
<=_ (R9,x2) by
ARROW:def 4;
a
<> x2 by
A26,
A27,
A23,
A13,
A18;
hence x
in
V(x2) by
A24,
A28;
end;
(f
. x19)
= ((
card Vx1)
+^ 1) by
A5
.= ((
card Vx1)
+ 1) by
CARD_2: 36;
then
A29: ((
card Vx1)
+ 1)
= ((
card Vx2)
+^ 1) by
A5,
A21
.= ((
card Vx2)
+ 1) by
CARD_2: 36;
now
per cases ;
suppose x19
= x29;
hence thesis;
end;
suppose x19
<> x29;
then
A30:
[x19, x29]
in (R
|_2 A) or
[x29, x19]
in (R
|_2 A) by
A16,
A15,
RELAT_2:def 6;
A31: for x1,x2 be
Element of A1 st x1
<> x2 & x1
<=_ ((R
|_2 A),x2) holds x1
in
V(x2)
proof
let x1,x2 be
Element of A1 such that
A32: x1
<> x2;
assume x1
<=_ ((R
|_2 A),x2);
then
[x1, x2]
in (R
|_2 A) by
ARROW:def 4;
then x1
<=_ (R9,x2) by
A13,
ARROW:def 4;
hence x1
in
V(x2) by
A32;
end;
A33:
now
per cases by
A30,
ARROW:def 4;
suppose x19
<=_ ((R
|_2 A),x29);
hence Vx1
= Vx2 by
A29,
A22,
CARD_2: 102;
end;
suppose x29
<=_ ((R
|_2 A),x19);
hence Vx1
= Vx2 by
A29,
A22,
CARD_2: 102;
end;
end;
now
assume
A34: x19
<> x29;
then
A35:
[x19, x29]
in (R
|_2 A) or
[x29, x19]
in (R
|_2 A) by
A16,
A15,
RELAT_2:def 6;
per cases by
A35,
ARROW:def 4;
suppose x19
<=_ ((R
|_2 A),x29);
hence contradiction by
A33,
A6,
A34,
A31;
end;
suppose x29
<=_ ((R
|_2 A),x19);
hence contradiction by
A33,
A6,
A34,
A31;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
then
A36: f1 is
one-to-one by
FUNCT_2: 19;
A37: for x1,x2 be
Element of A1 st (f
. x1) qua
Nat
< (f
. x2) holds x1
<=_ (R9,x2) & x1
<> x2
proof
let x1,x2 be
Element of A1;
defpred
P[
Element of A1] means $1
<=_ (R9,x1) & $1
<> x1;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider Vx1 =
V(x1) as
finite
set;
defpred
P[
Element of A1] means $1
<=_ (R9,x2) & $1
<> x2;
{
F(x) where x be
Element of A1 :
P[x] } is
finite from
PRE_CIRC:sch 1;
then
reconsider Vx2 =
V(x2) as
finite
set;
assume
A38: (f
. x1)
< (f
. x2);
A39: (f
. x1)
= ((
card Vx1)
+^ 1) by
A5
.= ((
card Vx1)
+ 1) by
CARD_2: 36;
(f
. x2)
= ((
card Vx2)
+^ 1) by
A5
.= ((
card Vx2)
+ 1) by
CARD_2: 36;
then
A40: (((
card Vx1)
+ 1)
- 1)
< (((
card Vx2)
+ 1)
- 1) by
A39,
A38,
XREAL_1: 9;
reconsider Cx2 = (
card Vx2) as
Cardinal;
reconsider Cx1 = (
card Vx1) as
Cardinal;
A41: (
card (
Segm (
card Vx2)))
= (
card Vx2);
(
card (
Segm (
card Vx1)))
= (
card Vx1);
then (Vx2
\ Vx1)
<>
{} by
A41,
A40,
CARD_1: 68,
NAT_1: 41;
then
consider a be
object such that
A42: a
in (Vx2
\ Vx1) by
XBOOLE_0:def 1;
A43: not a
in Vx1 by
A42,
XBOOLE_0:def 5;
A44: a
in Vx2 by
A42;
Vx2
c= A1 by
A7;
then
reconsider a as
Element of A1 by
A44;
A45: ex x be
Element of A1 st a
= x & x
<=_ (R9,x2) & x
<> x2 by
A44;
then
A46:
[a, x2]
in R9 by
ARROW:def 4;
per cases by
A43;
suppose not a
<=_ (R9,x1);
then
A47: not
[a, x1]
in R9 by
ARROW:def 4;
per cases ;
suppose x1
= a;
hence thesis by
A45;
end;
suppose
A48: x1
<> a;
then
A49:
[x1, a]
in R9 by
A14,
A47;
then
[x1, x2]
in R9 by
A46,
A17;
hence x1
<=_ (R9,x2) by
ARROW:def 4;
assume x1
= x2;
hence contradiction by
A48,
A49,
A46,
A18;
end;
end;
suppose a
= x1;
hence thesis by
A45;
end;
end;
(
card (
Seg (
card A1)))
= (
card A1) by
FINSEQ_1: 57;
then f1 is
onto by
A36,
FINSEQ_4: 63;
then (
rng f1)
= (
Seg (
card A1)) by
FUNCT_2:def 3;
then (
dom (f1 qua
Function
" ))
= (
Seg (
card A1)) by
A36,
FUNCT_1: 33;
then
reconsider g1 = (f1 qua
Function
" ) as
FinSequence by
FINSEQ_1:def 2;
A50: (
dom f1)
= A by
FUNCT_2:def 1;
then
A51: (
rng g1)
= A by
A36,
FUNCT_1: 33;
then
reconsider g = g1 as
FinSequence of X by
FINSEQ_1:def 4;
take g;
thus (
rng g)
= A by
A36,
A50,
FUNCT_1: 33;
let n,m be
Nat;
assume that
A52: n
in (
dom g) and
A53: m
in (
dom g) and
A54: n
< m;
reconsider gn = (g
. n) as
Element of A1 by
A51,
A52,
FUNCT_1:def 3;
n
in (
rng f) by
A36,
A52,
FUNCT_1: 33;
then
A55: n
= (f
. gn) by
A36,
FUNCT_1: 35;
reconsider gm = (g
. m) as
Element of A1 by
A51,
A53,
FUNCT_1:def 3;
A56: gm
= (g
/. m) by
A53,
PARTFUN1:def 6;
A57: m
in (
rng f) by
A36,
A53,
FUNCT_1: 33;
then m
= (f
. gm) by
A36,
FUNCT_1: 35;
then
A58:
[gn, gm]
in R by
A37,
A54,
A55,
ARROW:def 4;
gn
= (g
/. n) by
A52,
PARTFUN1:def 6;
hence thesis by
A36,
A54,
A57,
A55,
A58,
A56,
FUNCT_1: 35;
end;
end;
uniqueness
proof
let p9,q9 be
FinSequence of X;
assume that
A59: (
rng p9)
= A and
A60: for n,m be
Nat st n
in (
dom p9) & m
in (
dom p9) & n
< m holds (p9
/. n)
<> (p9
/. m) &
[(p9
/. n), (p9
/. m)]
in R and
A61: (
rng q9)
= A and
A62: for n,m be
Nat st n
in (
dom q9) & m
in (
dom q9) & n
< m holds (q9
/. n)
<> (q9
/. m) &
[(q9
/. n), (q9
/. m)]
in R;
per cases ;
suppose
A63: A is
empty;
then p9 is
empty by
A59;
hence thesis by
A61,
A63;
end;
suppose
A64: A is non
empty;
then
reconsider X9 = X as non
empty
set;
reconsider A9 = A as non
empty
finite
Subset of X9 by
A64;
set E = (
<*> A9);
defpred
X[
FinSequence of A9] means ($1 is
FinSequence of A9 & for n,m be
Nat st n
in (
dom $1) & m
in (
dom $1) & n
< m holds ($1
/. n)
<> ($1
/. m) &
[($1
/. n), ($1
/. m)]
in R) implies for q be
FinSequence of A9 st (
rng q)
= (
rng $1) & for n,m be
Nat st n
in (
dom q) & m
in (
dom q) & n
< m holds (q
/. n)
<> (q
/. m) &
[(q
/. n), (q
/. m)]
in R holds q
= $1;
reconsider p = p9, q = q9 as
FinSequence of A9 by
A59,
A61,
FINSEQ_1:def 4;
A65: for p be
FinSequence of A9 holds for x be
Element of A9 st
X[p] holds
X[(p
^
<*x*>) qua
FinSequence of A9]
proof
let p be
FinSequence of A9, x be
Element of A9;
assume
A66:
X[p];
assume (p
^
<*x*>) is
FinSequence of A9;
assume
A67: for n,m be
Nat st n
in (
dom (p
^
<*x*>)) & m
in (
dom (p
^
<*x*>)) & n
< m holds ((p
^
<*x*>) qua
FinSequence of A9
/. n)
<> ((p
^
<*x*>) qua
FinSequence of A9
/. m) &
[((p
^
<*x*>) qua
FinSequence of A9
/. n), ((p
^
<*x*>) qua
FinSequence of A9
/. m)]
in R;
let q be
FinSequence of A9;
assume that
A68: (
rng q)
= (
rng (p
^
<*x*>)) and
A69: for n,m be
Nat st n
in (
dom q) & m
in (
dom q) & n
< m holds (q
/. n)
<> (q
/. m) &
[(q
/. n), (q
/. m)]
in R;
deffunc
V(
Nat) = (q
. $1);
A70: q
<>
0 by
A68;
then
consider n be
Nat such that
A71: (
len q)
= (n
+ 1) by
NAT_1: 6;
reconsider n as
Element of
NAT by
ORDINAL1:def 12;
ex q9 be
FinSequence st (
len q9)
= n & for m be
Nat st m
in (
dom q9) holds (q9
. m)
=
V(m) from
FINSEQ_1:sch 2;
then
consider q9 be
FinSequence such that
A72: (
len q9)
= n and
A73: for m be
Nat st m
in (
dom q9) holds (q9
. m)
= (q
. m);
1
in (
Seg 1) by
FINSEQ_1: 2,
TARSKI:def 1;
then
A74: 1
in (
dom
<*x*>) by
FINSEQ_1:def 8;
A75: ex m be
Element of A9 st m
= x & for l be
Element of A9 st l
in (
rng (p
^
<*x*>)) & l
<> x holds
[l, m]
in R
proof
reconsider m = x as
Element of A9;
take m;
thus m
= x;
thus for l be
Element of A9 st l
in (
rng (p
^
<*x*>)) & l
<> x holds
[l, m]
in R
proof
let l be
Element of A9;
assume that
A76: l
in (
rng (p
^
<*x*>)) and
A77: l
<> x;
consider y be
object such that
A78: y
in (
dom (p
^
<*x*>)) and
A79: l
= ((p
^
<*x*>)
. y) by
A76,
FUNCT_1:def 3;
A80: l
= ((p
^
<*x*>) qua
FinSequence of A9
/. y) by
A78,
A79,
PARTFUN1:def 6;
reconsider k = y as
Element of
NAT by
A78;
A81: k
<> ((
len p)
+ 1)
proof
assume k
= ((
len p)
+ 1);
then ((p
^
<*x*>)
. k)
= (
<*x*>
. 1) by
A74,
FINSEQ_1:def 7
.= x by
FINSEQ_1:def 8;
hence contradiction by
A77,
A79;
end;
A82: y
in (
Seg (
len (p
^
<*x*>))) by
A78,
FINSEQ_1:def 3;
then k
<= (
len (p
^
<*x*>)) by
FINSEQ_1: 1;
then k
<= ((
len p)
+ (
len
<*x*>)) by
FINSEQ_1: 22;
then k
<= ((
len p)
+ 1) by
FINSEQ_1: 39;
then k
< ((
len p)
+ 1) by
A81,
XXREAL_0: 1;
then k
< ((
len p)
+ (
len
<*x*>)) by
FINSEQ_1: 39;
then
A83: k
< (
len (p
^
<*x*>)) by
FINSEQ_1: 22;
1
<= k by
A82,
FINSEQ_1: 1;
then (1
- (
len (p
^
<*x*>)))
< (k
- k) by
A83,
XREAL_1: 15;
then 1
< (
len (p
^
<*x*>)) by
XREAL_1: 48;
then (
len (p
^
<*x*>))
in (
Seg (
len (p
^
<*x*>))) by
FINSEQ_1: 1;
then
A84: (
len (p
^
<*x*>))
in (
dom (p
^
<*x*>)) by
FINSEQ_1:def 3;
m
= ((p
^
<*x*>)
. ((
len p)
+ 1)) by
FINSEQ_1: 42
.= ((p
^
<*x*>)
. ((
len p)
+ (
len
<*x*>))) by
FINSEQ_1: 39
.= ((p
^
<*x*>)
. (
len (p
^
<*x*>))) by
FINSEQ_1: 22;
then m
= ((p
^
<*x*>) qua
FinSequence of A9
/. (
len (p
^
<*x*>))) by
A84,
PARTFUN1:def 6;
hence thesis by
A67,
A78,
A80,
A83,
A84;
end;
end;
A85: for m be
Nat st m
in (
dom
<*x*>) holds (q
. ((
len q9)
+ m))
= (
<*x*>
. m)
proof
let m be
Nat;
assume m
in (
dom
<*x*>);
then
A86: m
in
{1} by
FINSEQ_1: 2,
FINSEQ_1:def 8;
A87: (q
. ((
len q9)
+ m))
= x
proof
consider d1 be
Element of A9 such that
A88: d1
= x and
A89: for l be
Element of A9 st l
in (
rng (p
^
<*x*>)) & l
<> x holds
[l, d1]
in R by
A75;
reconsider d = d1 as
Element of A9;
(
len q)
in (
Seg (
len q)) by
A70,
FINSEQ_1: 3;
then
A90: (
len q)
in (
dom q) by
FINSEQ_1:def 3;
then (q
. (
len q))
in (
rng q) by
FUNCT_1:def 3;
then
reconsider k = (q
. (
len q)) as
Element of A9;
A91: k
= (q
/. (
len q)) by
A90,
PARTFUN1:def 6;
A92: (
field R)
= X by
ORDERS_1: 12;
assume (q
. ((
len q9)
+ m))
<> x;
then
A93: (q
. (
len q))
<> x by
A71,
A72,
A86,
TARSKI:def 1;
x
in
{x} by
TARSKI:def 1;
then x
in (
rng
<*x*>) by
FINSEQ_1: 38;
then x
in ((
rng p)
\/ (
rng
<*x*>)) by
XBOOLE_0:def 3;
then x
in (
rng q) by
A68,
FINSEQ_1: 31;
then
consider y be
object such that
A94: y
in (
dom q) and
A95: x
= (q
. y) by
FUNCT_1:def 3;
A96: y
in (
Seg (
len q)) by
A94,
FINSEQ_1:def 3;
reconsider y as
Element of
NAT by
A94;
y
<= (
len q) by
A96,
FINSEQ_1: 1;
then
A97: y
< (
len q) by
A93,
A95,
XXREAL_0: 1;
(q
. (
len q))
in (
rng (p
^
<*x*>)) by
A68,
A90,
FUNCT_1:def 3;
then
A98:
[k, d]
in R by
A93,
A89;
A99: d
= (q
/. y) by
A88,
A94,
A95,
PARTFUN1:def 6;
then
A100:
[d, k]
in R by
A69,
A94,
A90,
A97,
A91;
k
<> d by
A69,
A94,
A90,
A97,
A91,
A99;
hence contradiction by
A98,
A100,
A92,
RELAT_2:def 4,
RELAT_2:def 12;
end;
m
= 1 by
A86,
TARSKI:def 1;
hence thesis by
A87,
FINSEQ_1: 40;
end;
now
let x be
object;
A101: n
<= (n
+ 1) by
NAT_1: 11;
assume x
in (
rng q9);
then
consider y be
object such that
A102: y
in (
dom q9) and
A103: x
= (q9
. y) by
FUNCT_1:def 3;
A104: y
in (
Seg (
len q9)) by
A102,
FINSEQ_1:def 3;
reconsider y as
Element of
NAT by
A102;
y
<= n by
A72,
A104,
FINSEQ_1: 1;
then
A105: y
<= (n
+ 1) by
A101,
XXREAL_0: 2;
1
<= y by
A104,
FINSEQ_1: 1;
then y
in (
dom q) by
A71,
A105,
FINSEQ_3: 25;
then (q
. y)
in (
rng q) by
FUNCT_1:def 3;
then (q
. y)
in A9;
hence x
in A9 by
A73,
A102,
A103;
end;
then
reconsider f = q9 as
FinSequence of A9 by
FINSEQ_1:def 4,
TARSKI:def 3;
(
dom q)
= (
Seg (n
+ 1)) by
A71,
FINSEQ_1:def 3
.= (
Seg ((
len q9)
+ (
len
<*x*>))) by
A72,
FINSEQ_1: 39;
then
A106: (q9
^
<*x*>)
= q by
A73,
A85,
FINSEQ_1:def 7;
A107: not x
in (
rng p)
proof
((
len p)
+ 1)
= ((
len p)
+ (
len
<*x*>)) by
FINSEQ_1: 39
.= (
len (p
^
<*x*>)) by
FINSEQ_1: 22;
then ((
len p)
+ 1)
in (
Seg (
len (p
^
<*x*>))) by
FINSEQ_1: 4;
then
A108: ((
len p)
+ 1)
in (
dom (p
^
<*x*>)) by
FINSEQ_1:def 3;
assume x
in (
rng p);
then
consider y be
object such that
A109: y
in (
dom p) and
A110: x
= (p
. y) by
FUNCT_1:def 3;
A111: y
in (
Seg (
len p)) by
A109,
FINSEQ_1:def 3;
A112: (
dom p)
c= (
dom (p
^
<*x*>)) by
FINSEQ_1: 26;
reconsider y as
Element of
NAT by
A109;
x
= ((p
^
<*x*>) qua
FinSequence of A9
. y) by
A109,
A110,
FINSEQ_1:def 7;
then
A113: x
= ((p
^
<*x*>) qua
FinSequence of A9
/. y) by
A109,
A112,
PARTFUN1:def 6;
y
<= (
len p) by
A111,
FINSEQ_1: 1;
then
A114: y
< ((
len p)
+ 1) by
NAT_1: 13;
x
= ((p
^
<*x*>) qua
FinSequence of A9
. ((
len p)
+ 1)) by
FINSEQ_1: 42;
then ((p
^
<*x*>) qua
FinSequence of A9
/. y)
= ((p
^
<*x*>) qua
FinSequence of A9
/. ((
len p)
+ 1)) by
A108,
A113,
PARTFUN1:def 6;
hence contradiction by
A67,
A109,
A108,
A112,
A114;
end;
A115: for z be
object holds z
in (((
rng p)
\/
{x})
\
{x}) iff z
in (
rng p)
proof
let z be
object;
thus z
in (((
rng p)
\/
{x})
\
{x}) implies z
in (
rng p)
proof
assume
A116: z
in (((
rng p)
\/
{x})
\
{x});
then
A117: not z
in
{x} by
XBOOLE_0:def 5;
z
in ((
rng p)
\/
{x}) by
A116,
XBOOLE_0:def 5;
hence thesis by
A117,
XBOOLE_0:def 3;
end;
assume
A118: z
in (
rng p);
then
A119: z
in ((
rng p)
\/
{x}) by
XBOOLE_0:def 3;
not z
in
{x} by
A107,
A118,
TARSKI:def 1;
hence thesis by
A119,
XBOOLE_0:def 5;
end;
(
rng (p
^
<*x*>))
= ((
rng p)
\/ (
rng
<*x*>)) by
FINSEQ_1: 31
.= ((
rng p)
\/
{x}) by
FINSEQ_1: 39;
then
A120: (
rng p)
= ((
rng (p
^
<*x*>))
\
{x}) by
A115,
TARSKI: 2;
A121: (
rng f)
= (
rng p) & for l,m be
Nat st l
in (
dom f) & m
in (
dom f) & l
< m holds (f
/. l)
<> (f
/. m) &
[(f
/. l), (f
/. m)]
in R
proof
A122: not x
in (
rng f)
proof
((
len f)
+ 1)
= ((
len f)
+ (
len
<*x*>)) by
FINSEQ_1: 39
.= (
len (f
^
<*x*>)) by
FINSEQ_1: 22;
then ((
len f)
+ 1)
in (
Seg (
len (f
^
<*x*>))) by
FINSEQ_1: 4;
then
A123: ((
len f)
+ 1)
in (
dom (f
^
<*x*>)) by
FINSEQ_1:def 3;
assume x
in (
rng f);
then
consider y be
object such that
A124: y
in (
dom f) and
A125: x
= (f
. y) by
FUNCT_1:def 3;
A126: y
in (
Seg (
len f)) by
A124,
FINSEQ_1:def 3;
A127: (
dom f)
c= (
dom (f
^
<*x*>)) by
FINSEQ_1: 26;
reconsider y as
Element of
NAT by
A124;
x
= (q
. y) by
A73,
A124,
A125;
then
A128: x
= (q
/. y) by
A106,
A124,
A127,
PARTFUN1:def 6;
y
<= (
len f) by
A126,
FINSEQ_1: 1;
then
A129: y
< ((
len f)
+ 1) by
NAT_1: 13;
x
= (q
. ((
len f)
+ 1)) by
A106,
FINSEQ_1: 42;
then (q
/. y)
= (q
/. ((
len f)
+ 1)) by
A106,
A123,
A128,
PARTFUN1:def 6;
hence contradiction by
A69,
A106,
A124,
A123,
A127,
A129;
end;
A130: for z be
object holds z
in (((
rng f)
\/
{x})
\
{x}) iff z
in (
rng f)
proof
let z be
object;
hereby
assume
A131: z
in (((
rng f)
\/
{x})
\
{x});
then
A132: not z
in
{x} by
XBOOLE_0:def 5;
z
in ((
rng f)
\/
{x}) by
A131,
XBOOLE_0:def 5;
hence z
in (
rng f) by
A132,
XBOOLE_0:def 3;
end;
assume
A133: z
in (
rng f);
then
A134: z
in ((
rng f)
\/
{x}) by
XBOOLE_0:def 3;
not z
in
{x} by
A122,
A133,
TARSKI:def 1;
hence thesis by
A134,
XBOOLE_0:def 5;
end;
(
rng (f
^
<*x*>))
= ((
rng f)
\/ (
rng
<*x*>)) by
FINSEQ_1: 31
.= ((
rng f)
\/
{x}) by
FINSEQ_1: 39;
hence (
rng f)
= (
rng p) by
A68,
A106,
A120,
A130,
TARSKI: 2;
let l,m be
Nat;
assume that
A135: l
in (
dom f) and
A136: m
in (
dom f) and
A137: l
< m;
A138: (f
. m)
= (f
/. m) by
A136,
PARTFUN1:def 6;
A139: (
dom f)
c= (
dom q) by
A106,
FINSEQ_1: 26;
then (q
. m)
= (q
/. m) by
A136,
PARTFUN1:def 6;
then
A140: (f
/. m)
= (q
/. m) by
A73,
A136,
A138;
A141: (f
. l)
= (f
/. l) by
A135,
PARTFUN1:def 6;
(q
. l)
= (q
/. l) by
A139,
A135,
PARTFUN1:def 6;
then (f
/. l)
= (q
/. l) by
A73,
A135,
A141;
hence thesis by
A69,
A139,
A135,
A136,
A137,
A140;
end;
p is
FinSequence of A9 & for l,m be
Nat st l
in (
dom p) & m
in (
dom p) & l
< m holds (p
/. l)
<> (p
/. m) &
[(p
/. l), (p
/. m)]
in R
proof
thus p is
FinSequence of A9;
let l,m be
Nat;
assume that
A142: l
in (
dom p) and
A143: m
in (
dom p) and
A144: l
< m;
A145: (
dom p)
c= (
dom (p
^
<*x*>)) by
FINSEQ_1: 26;
(p
. m)
= ((p
^
<*x*>)
. m) by
A143,
FINSEQ_1:def 7;
then (p
. m)
= ((p
^
<*x*>) qua
FinSequence of A9
/. m) by
A143,
A145,
PARTFUN1:def 6;
then
A146: (p
/. m)
= ((p
^
<*x*>) qua
FinSequence of A9
/. m) by
A143,
PARTFUN1:def 6;
(p
. l)
= ((p
^
<*x*>)
. l) by
A142,
FINSEQ_1:def 7;
then (p
. l)
= ((p
^
<*x*>) qua
FinSequence of A9
/. l) by
A142,
A145,
PARTFUN1:def 6;
then (p
/. l)
= ((p
^
<*x*>) qua
FinSequence of A9
/. l) by
A142,
PARTFUN1:def 6;
hence thesis by
A67,
A142,
A143,
A144,
A145,
A146;
end;
hence thesis by
A66,
A106,
A121;
end;
A147:
now
let n,m be
Nat;
assume that
A148: n
in (
dom p) and
A149: m
in (
dom p) and
A150: n
< m;
A151: (p
/. m)
= (p
. m) by
A149,
PARTFUN1:def 6
.= (p9
/. m) by
A149,
PARTFUN1:def 6;
(p
/. n)
= (p
. n) by
A148,
PARTFUN1:def 6
.= (p9
/. n) by
A148,
PARTFUN1:def 6;
hence (p
/. n)
<> (p
/. m) &
[(p
/. n), (p
/. m)]
in R by
A60,
A148,
A149,
A150,
A151;
end;
A152:
now
let n,m be
Nat;
assume that
A153: n
in (
dom q) and
A154: m
in (
dom q) and
A155: n
< m;
A156: (q
/. m)
= (q
. m) by
A154,
PARTFUN1:def 6
.= (q9
/. m) by
A154,
PARTFUN1:def 6;
(q
/. n)
= (q
. n) by
A153,
PARTFUN1:def 6
.= (q9
/. n) by
A153,
PARTFUN1:def 6;
hence (q
/. n)
<> (q
/. m) &
[(q
/. n), (q
/. m)]
in R by
A62,
A153,
A154,
A155,
A156;
end;
A157:
X[E];
for p be
FinSequence of A9 holds
X[p] from
FINSEQ_2:sch 2(
A157,
A65);
hence thesis by
A59,
A61,
A147,
A152;
end;
end;
end
::$Canceled
theorem ::
PRE_POLY:9
for X be
set, A be
finite
Subset of X, R be
Order of X, f be
FinSequence of X st (
rng f)
= A & for n,m be
Nat st n
in (
dom f) & m
in (
dom f) & n
< m holds (f
/. n)
<> (f
/. m) &
[(f
/. n), (f
/. m)]
in R holds f
= (
SgmX (R,A))
proof
let X be
set, A be
finite
Subset of X, R be
Order of X, f be
FinSequence of X;
assume that
A1: (
rng f)
= A and
A2: for n,m be
Nat st n
in (
dom f) & m
in (
dom f) & n
< m holds (f
/. n)
<> (f
/. m) &
[(f
/. n), (f
/. m)]
in R;
now
let a,b be
object;
assume that
A3: a
in A and
A4: b
in A and
A5: a
<> b;
consider n be
Nat such that
A6: n
in (
dom f) and
A7: (f
. n)
= a by
A1,
A3,
FINSEQ_2: 10;
consider m be
Nat such that
A8: m
in (
dom f) and
A9: (f
. m)
= b by
A1,
A4,
FINSEQ_2: 10;
A10: (f
/. m)
= (f
. m) by
A8,
PARTFUN1:def 6;
A11: (f
/. n)
= (f
. n) by
A6,
PARTFUN1:def 6;
now
assume that
A12: not
[a, b]
in R and
A13: not
[b, a]
in R;
per cases ;
suppose n
= m;
hence contradiction by
A5,
A7,
A9;
end;
suppose
A14: n
<> m;
now
per cases by
A14,
XXREAL_0: 1;
suppose n
> m;
hence contradiction by
A2,
A6,
A7,
A8,
A9,
A11,
A10,
A13;
end;
suppose m
> n;
hence contradiction by
A2,
A6,
A7,
A8,
A9,
A11,
A10,
A12;
end;
end;
hence contradiction;
end;
end;
hence
[a, b]
in R or
[b, a]
in R;
end;
then
A15: R
is_connected_in A;
A16: (
field R)
= X by
ORDERS_1: 12;
then
A17: R
is_antisymmetric_in A by
ORDERS_1: 9,
RELAT_2:def 12;
R
is_transitive_in X by
A16,
RELAT_2:def 16;
then
A18: R
is_transitive_in A;
R
is_reflexive_in X by
A16,
RELAT_2:def 9;
then R
is_reflexive_in A;
then R
linearly_orders A by
A17,
A18,
A15,
ORDERS_1:def 9;
hence thesis by
A1,
A2,
Def2;
end;
registration
let X be
set, F be non
empty
Subset of (
Fin X);
cluster ->
finite for
Element of F;
coherence ;
end
definition
let X be
set, F be non
empty
Subset of (
Fin X);
:: original:
Element
redefine
mode
Element of F ->
Subset of X ;
coherence
proof
let a be
Element of F;
thus thesis by
FINSUB_1: 16;
end;
end
theorem ::
PRE_POLY:10
Th9: for X be
set, A be
finite
Subset of X, R be
Order of X st R
linearly_orders A holds (
SgmX (R,A)) is
one-to-one
proof
let X be
set, A be
finite
Subset of X, R be
Order of X;
set f = (
SgmX (R,A));
assume
A1: R
linearly_orders A;
then (
rng f)
= A by
Def2;
then
reconsider f as
FinSequence of A by
FINSEQ_1:def 4;
f is
one-to-one
proof
let k,l be
object;
assume that
A2: k
in (
dom f) and
A3: l
in (
dom f) and
A4: (f
. k)
= (f
. l);
reconsider k, l as
Element of
NAT by
A2,
A3;
reconsider fk = (f
. k) as
Element of A by
A2,
FINSEQ_2: 11;
reconsider fl = (f
. l) as
Element of A by
A3,
FINSEQ_2: 11;
A5: fl
= (f
/. l) by
A3,
PARTFUN1:def 6;
A6: fk
= (f
/. k) by
A2,
PARTFUN1:def 6;
now
A7: (f
/. l)
= (f
. l) by
A3,
PARTFUN1:def 6
.= ((
SgmX (R,A))
/. l) by
A3,
PARTFUN1:def 6;
A8: (f
/. k)
= (f
. k) by
A2,
PARTFUN1:def 6
.= ((
SgmX (R,A))
/. k) by
A2,
PARTFUN1:def 6;
assume
A9: k
<> l;
per cases by
A9,
XXREAL_0: 1;
suppose k
< l;
hence contradiction by
A1,
A2,
A3,
A4,
A6,
A5,
A8,
A7,
Def2;
end;
suppose l
< k;
hence contradiction by
A1,
A2,
A3,
A4,
A6,
A5,
A8,
A7,
Def2;
end;
end;
hence thesis;
end;
hence thesis;
end;
theorem ::
PRE_POLY:11
Th10: for X be
set, A be
finite
Subset of X, R be
Order of X st R
linearly_orders A holds (
len (
SgmX (R,A)))
= (
card A)
proof
let X be
set, A be
finite
Subset of X, R be
Order of X;
set f = (
SgmX (R,A));
A1: (
dom f)
= (
Seg (
len f)) by
FINSEQ_1:def 3;
A2: (
card (
Seg (
len f)))
= (
card (
len f)) by
CARD_1: 5,
FINSEQ_1: 54;
assume
A3: R
linearly_orders A;
then
A4: f is
one-to-one by
Th9;
(
rng f)
= A by
A3,
Def2;
hence thesis by
A2,
A1,
A4,
CARD_1: 5,
WELLORD2:def 4;
end;
begin
reserve n for
Nat,
x for
object;
theorem ::
PRE_POLY:12
Th11: for M be
FinSequence st (
len M)
= (n
+ 1) holds (
len (
Del (M,(n
+ 1))))
= n
proof
let M be
FinSequence;
assume
A1: (
len M)
= (n
+ 1);
then (n
+ 1)
in (
Seg (
len M)) by
FINSEQ_1: 4;
then (n
+ 1)
in (
dom M) by
FINSEQ_1:def 3;
hence thesis by
A1,
FINSEQ_3: 109;
end;
theorem ::
PRE_POLY:13
for M be
FinSequence st M
<>
{} holds M
= ((
Del (M,(
len M)))
^
<*(M
. (
len M))*>)
proof
let M be
FinSequence;
assume M
<>
{} ;
then
consider q be
FinSequence, x be
object such that
A1: M
= (q
^
<*x*>) by
FINSEQ_1: 46;
A2: (
len M)
= ((
len q)
+ (
len
<*x*>)) by
A1,
FINSEQ_1: 22
.= ((
len q)
+ 1) by
FINSEQ_1: 39;
then
A3: (
len (
Del (M,(
len M))))
= (
len q) by
Th11;
A4: (
dom q)
= (
Seg (
len q)) by
FINSEQ_1:def 3;
A5:
now
let i be
Nat;
assume
A6: i
in (
dom q);
then i
<= (
len q) by
A4,
FINSEQ_1: 1;
then i
in
NAT & i
< (
len M) by
A2,
NAT_1: 13,
ORDINAL1:def 12;
hence ((
Del (M,(
len M)))
. i)
= (M
. i) by
FINSEQ_3: 110
.= (q
. i) by
A1,
A6,
FINSEQ_1:def 7;
end;
(M
. (
len M))
= x by
A1,
A2,
FINSEQ_1: 42;
hence thesis by
A1,
A3,
A5,
FINSEQ_2: 9;
end;
definition
let IT be
Function;
::
PRE_POLY:def3
attr IT is
FinSequence-yielding means
:
Def3: for x st x
in (
dom IT) holds (IT
. x) is
FinSequence;
end
registration
cluster
FinSequence-yielding for
Function;
existence
proof
set f = the
FinSequence, I = the
set;
take F = (I
--> f);
let x;
assume x
in (
dom F);
hence thesis by
FUNCOP_1: 7;
end;
end
definition
let F,G be
FinSequence-yielding
Function;
::
PRE_POLY:def4
func F
^^ G ->
Function means
:
Def4: (
dom it )
= ((
dom F)
/\ (
dom G)) & for i be
set st i
in (
dom it ) holds for f,g be
FinSequence st f
= (F
. i) & g
= (G
. i) holds (it
. i)
= (f
^ g);
existence
proof
defpred
P[
object,
object] means for f be
FinSequence, g be
FinSequence st f
= (F
. $1) & g
= (G
. $1) holds $2
= (f
^ g);
A1: for i be
object st i
in ((
dom F)
/\ (
dom G)) holds ex u be
object st
P[i, u]
proof
let i be
object;
assume i
in ((
dom F)
/\ (
dom G));
then i
in (
dom F) & i
in (
dom G) by
XBOOLE_0:def 4;
then
reconsider f = (F
. i), g = (G
. i) as
FinSequence by
Def3;
take (f
^ g);
thus thesis;
end;
consider H be
Function such that
A2: (
dom H)
= ((
dom F)
/\ (
dom G)) & for i be
object st i
in ((
dom F)
/\ (
dom G)) holds
P[i, (H
. i)] from
CLASSES1:sch 1(
A1);
take H;
thus thesis by
A2;
end;
uniqueness
proof
let F1,F2 be
Function such that
A3: (
dom F1)
= ((
dom F)
/\ (
dom G)) and
A4: for i be
set st i
in (
dom F1) holds for f,g be
FinSequence st f
= (F
. i) & g
= (G
. i) holds (F1
. i)
= (f
^ g) and
A5: (
dom F2)
= ((
dom F)
/\ (
dom G)) and
A6: for i be
set st i
in (
dom F2) holds for f,g be
FinSequence st f
= (F
. i) & g
= (G
. i) holds (F2
. i)
= (f
^ g);
now
let x be
object;
assume
A7: x
in (
dom F1);
then x
in (
dom F) & x
in (
dom G) by
A3,
XBOOLE_0:def 4;
then
reconsider f = (F
. x), g = (G
. x) as
FinSequence by
Def3;
thus (F1
. x)
= (f
^ g) by
A4,
A7
.= (F2
. x) by
A3,
A5,
A6,
A7;
end;
hence thesis by
A3,
A5;
end;
end
registration
let F,G be
FinSequence-yielding
Function;
cluster (F
^^ G) ->
FinSequence-yielding;
coherence
proof
let x be
object;
assume
A1: x
in (
dom (F
^^ G));
then
A2: x
in ((
dom F)
/\ (
dom G)) by
Def4;
then x
in (
dom F) by
XBOOLE_0:def 4;
then
reconsider f = (F
. x) as
FinSequence by
Def3;
x
in (
dom G) by
A2,
XBOOLE_0:def 4;
then
reconsider g = (G
. x) as
FinSequence by
Def3;
((F
^^ G)
. x)
= (f
^ g) by
A1,
Def4;
hence thesis;
end;
end
begin
reserve V,C for
set;
theorem ::
PRE_POLY:14
for V,C be non
empty
set holds ex f be
Element of (
PFuncs (V,C)) st f
<>
{}
proof
let V,C be non
empty
set;
consider a be
object such that
A1: a
in V by
XBOOLE_0:def 1;
consider b be
object such that
A2: b
in C by
XBOOLE_0:def 1;
set f =
{
[a, b]};
{a}
c= V by
A1,
ZFMISC_1: 31;
then
A3: (
dom f)
c= V by
RELAT_1: 9;
{b}
c= C by
A2,
ZFMISC_1: 31;
then (
rng f)
c= C by
RELAT_1: 9;
then
reconsider f as
Element of (
PFuncs (V,C)) by
A3,
PARTFUN1:def 3;
f
<>
{} ;
hence thesis;
end;
theorem ::
PRE_POLY:15
for f be
Element of (
PFuncs (V,C)), g be
set st g
c= f holds g
in (
PFuncs (V,C))
proof
let f be
Element of (
PFuncs (V,C)), g be
set;
consider f1 be
Function such that
A1: f1
= f and
A2: (
dom f1)
c= V and
A3: (
rng f1)
c= C by
PARTFUN1:def 3;
assume
A4: g
c= f;
then
reconsider g9 = g as
Function;
(
rng g9)
c= (
rng f1) by
A4,
A1,
RELAT_1: 11;
then
A5: (
rng g9)
c= C by
A3;
(
dom g9)
c= (
dom f1) by
A4,
A1,
RELAT_1: 11;
then (
dom g9)
c= V by
A2;
hence thesis by
A5,
PARTFUN1:def 3;
end;
theorem ::
PRE_POLY:16
Th15: (
PFuncs (V,C))
c= (
bool
[:V, C:])
proof
let x be
object;
assume x
in (
PFuncs (V,C));
then
consider f be
Function such that
A1: x
= f and
A2: (
dom f)
c= V and
A3: (
rng f)
c= C by
PARTFUN1:def 3;
A4: f
c=
[:(
dom f), (
rng f):] by
RELAT_1: 7;
[:(
dom f), (
rng f):]
c=
[:V, C:] by
A2,
A3,
ZFMISC_1: 96;
then f
c=
[:V, C:] by
A4;
hence thesis by
A1;
end;
theorem ::
PRE_POLY:17
Th16: V is
finite & C is
finite implies (
PFuncs (V,C)) is
finite
proof
assume that
A1: V is
finite and
A2: C is
finite;
(
PFuncs (V,C))
c= (
bool
[:V, C:]) by
Th15;
hence thesis by
A1,
A2;
end;
registration
cluster
functional
finite non
empty for
set;
existence
proof
set A = the
finite non
empty
set;
take P = (
PFuncs (A,A));
thus P is
functional;
thus P is
finite by
Th16;
thus thesis;
end;
end
begin
registration
let D be
set;
cluster ->
FinSequence-yielding for
FinSequence of (D
* );
coherence ;
end
registration
cluster
FinSequence-yielding ->
Function-yielding for
Function;
coherence
proof
let f be
Function;
assume
A1: f is
FinSequence-yielding;
let x be
object;
thus thesis by
A1;
end;
end
begin
theorem ::
PRE_POLY:18
Th17: for X be
set, R be
Relation st (
field R)
c= X holds R is
Relation of X
proof
let X be
set, R be
Relation;
assume
A1: (
field R)
c= X;
R
c=
[:X, X:]
proof
let x,y be
object;
assume
[x, y]
in R;
then x
in (
field R) & y
in (
field R) by
RELAT_1: 15;
hence thesis by
A1,
ZFMISC_1:def 2;
end;
hence thesis;
end;
registration
let X be
set, f be
ManySortedSet of X, x,y be
object;
cluster (f
+* (x,y)) -> X
-defined;
coherence
proof
(
dom (f
+* (x,y)))
= (
dom f) by
FUNCT_7: 30
.= X by
PARTFUN1:def 2;
hence thesis;
end;
end
registration
let X be
set, f be
ManySortedSet of X, x,y be
object;
cluster (f
+* (x,y)) ->
total;
coherence
proof
(
dom (f
+* (x,y)))
= (
dom f) by
FUNCT_7: 30
.= X by
PARTFUN1:def 2;
hence thesis by
PARTFUN1:def 2;
end;
end
theorem ::
PRE_POLY:19
Th18: for f be
one-to-one
Function holds (
card f)
= (
card (
rng f))
proof
let f be
one-to-one
Function;
A1: (
rng f)
= (
dom (f
" )) & (
dom f)
= (
rng (f
" )) by
FUNCT_1: 33;
(
card (
rng f))
c= (
card (
dom f)) & (
card (
rng (f
" )))
c= (
card (
dom (f
" ))) by
CARD_2: 61;
then (
card (
rng f))
= (
card (
dom f)) by
A1;
hence thesis by
CARD_1: 62;
end;
definition
let A be
set;
let X be
set, D be non
empty
FinSequenceSet of A, p be
PartFunc of X, D, i be
set;
:: original:
/.
redefine
func p
/. i ->
Element of D ;
coherence ;
end
registration
let X be
set;
cluster
being_linear-order
well-ordering for
Order of X;
existence
proof
consider R be
Relation such that
A1: R is
well-ordering and
A2: (
field R)
= X by
WELLSET1: 6;
reconsider R as
Relation of X by
A2,
Th17;
R is
reflexive by
A1;
then R
is_reflexive_in X by
A2;
then (
dom R)
= X by
ORDERS_1: 13;
then
reconsider R as
Order of X by
A1,
PARTFUN1:def 2;
take R;
thus thesis by
A1,
ORDERS_1:def 6;
end;
end
theorem ::
PRE_POLY:20
Th19: for X be non
empty
set, A be non
empty
finite
Subset of X, R be
Order of X, x be
Element of X st x
in A & R
linearly_orders A & for y be
Element of X st y
in A holds
[x, y]
in R holds ((
SgmX (R,A))
/. 1)
= x
proof
let X be non
empty
set, A be non
empty
finite
Subset of X, R be
Order of X, x be
Element of X;
assume that
A1: x
in A and
A2: R
linearly_orders A and
A3: for y be
Element of X st y
in A holds
[x, y]
in R and
A4: ((
SgmX (R,A))
/. 1)
<> x;
A5: A
= (
rng (
SgmX (R,A))) by
A2,
Def2;
then
consider i be
Element of
NAT such that
A6: i
in (
dom (
SgmX (R,A))) and
A7: ((
SgmX (R,A))
/. i)
= x by
A1,
PARTFUN2: 2;
(
SgmX (R,A)) is non
empty by
A2,
Def2,
RELAT_1: 38;
then
A8: 1
in (
dom (
SgmX (R,A))) by
FINSEQ_5: 6;
then
A9:
[x, ((
SgmX (R,A))
/. 1)]
in R by
A3,
A5,
PARTFUN2: 2;
A10: (
field R)
= X by
ORDERS_1: 12;
1
<= i by
A6,
FINSEQ_3: 25;
then 1
< i by
A4,
A7,
XXREAL_0: 1;
then
[((
SgmX (R,A))
/. 1), x]
in R by
A2,
A6,
A7,
A8,
Def2;
hence contradiction by
A4,
A9,
A10,
RELAT_2:def 4,
RELAT_2:def 12;
end;
theorem ::
PRE_POLY:21
Th20: for X be non
empty
set, A be non
empty
finite
Subset of X, R be
Order of X, x be
Element of X st x
in A & R
linearly_orders A & for y be
Element of X st y
in A holds
[y, x]
in R holds ((
SgmX (R,A))
/. (
len (
SgmX (R,A))))
= x
proof
let X be non
empty
set, A be non
empty
finite
Subset of X, R be
Order of X, x be
Element of X;
assume that
A1: x
in A and
A2: R
linearly_orders A and
A3: for y be
Element of X st y
in A holds
[y, x]
in R and
A4: ((
SgmX (R,A))
/. (
len (
SgmX (R,A))))
<> x;
set L = (
len (
SgmX (R,A)));
A5: A
= (
rng (
SgmX (R,A))) by
A2,
Def2;
then
consider i be
Element of
NAT such that
A6: i
in (
dom (
SgmX (R,A))) and
A7: ((
SgmX (R,A))
/. i)
= x by
A1,
PARTFUN2: 2;
(
SgmX (R,A)) is non
empty by
A2,
Def2,
RELAT_1: 38;
then
A8: L
in (
dom (
SgmX (R,A))) by
FINSEQ_5: 6;
then
A9:
[((
SgmX (R,A))
/. L), x]
in R by
A3,
A5,
PARTFUN2: 2;
A10: (
field R)
= X by
ORDERS_1: 12;
i
<= L by
A6,
FINSEQ_3: 25;
then i
< L by
A4,
A7,
XXREAL_0: 1;
then
[x, ((
SgmX (R,A))
/. L)]
in R by
A2,
A6,
A7,
A8,
Def2;
hence contradiction by
A4,
A9,
A10,
RELAT_2:def 4,
RELAT_2:def 12;
end;
registration
let X be non
empty
set, A be non
empty
finite
Subset of X, R be
being_linear-order
Order of X;
cluster (
SgmX (R,A)) -> non
empty
one-to-one;
coherence
proof
(
field R)
= X by
ORDERS_1: 15;
then R
linearly_orders A by
ORDERS_1: 37,
ORDERS_1: 38;
hence thesis by
Th9,
Def2,
RELAT_1: 38;
end;
end
registration
cluster
empty ->
FinSequence-yielding for
Function;
coherence ;
end
registration
let F,G be
FinSequence-yielding
FinSequence;
cluster (F
^^ G) ->
FinSequence-like;
coherence
proof
(
dom (F
^^ G))
= ((
dom F)
/\ (
dom G)) by
Def4
.= ((
Seg (
len F))
/\ (
dom G)) by
FINSEQ_1:def 3
.= ((
Seg (
len F))
/\ (
Seg (
len G))) by
FINSEQ_1:def 3
.= (
Seg (
min ((
len F),(
len G)))) by
FINSEQ_2: 2;
hence thesis by
FINSEQ_1:def 2;
end;
end
registration
let i be
Element of
NAT , f be
FinSequence;
cluster (i
|-> f) ->
FinSequence-yielding;
coherence by
FUNCOP_1: 7;
end
registration
let F be
FinSequence-yielding
FinSequence, x be
object;
cluster (F
. x) ->
FinSequence-like;
coherence
proof
per cases ;
suppose not x
in (
dom F);
hence thesis by
FUNCT_1:def 2;
end;
suppose x
in (
dom F);
hence thesis by
Def3;
end;
end;
end
registration
let F be
FinSequence;
cluster (
Card F) ->
FinSequence-like;
coherence
proof
(
dom (
Card F))
= (
dom F) by
CARD_3:def 2
.= (
Seg (
len F)) by
FINSEQ_1:def 3;
hence thesis by
FINSEQ_1:def 2;
end;
end
registration
cluster
Cardinal-yielding for
FinSequence;
existence
proof
take
{} ;
thus thesis;
end;
end
theorem ::
PRE_POLY:22
Th21: for f be
Function holds f is
Cardinal-yielding iff for y be
set st y
in (
rng f) holds y is
Cardinal
proof
let f be
Function;
hereby
assume
A1: f is
Cardinal-yielding;
let y be
set;
assume y
in (
rng f);
then ex x be
object st x
in (
dom f) & y
= (f
. x) by
FUNCT_1:def 3;
hence y is
Cardinal by
A1;
end;
assume
A2: for y be
set st y
in (
rng f) holds y is
Cardinal;
let x be
object;
assume x
in (
dom f);
then (f
. x)
in (
rng f) by
FUNCT_1:def 3;
hence thesis by
A2;
end;
registration
let F,G be
Cardinal-yielding
FinSequence;
cluster (F
^ G) ->
Cardinal-yielding;
coherence
proof
A1: (
rng (F
^ G))
= ((
rng F)
\/ (
rng G)) by
FINSEQ_1: 31;
now
let y be
set;
assume y
in (
rng (F
^ G));
then y
in (
rng F) or y
in (
rng G) by
A1,
XBOOLE_0:def 3;
hence y is
Cardinal by
Th21;
end;
hence thesis by
Th21;
end;
end
registration
cluster ->
Cardinal-yielding for
FinSequence of
NAT ;
coherence ;
end
registration
cluster
Cardinal-yielding for
FinSequence of
NAT ;
existence
proof
take (
<*>
NAT );
thus thesis;
end;
end
definition
let D be
set;
let F be
FinSequence of (D
* );
:: original:
Card
redefine
func
Card F ->
Cardinal-yielding
FinSequence of
NAT ;
coherence
proof
(
rng (
Card F))
c=
NAT
proof
let y be
object;
assume y
in (
rng (
Card F));
then
consider x be
object such that
A1: x
in (
dom (
Card F)) and
A2: y
= ((
Card F)
. x) by
FUNCT_1:def 3;
reconsider Fx = (F
. x) as
finite
set;
x
in (
dom F) by
A1,
CARD_3:def 2;
then y
= (
card Fx) by
A2,
CARD_3:def 2;
hence thesis;
end;
hence thesis by
FINSEQ_1:def 4;
end;
end
registration
let F be
FinSequence of
NAT , i be
Element of
NAT ;
cluster (F
| i) ->
Cardinal-yielding;
coherence ;
end
theorem ::
PRE_POLY:23
Th22: for F be
Function, X be
set holds (
Card (F
| X))
= ((
Card F)
| X)
proof
let F be
Function, X be
set;
A1: (
dom ((
Card F)
| X))
= ((
dom (
Card F))
/\ X) by
RELAT_1: 61
.= ((
dom F)
/\ X) by
CARD_3:def 2
.= (
dom (F
| X)) by
RELAT_1: 61;
now
let x be
object;
A2: (
dom (F
| X))
c= (
dom F) by
RELAT_1: 60;
assume
A3: x
in (
dom (F
| X));
hence (((
Card F)
| X)
. x)
= ((
Card F)
. x) by
A1,
FUNCT_1: 47
.= (
card (F
. x)) by
A3,
A2,
CARD_3:def 2
.= (
card ((F
| X)
. x)) by
A3,
FUNCT_1: 47;
end;
hence thesis by
A1,
CARD_3:def 2;
end;
registration
let F be
empty
Function;
cluster (
Card F) ->
empty;
coherence
proof
(
dom F) is
empty;
then (
dom (
Card F)) is
empty by
CARD_3:def 2;
hence thesis;
end;
end
theorem ::
PRE_POLY:24
Th23: for p be
set holds (
Card
<*p*>)
=
<*(
card p)*>
proof
let p be
set;
set Cp =
<*(
card p)*>;
A1: (
dom Cp)
=
{1} by
FINSEQ_1: 2,
FINSEQ_1: 38;
now
let x be
object;
assume x
in (
dom Cp);
then x
= 1 by
A1,
TARSKI:def 1;
hence (Cp
. x) is
Cardinal by
FINSEQ_1: 40;
end;
then
reconsider Cp as
Cardinal-Function by
CARD_3:def 1;
A2: (
dom
<*p*>)
=
{1} by
FINSEQ_1: 2,
FINSEQ_1: 38;
now
let x be
object;
assume x
in (
dom
<*p*>);
then
A3: x
= 1 by
A2,
TARSKI:def 1;
hence (
<*(
card p)*>
. x)
= (
card p) by
FINSEQ_1: 40
.= (
card (
<*p*>
. x)) by
A3,
FINSEQ_1: 40;
end;
then (
Card
<*p*>)
= Cp by
A1,
A2,
CARD_3:def 2;
hence thesis;
end;
theorem ::
PRE_POLY:25
Th24: for F,G be
FinSequence holds (
Card (F
^ G))
= ((
Card F)
^ (
Card G))
proof
let F,G be
FinSequence;
A1: (
dom (
Card G))
= (
dom G) by
CARD_3:def 2;
then
A2: (
len (
Card G))
= (
len G) by
FINSEQ_3: 29;
A3: (
dom (
Card F))
= (
dom F) by
CARD_3:def 2;
then
A4: (
len (
Card F))
= (
len F) by
FINSEQ_3: 29;
A5:
now
let x be
object;
assume
A6: x
in (
dom (F
^ G));
then
reconsider k = x as
Element of
NAT ;
x
in (
Seg ((
len F)
+ (
len G))) by
A6,
FINSEQ_1:def 7;
then
A7: 1
<= k by
FINSEQ_1: 1;
per cases ;
suppose k
<= (
len F);
then
A8: k
in (
dom F) by
A7,
FINSEQ_3: 25;
hence (((
Card F)
^ (
Card G))
. x)
= ((
Card F)
. k) by
A3,
FINSEQ_1:def 7
.= (
card (F
. k)) by
A8,
CARD_3:def 2
.= (
card ((F
^ G)
. x)) by
A8,
FINSEQ_1:def 7;
end;
suppose (
len F)
< k;
then not k
in (
dom F) by
FINSEQ_3: 25;
then
consider n be
Nat such that
A9: n
in (
dom G) and
A10: k
= ((
len F)
+ n) by
A6,
FINSEQ_1: 25;
thus (((
Card F)
^ (
Card G))
. x)
= ((
Card G)
. n) by
A1,
A4,
A9,
A10,
FINSEQ_1:def 7
.= (
card (G
. n)) by
A9,
CARD_3:def 2
.= (
card ((F
^ G)
. x)) by
A9,
A10,
FINSEQ_1:def 7;
end;
end;
(
dom ((
Card F)
^ (
Card G)))
= (
Seg ((
len (
Card F))
+ (
len (
Card G)))) by
FINSEQ_1:def 7
.= (
dom (F
^ G)) by
A4,
A2,
FINSEQ_1:def 7;
hence thesis by
A5,
CARD_3:def 2;
end;
registration
let X be
set;
cluster (
<*> X) ->
FinSequence-yielding;
coherence ;
end
registration
let f be
FinSequence;
cluster
<*f*> ->
FinSequence-yielding;
coherence
proof
let x be
object;
assume x
in (
dom
<*f*>);
then x
in
{1} by
FINSEQ_1: 2,
FINSEQ_1: 38;
then x
= 1 by
TARSKI:def 1;
hence thesis by
FINSEQ_1: 40;
end;
end
theorem ::
PRE_POLY:26
Th25: for f be
Function holds f is
FinSequence-yielding iff for y be
set st y
in (
rng f) holds y is
FinSequence
proof
let f be
Function;
hereby
assume
A1: f is
FinSequence-yielding;
let y be
set;
assume y
in (
rng f);
then ex x be
object st x
in (
dom f) & y
= (f
. x) by
FUNCT_1:def 3;
hence y is
FinSequence by
A1;
end;
assume
A2: for y be
set st y
in (
rng f) holds y is
FinSequence;
let x be
object;
assume x
in (
dom f);
then (f
. x)
in (
rng f) by
FUNCT_1:def 3;
hence thesis by
A2;
end;
registration
let F,G be
FinSequence-yielding
FinSequence;
cluster (F
^ G) ->
FinSequence-yielding;
coherence
proof
A1: (
rng (F
^ G))
= ((
rng F)
\/ (
rng G)) by
FINSEQ_1: 31;
now
let y be
set;
assume y
in (
rng (F
^ G));
then y
in (
rng F) or y
in (
rng G) by
A1,
XBOOLE_0:def 3;
hence y is
FinSequence by
Th25;
end;
hence thesis by
Th25;
end;
end
registration
let D be
set, F be
empty
FinSequence of (D
* );
cluster (
FlattenSeq F) ->
empty;
coherence
proof
F
= (
<*> (D
* ));
then (
FlattenSeq F)
= (
<*> D) by
Th2;
hence thesis;
end;
end
theorem ::
PRE_POLY:27
Th26: for D be
set, F be
FinSequence of (D
* ) holds (
len (
FlattenSeq F))
= (
Sum (
Card F))
proof
let D be
set;
defpred
P[
FinSequence of (D
* )] means (
len (
FlattenSeq $1))
= (
Sum (
Card $1));
A1:
now
let F be
FinSequence of (D
* ), p be
Element of (D
* ) such that
A2:
P[F];
(
len (
FlattenSeq (F
^
<*p*>)))
= (
len ((
FlattenSeq F)
^ (
FlattenSeq
<*p*>))) by
Th3
.= ((
Sum (
Card F))
+ (
len (
FlattenSeq
<*p*>))) by
A2,
FINSEQ_1: 22
.= ((
Sum (
Card F))
+ (
len p)) by
Th1
.= (
Sum ((
Card F)
^
<*(
len p)*>)) by
RVSUM_1: 74
.= (
Sum ((
Card F)
^ (
Card
<*p*>))) by
Th23
.= (
Sum (
Card (F
^
<*p*>))) by
Th24;
hence
P[(F
^
<*p*>)];
end;
A3:
P[(
<*> (D
* ))] by
RVSUM_1: 72;
thus for F be
FinSequence of (D
* ) holds
P[F] from
FINSEQ_2:sch 2(
A3,
A1);
end;
theorem ::
PRE_POLY:28
Th27: for D,E be
set, F be
FinSequence of (D
* ), G be
FinSequence of (E
* ) st (
Card F)
= (
Card G) holds (
len (
FlattenSeq F))
= (
len (
FlattenSeq G))
proof
let D,E be
set, F be
FinSequence of (D
* ), G be
FinSequence of (E
* );
assume (
Card F)
= (
Card G);
hence (
len (
FlattenSeq F))
= (
Sum (
Card G)) by
Th26
.= (
len (
FlattenSeq G)) by
Th26;
end;
theorem ::
PRE_POLY:29
Th28: for D be
set, F be
FinSequence of (D
* ), k be
set st k
in (
dom (
FlattenSeq F)) holds ex i,j be
Nat st i
in (
dom F) & j
in (
dom (F
. i)) & k
= ((
Sum (
Card (F
| (i
-' 1))))
+ j) & ((F
. i)
. j)
= ((
FlattenSeq F)
. k)
proof
let D be
set;
set F = (
<*> (D
* ));
defpred
P[
FinSequence of (D
* )] means for k be
set st k
in (
dom (
FlattenSeq $1)) holds ex i,j be
Nat st i
in (
dom $1) & j
in (
dom ($1
. i)) & k
= ((
Sum (
Card ($1
| (i
-' 1))))
+ j) & (($1
. i)
. j)
= ((
FlattenSeq $1)
. k);
A1: for F be
FinSequence of (D
* ), p be
Element of (D
* ) st
P[F] holds
P[(F
^
<*p*>)]
proof
let F be
FinSequence of (D
* ), p be
Element of (D
* );
assume
A2:
P[F];
let k be
set;
A3: (
FlattenSeq (F
^
<*p*>))
= ((
FlattenSeq F)
^ (
FlattenSeq
<*p*>)) by
Th3
.= ((
FlattenSeq F)
^ p) by
Th1;
A4: (
Sum (
Card F))
= (
len (
FlattenSeq F)) & ((F
^
<*p*>)
| (
len F))
= F by
Th26,
FINSEQ_5: 23;
assume
A5: k
in (
dom (
FlattenSeq (F
^
<*p*>)));
then
reconsider m = k as
Element of
NAT ;
per cases ;
suppose
A6: not k
in (
dom (
FlattenSeq F));
take i = ((
len F)
+ 1);
take j = (m
-' (
Sum (
Card ((F
^
<*p*>)
| (i
-' 1)))));
A7: 1
<= ((
len F)
+ 1) by
NAT_1: 11;
(
len (F
^
<*p*>))
= ((
len F)
+ (
len
<*p*>)) by
FINSEQ_1: 22
.= ((
len F)
+ 1) by
FINSEQ_1: 39;
hence i
in (
dom (F
^
<*p*>)) by
A7,
FINSEQ_3: 25;
A8: (
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
= (
len (
FlattenSeq F)) by
A4,
NAT_D: 34;
m
<= (
len ((
FlattenSeq F)
^ p)) by
A5,
A3,
FINSEQ_3: 25;
then m
<= ((
len (
FlattenSeq F))
+ (
len p)) by
FINSEQ_1: 22;
then
A9: j
<= (
len p) by
A8,
NAT_D: 53;
1
in (
dom
<*p*>) by
FINSEQ_5: 6;
then
A10: ((F
^
<*p*>)
. i)
= (
<*p*>
. 1) by
FINSEQ_1:def 7
.= p by
FINSEQ_1: 40;
1
<= m by
A5,
FINSEQ_3: 25;
then
A11: (
len (
FlattenSeq F))
< m by
A6,
FINSEQ_3: 25;
then ((
len (
FlattenSeq F))
+ 1)
<= m by
NAT_1: 13;
hence
A12: j
in (
dom ((F
^
<*p*>)
. i)) by
A10,
A9,
A8,
FINSEQ_3: 25,
NAT_D: 55;
thus k
= ((
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
+ j) by
A8,
A11,
XREAL_1: 235;
hence thesis by
A3,
A8,
A10,
A12,
FINSEQ_1:def 7;
end;
suppose
A13: k
in (
dom (
FlattenSeq F));
then
consider i,j be
Nat such that
A14: i
in (
dom F) and
A15: j
in (
dom (F
. i)) and
A16: k
= ((
Sum (
Card (F
| (i
-' 1))))
+ j) and
A17: ((F
. i)
. j)
= ((
FlattenSeq F)
. k) by
A2;
take i, j;
(
dom F)
c= (
dom (F
^
<*p*>)) by
FINSEQ_1: 26;
hence i
in (
dom (F
^
<*p*>)) by
A14;
thus j
in (
dom ((F
^
<*p*>)
. i)) by
A14,
A15,
FINSEQ_1:def 7;
A18: (i
-' 1)
<= i by
NAT_D: 35;
i
<= (
len F) by
A14,
FINSEQ_3: 25;
hence k
= ((
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
+ j) by
A16,
A18,
FINSEQ_5: 22,
XXREAL_0: 2;
((F
^
<*p*>)
. i)
= (F
. i) by
A14,
FINSEQ_1:def 7;
hence thesis by
A3,
A13,
A17,
FINSEQ_1:def 7;
end;
end;
A19:
P[F];
thus for F be
FinSequence of (D
* ) holds
P[F] from
FINSEQ_2:sch 2(
A19,
A1);
end;
theorem ::
PRE_POLY:30
Th29: for D be
set, F be
FinSequence of (D
* ), i,j be
Element of
NAT st i
in (
dom F) & j
in (
dom (F
. i)) holds ((
Sum (
Card (F
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq F)) & ((F
. i)
. j)
= ((
FlattenSeq F)
. ((
Sum (
Card (F
| (i
-' 1))))
+ j))
proof
let D be
set;
set F = (
<*> (D
* ));
defpred
P[
FinSequence of (D
* )] means for i,j be
Element of
NAT st i
in (
dom $1) & j
in (
dom ($1
. i)) holds ((
Sum (
Card ($1
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq $1)) & (($1
. i)
. j)
= ((
FlattenSeq $1)
. ((
Sum (
Card ($1
| (i
-' 1))))
+ j));
A1: for F be
FinSequence of (D
* ), p be
Element of (D
* ) st
P[F] holds
P[(F
^
<*p*>)]
proof
let F be
FinSequence of (D
* ), p be
Element of (D
* );
assume
A2: for i,j be
Element of
NAT st i
in (
dom F) & j
in (
dom (F
. i)) holds ((
Sum (
Card (F
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq F)) & ((F
. i)
. j)
= ((
FlattenSeq F)
. ((
Sum (
Card (F
| (i
-' 1))))
+ j));
let i,j be
Element of
NAT ;
assume that
A3: i
in (
dom (F
^
<*p*>)) and
A4: j
in (
dom ((F
^
<*p*>)
. i));
A5: (
FlattenSeq (F
^
<*p*>))
= ((
FlattenSeq F)
^ (
FlattenSeq
<*p*>)) by
Th3
.= ((
FlattenSeq F)
^ p) by
Th1;
per cases ;
suppose
A6: not i
in (
dom F);
1
<= i by
A3,
FINSEQ_3: 25;
then (
len F)
< i by
A6,
FINSEQ_3: 25;
then
A7: ((
len F)
+ 1)
<= i by
NAT_1: 13;
A8: (
len (F
^
<*p*>))
= ((
len F)
+ (
len
<*p*>)) by
FINSEQ_1: 22
.= ((
len F)
+ 1) by
FINSEQ_1: 40;
i
<= (
len (F
^
<*p*>)) by
A3,
FINSEQ_3: 25;
then
A9: i
= ((
len F)
+ 1) by
A8,
A7,
XXREAL_0: 1;
then (i
-' 1)
= (
len F) by
NAT_D: 34;
then
A10: ((F
^
<*p*>)
| (i
-' 1))
= F by
FINSEQ_5: 23;
A11: (
Sum (
Card F))
= (
len (
FlattenSeq F)) by
Th26;
1
in (
dom
<*p*>) by
FINSEQ_5: 6;
then
A12: ((F
^
<*p*>)
. i)
= (
<*p*>
. 1) by
A9,
FINSEQ_1:def 7
.= p by
FINSEQ_1: 40;
hence ((
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq (F
^
<*p*>))) by
A4,
A5,
A10,
A11,
FINSEQ_1: 28;
thus thesis by
A4,
A5,
A12,
A10,
A11,
FINSEQ_1:def 7;
end;
suppose
A13: i
in (
dom F);
then
A14: j
in (
dom (F
. i)) by
A4,
FINSEQ_1:def 7;
then
A15: ((
Sum (
Card (F
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq F)) by
A2,
A13;
A16: (i
-' 1)
<= i by
NAT_D: 35;
i
<= (
len F) by
A13,
FINSEQ_3: 25;
then
A17: ((F
^
<*p*>)
| (i
-' 1))
= (F
| (i
-' 1)) by
A16,
FINSEQ_5: 22,
XXREAL_0: 2;
(
dom (
FlattenSeq F))
c= (
dom (
FlattenSeq (F
^
<*p*>))) by
A5,
FINSEQ_1: 26;
hence ((
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
+ j)
in (
dom (
FlattenSeq (F
^
<*p*>))) by
A17,
A15;
thus (((F
^
<*p*>)
. i)
. j)
= ((F
. i)
. j) by
A13,
FINSEQ_1:def 7
.= ((
FlattenSeq F)
. ((
Sum (
Card (F
| (i
-' 1))))
+ j)) by
A2,
A13,
A14
.= ((
FlattenSeq (F
^
<*p*>))
. ((
Sum (
Card ((F
^
<*p*>)
| (i
-' 1))))
+ j)) by
A5,
A17,
A15,
FINSEQ_1:def 7;
end;
end;
A18:
P[F];
thus for F be
FinSequence of (D
* ) holds
P[F] from
FINSEQ_2:sch 2(
A18,
A1);
end;
theorem ::
PRE_POLY:31
Th30: for X,Y be non
empty
set, f be
FinSequence of (X
* ), v be
Function of X, Y holds (((
dom f)
--> v)
** f) is
FinSequence of (Y
* )
proof
let X,Y be non
empty
set, f be
FinSequence of (X
* ), v be
Function of X, Y;
set F = (((
dom f)
--> v)
** f);
A1: (
dom F)
= ((
dom ((
dom f)
--> v))
/\ (
dom f)) by
PBOOLE:def 19
.= ((
dom f)
/\ (
dom f))
.= (
dom f);
A2: (
rng F)
c= (Y
* )
proof
let y be
object;
assume y
in (
rng F);
then
consider x be
object such that
A3: x
in (
dom F) and
A4: y
= (F
. x) by
FUNCT_1:def 3;
reconsider x as
Element of
NAT by
A1,
A3;
(f
. x)
in (X
* ) by
A1,
A3,
FINSEQ_2: 11;
then
A5: (f
. x) is
FinSequence of X by
FINSEQ_1:def 11;
y
= ((((
dom f)
--> v)
. x)
* (f
. x)) by
A3,
A4,
PBOOLE:def 19
.= (v
* (f
. x)) by
A1,
A3,
FUNCOP_1: 7;
then y is
FinSequence of Y by
A5,
FINSEQ_2: 32;
hence thesis by
FINSEQ_1:def 11;
end;
(
dom F)
= (
Seg (
len f)) by
A1,
FINSEQ_1:def 3;
then F is
FinSequence-like by
FINSEQ_1:def 2;
hence thesis by
A2,
FINSEQ_1:def 4;
end;
theorem ::
PRE_POLY:32
for X,Y be non
empty
set, f be
FinSequence of (X
* ), v be
Function of X, Y holds ex F be
FinSequence of (Y
* ) st F
= (((
dom f)
--> v)
** f) & (v
* (
FlattenSeq f))
= (
FlattenSeq F)
proof
let X,Y be non
empty
set, f be
FinSequence of (X
* ), v be
Function of X, Y;
reconsider F = (((
dom f)
--> v)
** f) as
FinSequence of (Y
* ) by
Th30;
take F;
thus F
= (((
dom f)
--> v)
** f);
set Fl = (
FlattenSeq F);
set fl = (
FlattenSeq f);
reconsider vfl = (v
* fl) as
FinSequence of Y;
now
(
len fl)
= (
len vfl) by
FINSEQ_2: 33;
hence
A1: (
dom fl)
= (
dom vfl) by
FINSEQ_3: 29;
A2: (
dom F)
= ((
dom ((
dom f)
--> v))
/\ (
dom f)) by
PBOOLE:def 19
.= ((
dom f)
/\ (
dom f))
.= (
dom f);
A3:
now
let k be
object;
assume
A4: k
in (
dom f);
then
reconsider k1 = k as
Element of
NAT ;
A5: (F
. k)
= ((((
dom f)
--> v)
. k)
* (f
. k)) by
A2,
A4,
PBOOLE:def 19
.= (v
* (f
. k)) by
A4,
FUNCOP_1: 7;
(f
. k1)
in (X
* ) by
A4,
FINSEQ_2: 11;
then
reconsider fk = (f
. k) as
FinSequence of X by
FINSEQ_1:def 11;
thus ((
Card f)
. k)
= (
len fk) by
A4,
CARD_3:def 2
.= (
len (F
. k1)) by
A5,
FINSEQ_2: 33
.= ((
Card F)
. k) by
A2,
A4,
CARD_3:def 2;
end;
A6: (
dom f)
= (
dom (
Card f)) & (
dom f)
= (
dom (
Card F)) by
A2,
CARD_3:def 2;
then
A7: (
Card f)
= (
Card F) by
A3;
(
len fl)
= (
len Fl) by
A6,
A3,
Th27,
FUNCT_1: 2;
hence (
dom fl)
= (
dom Fl) by
FINSEQ_3: 29;
let k be
Nat;
assume
A8: k
in (
dom fl);
then
consider i,j be
Nat such that
A9: i
in (
dom f) and
A10: j
in (
dom (f
. i)) and
A11: k
= ((
Sum (
Card (f
| (i
-' 1))))
+ j) and
A12: ((f
. i)
. j)
= (fl
. k) by
Th28;
(f
. i)
in (X
* ) by
A9,
FINSEQ_2: 11;
then
reconsider fi = (f
. i) as
FinSequence of X by
FINSEQ_1:def 11;
(F
. i)
= ((((
dom f)
--> v)
. i)
* (f
. i)) by
A2,
A9,
PBOOLE:def 19
.= (v
* (f
. i)) by
A9,
FUNCOP_1: 7;
then (
len fi)
= (
len (F
. i)) by
FINSEQ_2: 33;
then
A13: j
in (
dom (F
. i)) by
A10,
FINSEQ_3: 29;
(f
. i)
in (X
* ) by
A9,
FINSEQ_2: 11;
then (
dom v)
= X & (f
. i) is
FinSequence of X by
FINSEQ_1:def 11,
FUNCT_2:def 1;
then (
rng (f
. i))
c= (
dom v) by
FINSEQ_1:def 4;
then
A14: j
in (
dom (v
* (f
. i))) by
A10,
RELAT_1: 27;
(
Card (F
| (i
-' 1)))
= (
Card (F
| (
Seg (i
-' 1)))) by
FINSEQ_1:def 15
.= ((
Card f)
| (
Seg (i
-' 1))) by
A7,
Th22
.= (
Card (f
| (
Seg (i
-' 1)))) by
Th22
.= (
Card (f
| (i
-' 1))) by
FINSEQ_1:def 15;
then (Fl
. k)
= ((F
. i)
. j) by
A2,
A9,
A11,
A13,
Th29
.= (((((
dom f)
--> v)
. i)
* (f
. i))
. j) by
A2,
A9,
PBOOLE:def 19
.= ((v
* (f
. i))
. j) by
A9,
FUNCOP_1: 7
.= (v
. ((f
. i)
. j)) by
A14,
FUNCT_1: 12;
hence (vfl
. k)
= (Fl
. k) by
A1,
A8,
A12,
FUNCT_1: 12;
end;
hence thesis;
end;
begin
registration
let f be
natural-valued
Function, x be
object, n be
Nat;
cluster (f
+* (x,n)) ->
natural-valued;
coherence
proof
set F = (f
+* (x,n));
let a be
object such that a
in (
dom F);
per cases ;
suppose x
in (
dom f) & x
= a;
hence thesis by
FUNCT_7: 31;
end;
suppose x
in (
dom f) & x
<> a;
then (F
. a)
= (f
. a) by
FUNCT_7: 32;
hence thesis;
end;
suppose not x
in (
dom f);
then (F
. a)
= (f
. a) by
FUNCT_7:def 3;
hence thesis;
end;
end;
end
registration
let f be
real-valued
Function, x be
object, n be
Real;
cluster (f
+* (x,n)) ->
real-valued;
coherence
proof
set F = (f
+* (x,n));
let a be
object such that a
in (
dom F);
per cases ;
suppose x
in (
dom f) & x
= a;
hence thesis by
FUNCT_7: 31;
end;
suppose x
in (
dom f) & x
<> a;
then (F
. a)
= (f
. a) by
FUNCT_7: 32;
hence thesis;
end;
suppose not x
in (
dom f);
then (F
. a)
= (f
. a) by
FUNCT_7:def 3;
hence thesis;
end;
end;
end
definition
let X be
set, b1,b2 be
complex-valued
ManySortedSet of X;
:: original:
+
redefine
::
PRE_POLY:def5
func b1
+ b2 ->
ManySortedSet of X means
:
Def5: for x be
object holds (it
. x)
= ((b1
. x)
+ (b2
. x));
coherence ;
compatibility
proof
let f be
ManySortedSet of X;
A1: (
dom b1)
= X & (
dom b2)
= X by
PARTFUN1:def 2;
then
A2: (
dom f)
= ((
dom b1)
/\ (
dom b2)) by
PARTFUN1:def 2;
thus f
= (b1
+ b2) implies for x be
object holds (f
. x)
= ((b1
. x)
+ (b2
. x))
proof
assume
A3: f
= (b1
+ b2);
let x be
object;
per cases ;
suppose x
in X;
hence thesis by
A1,
A2,
A3,
VALUED_1:def 1;
end;
suppose
A4: not x
in X;
then (b1
. x)
=
0 & (b2
. x)
=
0 by
A1,
FUNCT_1:def 2;
hence thesis by
A1,
A2,
A4,
FUNCT_1:def 2;
end;
end;
assume for x be
object holds (f
. x)
= ((b1
. x)
+ (b2
. x));
then for c be
object st c
in (
dom f) holds (f
. c)
= ((b1
. c)
+ (b2
. c));
hence thesis by
A2,
VALUED_1:def 1;
end;
end
definition
let X be
set, b1,b2 be
natural-valued
ManySortedSet of X;
::
PRE_POLY:def6
func b1
-' b2 ->
ManySortedSet of X means
:
Def6: for x be
object holds (it
. x)
= ((b1
. x)
-' (b2
. x));
existence
proof
deffunc
F(
object) = ((b1
. $1)
-' (b2
. $1));
consider f be
ManySortedSet of X such that
A1: for i be
object st i
in X holds (f
. i)
=
F(i) from
PBOOLE:sch 4;
take f;
let x be
object;
per cases ;
suppose x
in X;
hence thesis by
A1;
end;
suppose
A2: not x
in X;
A3: (
dom b2)
= X by
PARTFUN1:def 2;
A4: (
dom b1)
= X by
PARTFUN1:def 2;
(
dom f)
= X by
PARTFUN1:def 2;
hence (f
. x)
=
0 by
A2,
FUNCT_1:def 2
.= (
0
-'
0 ) by
XREAL_1: 232
.= (
0
-' (b2
. x)) by
A2,
A3,
FUNCT_1:def 2
.= ((b1
. x)
-' (b2
. x)) by
A2,
A4,
FUNCT_1:def 2;
end;
end;
uniqueness
proof
let it1,it2 be
ManySortedSet of X such that
A5: for x be
object holds (it1
. x)
= ((b1
. x)
-' (b2
. x)) and
A6: for x be
object holds (it2
. x)
= ((b1
. x)
-' (b2
. x));
now
let x be
object;
assume x
in X;
thus (it1
. x)
= ((b1
. x)
-' (b2
. x)) by
A5
.= (it2
. x) by
A6;
end;
hence it1
= it2;
end;
end
theorem ::
PRE_POLY:33
for X be
set, b,b1,b2 be
real-valued
ManySortedSet of X st for x be
object st x
in X holds (b
. x)
= ((b1
. x)
+ (b2
. x)) holds b
= (b1
+ b2)
proof
let X be
set, b,b1,b2 be
real-valued
ManySortedSet of X;
assume
A1: for x be
object st x
in X holds (b
. x)
= ((b1
. x)
+ (b2
. x));
now
let x be
object;
per cases ;
suppose x
in X;
hence (b
. x)
= ((b1
. x)
+ (b2
. x)) by
A1;
end;
suppose
A2: not x
in X;
A3: (
dom b2)
= X by
PARTFUN1:def 2;
A4: (
dom b1)
= X by
PARTFUN1:def 2;
(
dom b)
= X by
PARTFUN1:def 2;
hence (b
. x)
= (
0 qua
Nat
+
0 qua
Nat) by
A2,
FUNCT_1:def 2
.= (
0 qua
Nat
+ (b2
. x)) by
A2,
A3,
FUNCT_1:def 2
.= ((b1
. x)
+ (b2
. x)) by
A2,
A4,
FUNCT_1:def 2;
end;
end;
hence thesis by
Def5;
end;
theorem ::
PRE_POLY:34
Th33: for X be
set, b,b1,b2 be
natural-valued
ManySortedSet of X st for x be
object st x
in X holds (b
. x)
= ((b1
. x)
-' (b2
. x)) holds b
= (b1
-' b2)
proof
let X be
set, b,b1,b2 be
natural-valued
ManySortedSet of X;
assume
A1: for x be
object st x
in X holds (b
. x)
= ((b1
. x)
-' (b2
. x));
now
let x be
object;
per cases ;
suppose x
in X;
hence (b
. x)
= ((b1
. x)
-' (b2
. x)) by
A1;
end;
suppose
A2: not x
in X;
A3: (
dom b2)
= X by
PARTFUN1:def 2;
A4: (
dom b1)
= X by
PARTFUN1:def 2;
(
dom b)
= X by
PARTFUN1:def 2;
hence (b
. x)
=
0 by
A2,
FUNCT_1:def 2
.= (
0
-'
0 ) by
XREAL_1: 232
.= (
0
-' (b2
. x)) by
A2,
A3,
FUNCT_1:def 2
.= ((b1
. x)
-' (b2
. x)) by
A2,
A4,
FUNCT_1:def 2;
end;
end;
hence thesis by
Def6;
end;
registration
let X be
set, b1,b2 be
natural-valued
ManySortedSet of X;
cluster (b1
+ b2) ->
natural-valued;
coherence ;
cluster (b1
-' b2) ->
natural-valued;
coherence
proof
set f = (b1
-' b2);
(
rng f)
c=
NAT
proof
let y be
object;
assume y
in (
rng f);
then
consider x be
object such that x
in (
dom f) and
A1: y
= (f
. x) by
FUNCT_1:def 3;
(f
. x)
= ((b1
. x)
-' (b2
. x)) by
Def6;
hence thesis by
A1;
end;
hence thesis;
end;
end
theorem ::
PRE_POLY:35
Th34: for X be
set, b1,b2,b3 be
real-valued
ManySortedSet of X holds ((b1
+ b2)
+ b3)
= (b1
+ (b2
+ b3))
proof
let X be
set, b1,b2,b3 be
real-valued
ManySortedSet of X;
now
let x be
object;
assume x
in X;
thus (((b1
+ b2)
+ b3)
. x)
= (((b1
+ b2)
. x)
+ (b3
. x)) by
Def5
.= (((b1
. x)
+ (b2
. x))
+ (b3
. x)) by
Def5
.= ((b1
. x)
+ ((b2
. x)
+ (b3
. x)))
.= ((b1
. x)
+ ((b2
+ b3)
. x)) by
Def5
.= ((b1
+ (b2
+ b3))
. x) by
Def5;
end;
hence thesis;
end;
theorem ::
PRE_POLY:36
for X be
set, b,c,d be
natural-valued
ManySortedSet of X holds ((b
-' c)
-' d)
= (b
-' (c
+ d))
proof
let X be
set, b,c,d be
natural-valued
ManySortedSet of X;
now
let x be
object;
assume x
in X;
thus (((b
-' c)
-' d)
. x)
= (((b
-' c)
. x)
-' (d
. x)) by
Def6
.= (((b
. x)
-' (c
. x))
-' (d
. x)) by
Def6
.= ((b
. x)
-' ((c
. x)
+ (d
. x))) by
NAT_2: 30
.= ((b
. x)
-' ((c
+ d)
. x)) by
Def5;
end;
hence thesis by
Th33;
end;
begin
definition
let f be
Function;
::
PRE_POLY:def7
func
support f ->
set means
:
Def7: for x be
object holds x
in it iff (f
. x)
<>
0 ;
existence
proof
defpred
P[
object] means (f
. $1)
<>
0 ;
consider A be
set such that
A1: for x be
object holds x
in A iff x
in (
dom f) &
P[x] from
XBOOLE_0:sch 1;
take A;
let x be
object;
thus x
in A implies (f
. x)
<>
0 by
A1;
assume
A2: (f
. x)
<>
0 ;
then x
in (
dom f) by
FUNCT_1:def 2;
hence thesis by
A1,
A2;
end;
uniqueness
proof
let A,B be
set such that
A3: for x be
object holds x
in A iff (f
. x)
<>
0 and
A4: for x be
object holds x
in B iff (f
. x)
<>
0 ;
for x be
object holds x
in A iff x
in B
proof
let x be
object;
x
in A iff (f
. x)
<>
0 by
A3;
hence thesis by
A4;
end;
hence thesis by
TARSKI: 2;
end;
end
theorem ::
PRE_POLY:37
Th36: for f be
Function holds (
support f)
c= (
dom f)
proof
let f be
Function, x be
object;
assume x
in (
support f);
then (f
. x)
<>
0 by
Def7;
hence thesis by
FUNCT_1:def 2;
end;
definition
let f be
Function;
::
PRE_POLY:def8
attr f is
finite-support means
:
Def8: (
support f) is
finite;
end
registration
cluster
finite ->
finite-support for
Function;
coherence
proof
let f be
Function;
assume f is
finite;
then (
dom f) is
finite;
hence (
support f) is
finite by
Th36,
FINSET_1: 1;
end;
end
registration
cluster
natural-valued
finite-support non
empty for
Function;
existence
proof
take f = (
0
.--> 1);
thus f is
natural-valued;
thus f is
finite-support;
thus thesis;
end;
end
registration
let f be
finite-support
Function;
cluster (
support f) ->
finite;
coherence by
Def8;
end
registration
let X be
set;
cluster
finite-support for
Function of X,
NAT ;
existence
proof
set f = (X
-->
0 );
reconsider f as
Function of X,
NAT ;
take f;
now
assume (
support f)
<>
{} ;
then
consider x be
object such that
A3: x
in (
support f) by
XBOOLE_0:def 1;
(f
. x)
<>
0 by
A3,
Def7;
hence contradiction;
end;
hence (
support f) is
finite;
end;
end
registration
let f be
finite-support
Function, x,y be
set;
cluster (f
+* (x,y)) ->
finite-support;
coherence
proof
set F = (f
+* (x,y));
(
support F)
c= ((
support f)
\/
{x})
proof
let a be
object;
assume a
in (
support F);
then
A1: (F
. a)
<>
0 by
Def7;
per cases ;
suppose x
in (
dom f) & a
= x;
then a
in
{x} by
TARSKI:def 1;
hence thesis by
XBOOLE_0:def 3;
end;
suppose x
in (
dom f) & a
<> x;
then (F
. a)
= (f
. a) by
FUNCT_7: 32;
then a
in (
support f) by
A1,
Def7;
hence thesis by
XBOOLE_0:def 3;
end;
suppose not x
in (
dom f);
then (F
. a)
= (f
. a) by
FUNCT_7:def 3;
then a
in (
support f) by
A1,
Def7;
hence thesis by
XBOOLE_0:def 3;
end;
end;
hence (
support (f
+* (x,y))) is
finite;
end;
end
registration
let X be
set;
cluster
natural-valued
finite-support for
ManySortedSet of X;
existence
proof
set f = (X
-->
0 );
reconsider f as
ManySortedSet of X;
take f;
thus f is
natural-valued;
(
support f)
=
{}
proof
assume not thesis;
then
consider x be
object such that
A2: x
in (
support f) by
XBOOLE_0:def 1;
(f
. x)
=
0 ;
hence contradiction by
A2,
Def7;
end;
hence thesis;
end;
end
theorem ::
PRE_POLY:38
Th37: for X be
set, b1,b2 be
natural-valued
ManySortedSet of X holds (
support (b1
+ b2))
= ((
support b1)
\/ (
support b2))
proof
let X be
set, b1,b2 be
natural-valued
ManySortedSet of X;
now
let x be
object;
hereby
assume x
in ((
support b1)
\/ (
support b2));
then x
in (
support b1) or x
in (
support b2) by
XBOOLE_0:def 3;
then (b1
. x)
<>
0 or (b2
. x)
<>
0 by
Def7;
then ((b1
. x)
+ (b2
. x))
<>
0 ;
hence ((b1
+ b2)
. x)
<>
0 by
Def5;
end;
assume
A1: ((b1
+ b2)
. x)
<>
0 ;
assume
A2: not x
in ((
support b1)
\/ (
support b2));
then not x
in (
support b1) by
XBOOLE_0:def 3;
then
A3: (b1
. x)
=
0 by
Def7;
not x
in (
support b2) by
A2,
XBOOLE_0:def 3;
then ((b1
. x)
+ (b2
. x))
=
0 by
A3,
Def7;
hence contradiction by
A1,
Def5;
end;
hence thesis by
Def7;
end;
theorem ::
PRE_POLY:39
Th38: for X be
set, b1,b2 be
natural-valued
ManySortedSet of X holds (
support (b1
-' b2))
c= (
support b1)
proof
let X be
set, b1,b2 be
natural-valued
ManySortedSet of X;
thus (
support (b1
-' b2))
c= (
support b1)
proof
let x be
object;
assume
A1: x
in (
support (b1
-' b2));
assume not x
in (
support b1);
then (b1
. x)
=
0 by
Def7;
then ((b1
. x)
-' (b2
. x))
=
0 by
NAT_2: 8;
then ((b1
-' b2)
. x)
=
0 by
Def6;
hence contradiction by
A1,
Def7;
end;
end;
begin
definition
let X be
set;
mode
bag of X is
natural-valued
finite-support
ManySortedSet of X;
end
registration
let X be
finite
set;
cluster ->
finite-support for
ManySortedSet of X;
coherence
proof
let f be
ManySortedSet of X;
(
support f)
c= (
dom f) & (
dom f)
= X by
Th36,
PARTFUN1:def 2;
hence (
support f) is
finite;
end;
end
registration
let X be
set, b1,b2 be
bag of X;
cluster (b1
+ b2) ->
finite-support;
coherence
proof
(
support (b1
+ b2))
= ((
support b1)
\/ (
support b2)) by
Th37;
hence (
support (b1
+ b2)) is
finite;
end;
cluster (b1
-' b2) ->
finite-support;
coherence
proof
(
support (b1
-' b2))
c= (
support b1) by
Th38;
hence (
support (b1
-' b2)) is
finite;
end;
end
theorem ::
PRE_POLY:40
Th39: for X be
set holds (X
-->
0 ) is
bag of X
proof
let X be
set;
set f = (X
-->
0 );
(
support f)
=
{}
proof
assume not thesis;
then
consider x be
object such that
A2: x
in (
support f) by
XBOOLE_0:def 1;
(f
. x)
=
0 ;
hence contradiction by
A2,
Def7;
end;
hence thesis by
Def8;
end;
definition
let n be
Ordinal, p,q be
bag of n;
::
PRE_POLY:def9
pred p
< q means ex k be
Ordinal st (p
. k)
< (q
. k) & for l be
Ordinal st l
in k holds (p
. l)
= (q
. l);
asymmetry
proof
let p,q be
bag of n;
given k be
Ordinal such that
A1: (p
. k)
< (q
. k) and
A2: for l be
Ordinal st l
in k holds (p
. l)
= (q
. l);
given k1 be
Ordinal such that
A3: (q
. k1)
< (p
. k1) and
A4: for l be
Ordinal st l
in k1 holds (q
. l)
= (p
. l);
per cases by
ORDINAL1: 14;
suppose k
in k1;
hence contradiction by
A1,
A4;
end;
suppose k1
in k;
hence contradiction by
A2,
A3;
end;
suppose k1
= k;
hence contradiction by
A1,
A3;
end;
end;
end
theorem ::
PRE_POLY:41
Th40: for n be
Ordinal, p,q,r be
bag of n st p
< q & q
< r holds p
< r
proof
let n be
Ordinal, p,q,r be
bag of n;
assume that
A1: p
< q and
A2: q
< r;
consider k be
Ordinal such that
A3: (p
. k)
< (q
. k) and
A4: for l be
Ordinal st l
in k holds (p
. l)
= (q
. l) by
A1;
consider m be
Ordinal such that
A5: (q
. m)
< (r
. m) and
A6: for l be
Ordinal st l
in m holds (q
. l)
= (r
. l) by
A2;
take n = (k
/\ m);
A7: n
c= m & n
<> m iff n
c< m;
A8: n
c= k & n
<> k iff n
c< k;
now
per cases by
ORDINAL1: 14;
suppose k
in m;
hence (p
. n)
< (r
. n) by
A3,
A6,
A8,
A7,
ORDINAL1: 11,
ORDINAL3: 13,
XBOOLE_1: 17;
end;
suppose m
in k;
hence (p
. n)
< (r
. n) by
A4,
A5,
A8,
A7,
ORDINAL1: 11,
ORDINAL3: 13,
XBOOLE_1: 17;
end;
suppose m
= k;
hence (p
. n)
< (r
. n) by
A3,
A5,
XXREAL_0: 2;
end;
end;
hence (p
. n)
< (r
. n);
let l be
Ordinal;
A9: n
c= m by
XBOOLE_1: 17;
assume
A10: l
in n;
n
c= k by
XBOOLE_1: 17;
hence (p
. l)
= (q
. l) by
A4,
A10
.= (r
. l) by
A6,
A9,
A10;
end;
definition
let n be
Ordinal, p,q be
bag of n;
::
PRE_POLY:def10
pred p
<=' q means p
< q or p
= q;
reflexivity ;
end
theorem ::
PRE_POLY:42
Th41: for n be
Ordinal, p,q,r be
bag of n st p
<=' q & q
<=' r holds p
<=' r by
Th40;
theorem ::
PRE_POLY:43
for n be
Ordinal, p,q,r be
bag of n st p
< q & q
<=' r holds p
< r by
Th40;
theorem ::
PRE_POLY:44
for n be
Ordinal, p,q,r be
bag of n st p
<=' q & q
< r holds p
< r by
Th40;
theorem ::
PRE_POLY:45
Th44: for n be
Ordinal, p,q be
bag of n holds p
<=' q or q
<=' p
proof
let n be
Ordinal, p,q be
bag of n;
assume
A1: not p
<=' q;
then
consider i be
object such that
A2: i
in n and
A3: (p
. i)
<> (q
. i) by
PBOOLE: 3;
A4: not p
< q by
A1;
defpred
P[
set] means (p
. $1)
<> (q
. $1);
A5: ex i be
Ordinal st
P[i] by
A2,
A3;
consider m be
Ordinal such that
A6:
P[m] and
A7: for n be
Ordinal st
P[n] holds m
c= n from
ORDINAL1:sch 1(
A5);
A8: for l be
Ordinal st l
in m holds (q
. l)
= (p
. l) by
A7,
ORDINAL1: 5;
per cases by
A6,
XXREAL_0: 1;
suppose (p
. m)
< (q
. m);
hence thesis by
A4,
A8;
end;
suppose (p
. m)
> (q
. m);
then q
< p by
A8;
hence thesis;
end;
end;
definition
let X be
set, d,b be
bag of X;
::
PRE_POLY:def11
pred d
divides b means for k be
object holds (d
. k)
<= (b
. k);
reflexivity ;
end
theorem ::
PRE_POLY:46
Th45: for n be
set, d,b be
bag of n st for k be
object st k
in n holds (d
. k)
<= (b
. k) holds d
divides b
proof
let n be
set, d,b be
bag of n;
assume
A1: for k be
object st k
in n holds (d
. k)
<= (b
. k);
let k be
object;
per cases ;
suppose k
in (
dom d);
then k
in n;
hence thesis by
A1;
end;
suppose not k
in (
dom d);
hence thesis by
FUNCT_1:def 2;
end;
end;
theorem ::
PRE_POLY:47
Th46: for n be
set, b1,b2 be
bag of n st b1
divides b2 holds ((b2
-' b1)
+ b1)
= b2
proof
let n be
set, b1,b2 be
bag of n such that
A1: b1
divides b2;
now
let k be
object;
assume k
in n;
A2: (b1
. k)
<= (b2
. k) by
A1;
thus (((b2
-' b1)
+ b1)
. k)
= (((b2
-' b1)
. k)
+ (b1
. k)) by
Def5
.= (((b2
. k)
-' (b1
. k))
+ (b1
. k)) by
Def6
.= (((b2
. k)
+ (b1
. k))
-' (b1
. k)) by
A2,
NAT_D: 38
.= (b2
. k) by
NAT_D: 34;
end;
hence thesis;
end;
theorem ::
PRE_POLY:48
Th47: for X be
set, b1,b2 be
bag of X holds ((b2
+ b1)
-' b1)
= b2
proof
let X be
set, b1,b2 be
bag of X;
now
let k be
object;
assume k
in X;
thus (((b2
+ b1)
-' b1)
. k)
= (((b2
+ b1)
. k)
-' (b1
. k)) by
Def6
.= (((b2
. k)
+ (b1
. k))
-' (b1
. k)) by
Def5
.= (b2
. k) by
NAT_D: 34;
end;
hence thesis;
end;
theorem ::
PRE_POLY:49
Th48: for n be
Ordinal, d,b be
bag of n st d
divides b holds d
<=' b
proof
let n be
Ordinal, d,b be
bag of n;
assume that
A1: d
divides b and
A2: not d
< b;
now
defpred
P[
set] means (d
. $1)
< (b
. $1);
let p be
object;
assume p
in n;
then
reconsider p9 = p as
Ordinal;
assume
A3: (d
. p)
<> (b
. p);
(d
. p9)
<= (b
. p9) by
A1;
then (d
. p9)
< (b
. p9) by
A3,
XXREAL_0: 1;
then
A4: ex p be
Ordinal st
P[p];
consider k be
Ordinal such that
A5:
P[k] and
A6: for m be
Ordinal st
P[m] holds k
c= m from
ORDINAL1:sch 1(
A4);
now
let l be
Ordinal;
assume l
in k;
then
A7: (b
. l)
<= (d
. l) by
A6,
ORDINAL1: 5;
(d
. l)
<= (b
. l) by
A1;
hence (d
. l)
= (b
. l) by
A7,
XXREAL_0: 1;
end;
hence contradiction by
A2,
A5;
end;
hence thesis;
end;
theorem ::
PRE_POLY:50
Th49: for n be
set, b,b1,b2 be
bag of n st b
= (b1
+ b2) holds b1
divides b
proof
let n be
set, b,b1,b2 be
bag of n;
assume
A1: b
= (b1
+ b2);
now
let k be
object;
assume k
in n;
(b
. k)
= ((b1
. k)
+ (b2
. k)) by
A1,
Def5;
hence (b1
. k)
<= (b
. k) by
NAT_1: 11;
end;
hence thesis by
Th45;
end;
definition
let X be
set;
::
PRE_POLY:def12
func
Bags X ->
set means
:
Def12: for x be
set holds x
in it iff x is
bag of X;
existence
proof
defpred
P[
object] means $1 is
bag of X;
consider A be
set such that
A1: for x be
object holds x
in A iff x
in (
Funcs (X,
NAT )) &
P[x] from
XBOOLE_0:sch 1;
take A;
let x be
set;
thus x
in A implies x is
bag of X by
A1;
assume
A2: x is
bag of X;
then
reconsider b = x as
bag of X;
(
dom b)
= X & (
rng b)
c=
NAT by
PARTFUN1:def 2,
VALUED_0:def 6;
then x
in (
Funcs (X,
NAT )) by
FUNCT_2:def 2;
hence thesis by
A1,
A2;
end;
uniqueness
proof
let A,B be
set such that
A3: for x be
set holds x
in A iff x is
bag of X and
A4: for x be
set holds x
in B iff x is
bag of X;
now
let x be
object;
x
in A iff x is
bag of X by
A3;
hence x
in A iff x
in B by
A4;
end;
hence thesis by
TARSKI: 2;
end;
end
definition
let X be
set;
:: original:
Bags
redefine
func
Bags X ->
Subset of (
Bags X) ;
coherence
proof
(
Bags X)
c= (
Bags X);
hence thesis;
end;
end
theorem ::
PRE_POLY:51
(
Bags
{} )
=
{
{} }
proof
now
let x be
set;
hereby
assume x
in
{
{} };
then x
=
{} by
TARSKI:def 1;
hence x is
bag of
{} by
PARTFUN1:def 2,
RELAT_1: 38,
RELAT_1:def 18;
end;
assume x is
bag of
{} ;
then
reconsider x9 = x as
ManySortedSet of
{} ;
x9
=
{} ;
hence x
in
{
{} } by
TARSKI:def 1;
end;
hence thesis by
Def12;
end;
registration
let X be
set;
cluster (
Bags X) -> non
empty;
coherence
proof
(X
-->
0 ) is
bag of X by
Th39;
hence thesis by
Def12;
end;
end
registration
let X be
set;
cluster ->
functional for
Subset of (
Bags X);
coherence by
Def12;
end
registration
let X be
set, B be
Subset of (
Bags X);
cluster -> X
-defined for
Element of B;
coherence
proof
let E be
Element of B;
per cases ;
suppose B is non
empty;
then
reconsider B as non
empty
Subset of (
Bags X);
reconsider E as
Element of B;
E is
bag of X by
Def12;
hence thesis;
end;
suppose B is
empty;
then E is
empty by
SUBSET_1:def 1;
hence thesis by
RELAT_1: 171;
end;
end;
end
registration
let X be
set, B be non
empty
Subset of (
Bags X);
cluster ->
total
natural-valued
finite-support for
Element of B;
coherence by
Def12;
end
notation
let X be
set;
synonym
EmptyBag X for
EmptyMS X;
end
definition
let X be
set;
:: original:
EmptyBag
redefine
func
EmptyBag X ->
Element of (
Bags X) ;
coherence
proof
(X
-->
0 ) is
bag of X by
Th39;
hence thesis by
Def12;
end;
::$Canceled
end
::$Canceled
theorem ::
PRE_POLY:53
for X be
set, b be
bag of X holds (b
+ (
EmptyBag X))
= b
proof
let X be
set, b be
bag of X;
now
let x be
object;
assume x
in X;
thus ((b
+ (
EmptyBag X))
. x)
= ((b
. x)
+ ((
EmptyBag X)
. x) qua
Nat) by
Def5
.= (b
. x);
end;
hence thesis;
end;
theorem ::
PRE_POLY:54
Th52: for X be
set, b be
bag of X holds (b
-' (
EmptyBag X))
= b
proof
let X be
set, b be
bag of X;
now
let x be
object;
assume x
in X;
thus ((b
-' (
EmptyBag X))
. x)
= ((b
. x)
-' ((
EmptyBag X)
. x)) by
Def6
.= (b
. x) by
NAT_D: 40;
end;
hence thesis;
end;
theorem ::
PRE_POLY:55
for X be
set, b be
bag of X holds ((
EmptyBag X)
-' b)
= (
EmptyBag X)
proof
let X be
set, b be
bag of X;
now
let x be
object;
assume x
in X;
thus (((
EmptyBag X)
-' b)
. x)
= (((
EmptyBag X)
. x)
-' (b
. x)) by
Def6
.= ((
EmptyBag X)
. x) by
NAT_2: 8;
end;
hence thesis;
end;
theorem ::
PRE_POLY:56
Th54: for X be
set, b be
bag of X holds (b
-' b)
= (
EmptyBag X)
proof
let X be
set, b be
bag of X;
now
let x be
object;
assume x
in X;
thus ((b
-' b)
. x)
= ((b
. x)
-' (b
. x)) by
Def6
.=
0 by
XREAL_1: 232
.= ((
EmptyBag X)
. x);
end;
hence thesis;
end;
theorem ::
PRE_POLY:57
Th55: for n be
set, b1,b2 be
bag of n st b1
divides b2 & (b2
-' b1)
= (
EmptyBag n) holds b2
= b1
proof
let n be
set, b1,b2 be
bag of n such that
A1: b1
divides b2 and
A2: (b2
-' b1)
= (
EmptyBag n);
now
let k be
object;
assume k
in n;
0
= ((b2
-' b1)
. k) by
A2
.= ((b2
. k)
-' (b1
. k)) by
Def6;
then
A3: (b2
. k)
<= (b1
. k) by
NAT_D: 36;
(b1
. k)
<= (b2
. k) by
A1;
hence (b2
. k)
= (b1
. k) by
A3,
XXREAL_0: 1;
end;
hence thesis;
end;
theorem ::
PRE_POLY:58
for n be
set, b be
bag of n st b
divides (
EmptyBag n) holds (
EmptyBag n)
= b;
theorem ::
PRE_POLY:59
Th57: for n be
set, b be
bag of n holds (
EmptyBag n)
divides b;
theorem ::
PRE_POLY:60
for n be
Ordinal, b be
bag of n holds (
EmptyBag n)
<=' b by
Th48,
Th57;
definition
let n be
Ordinal;
::
PRE_POLY:def14
func
BagOrder n ->
Order of (
Bags n) means
:
Def13: for p,q be
bag of n holds
[p, q]
in it iff p
<=' q;
existence
proof
defpred
P[
object,
object] means ex b1,b2 be
Element of (
Bags n) st $1
= b1 & $2
= b2 & b1
<=' b2;
consider BO be
Relation of (
Bags n), (
Bags n) such that
A1: for x,y be
object holds
[x, y]
in BO iff x
in (
Bags n) & y
in (
Bags n) &
P[x, y] from
RELSET_1:sch 1;
A2: BO
is_antisymmetric_in (
Bags n)
proof
let x,y be
object;
assume that x
in (
Bags n) and y
in (
Bags n) and
A3:
[x, y]
in BO and
A4:
[y, x]
in BO;
A5: ex b19,b29 be
Element of (
Bags n) st y
= b19 & x
= b29 & b19
<=' b29 by
A1,
A4;
consider b1,b2 be
Element of (
Bags n) such that
A6: x
= b1 & y
= b2 and
A7: b1
<=' b2 by
A1,
A3;
b1
< b2 or b1
= b2 by
A7;
hence thesis by
A6,
A5;
end;
A8: BO
is_reflexive_in (
Bags n) by
A1;
then
A9: (
dom BO)
= (
Bags n) & (
field BO)
= (
Bags n) by
ORDERS_1: 13;
BO
is_transitive_in (
Bags n)
proof
let x,y,z be
object such that x
in (
Bags n) and y
in (
Bags n) and z
in (
Bags n) and
A10:
[x, y]
in BO and
A11:
[y, z]
in BO;
consider b1,b2 be
Element of (
Bags n) such that
A12: x
= b1 and
A13: y
= b2 & b1
<=' b2 by
A1,
A10;
consider b19,b29 be
Element of (
Bags n) such that
A14: y
= b19 and
A15: z
= b29 and
A16: b19
<=' b29 by
A1,
A11;
reconsider B1 = b1, B29 = b29 as
bag of n;
B1
<=' B29 by
A13,
A14,
A16,
Th41;
hence thesis by
A1,
A12,
A15;
end;
then
reconsider BO as
Order of (
Bags n) by
A8,
A2,
A9,
PARTFUN1:def 2,
RELAT_2:def 9,
RELAT_2:def 12,
RELAT_2:def 16;
take BO;
let p,q be
bag of n;
hereby
assume
[p, q]
in BO;
then ex b1,b2 be
Element of (
Bags n) st p
= b1 & q
= b2 & b1
<=' b2 by
A1;
hence p
<=' q;
end;
p
in (
Bags n) & q
in (
Bags n) by
Def12;
hence thesis by
A1;
end;
uniqueness
proof
let B1,B2 be
Order of (
Bags n) such that
A17: for p,q be
bag of n holds
[p, q]
in B1 iff p
<=' q and
A18: for p,q be
bag of n holds
[p, q]
in B2 iff p
<=' q;
let a,b be
object;
hereby
assume
A19:
[a, b]
in B1;
then
consider b1,b2 be
object such that
A20:
[a, b]
=
[b1, b2] and
A21: b1
in (
Bags n) & b2
in (
Bags n) by
RELSET_1: 2;
reconsider b1, b2 as
bag of n by
A21;
b1
<=' b2 by
A17,
A19,
A20;
hence
[a, b]
in B2 by
A18,
A20;
end;
assume
A22:
[a, b]
in B2;
then
consider b1,b2 be
object such that
A23:
[a, b]
=
[b1, b2] and
A24: b1
in (
Bags n) & b2
in (
Bags n) by
RELSET_1: 2;
reconsider b1, b2 as
bag of n by
A24;
b1
<=' b2 by
A18,
A22,
A23;
hence thesis by
A17,
A23;
end;
end
Lm1: for n be
Ordinal holds (
BagOrder n)
is_reflexive_in (
Bags n) by
Def13;
Lm2: for n be
Ordinal holds (
BagOrder n)
is_antisymmetric_in (
Bags n)
proof
let n be
Ordinal;
set BO = (
BagOrder n);
let x,y be
object;
assume that
A1: x
in (
Bags n) & y
in (
Bags n) and
A2:
[x, y]
in BO and
A3:
[y, x]
in BO;
reconsider b1 = x, b2 = y as
bag of n by
A1;
b1
<=' b2 by
A2,
Def13;
then
A4: b1
< b2 or b1
= b2;
reconsider b19 = y, b29 = x as
bag of n by
A1;
b19
<=' b29 by
A3,
Def13;
hence thesis by
A4;
end;
Lm3: for n be
Ordinal holds (
BagOrder n)
is_transitive_in (
Bags n)
proof
let n be
Ordinal;
set BO = (
BagOrder n);
let x,y,z be
object such that
A1: x
in (
Bags n) and
A2: y
in (
Bags n) and
A3: z
in (
Bags n) and
A4:
[x, y]
in BO &
[y, z]
in BO;
reconsider b19 = y, b29 = z as
bag of n by
A2,
A3;
reconsider b1 = x, b2 = y as
bag of n by
A1,
A2;
reconsider B1 = b1, B29 = b29 as
bag of n;
b1
<=' b2 & b19
<=' b29 by
A4,
Def13;
then B1
<=' B29 by
Th41;
hence thesis by
Def13;
end;
Lm4: for n be
Ordinal holds (
BagOrder n)
linearly_orders (
Bags n)
proof
let n be
Ordinal;
set BO = (
BagOrder n);
A1: BO
is_transitive_in (
Bags n) by
Lm3;
A2: BO
is_connected_in (
Bags n)
proof
let x,y be
object;
assume that
A3: x
in (
Bags n) & y
in (
Bags n) and x
<> y and
A4: not
[x, y]
in BO;
reconsider p = x, q = y as
bag of n by
A3;
not p
<=' q by
A4,
Def13;
then q
<=' p by
Th44;
hence thesis by
Def13;
end;
BO
is_reflexive_in (
Bags n) & BO
is_antisymmetric_in (
Bags n) by
Lm1,
Lm2;
hence thesis by
A1,
A2,
ORDERS_1:def 9;
end;
registration
let n be
Ordinal;
cluster (
BagOrder n) ->
being_linear-order;
coherence
proof
set BO = (
BagOrder n);
BO
linearly_orders (
Bags n) by
Lm4;
then (
field BO)
= (
Bags n) & BO
is_connected_in (
Bags n) by
ORDERS_1: 15,
ORDERS_1:def 9;
then BO is
connected;
hence thesis by
ORDERS_1:def 6;
end;
end
definition
let X be
set, f be
Function of X,
NAT ;
::
PRE_POLY:def15
func
NatMinor f ->
Subset of (
Funcs (X,
NAT )) means
:
Def14: for g be
natural-valued
ManySortedSet of X holds g
in it iff for x be
set st x
in X holds (g
. x)
<= (f
. x);
existence
proof
defpred
P[
set] means ex g be
natural-valued
ManySortedSet of X st $1
= g & for x be
set st x
in X holds (g
. x)
<= (f
. x);
consider IT be
Subset of (
Funcs (X,
NAT )) such that
A1: for h be
set holds h
in IT iff h
in (
Funcs (X,
NAT )) &
P[h] from
SUBSET_1:sch 1;
take IT;
let g be
natural-valued
ManySortedSet of X;
hereby
assume g
in IT;
then ex g1 be
natural-valued
ManySortedSet of X st g1
= g & for x be
set st x
in X holds (g1
. x)
<= (f
. x) by
A1;
hence for x be
set st x
in X holds (g
. x)
<= (f
. x);
end;
(
dom g)
= X & (
rng g)
c=
NAT by
PARTFUN1:def 2,
VALUED_0:def 6;
then g is
Function of X,
NAT by
RELSET_1: 4;
then
A2: g
in (
Funcs (X,
NAT )) by
FUNCT_2: 8;
assume for x be
set st x
in X holds (g
. x)
<= (f
. x);
hence thesis by
A1,
A2;
end;
uniqueness
proof
let it1,it2 be
Subset of (
Funcs (X,
NAT )) such that
A3: for g be
natural-valued
ManySortedSet of X holds g
in it1 iff for x be
set st x
in X holds (g
. x)
<= (f
. x) and
A4: for g be
natural-valued
ManySortedSet of X holds g
in it2 iff for x be
set st x
in X holds (g
. x)
<= (f
. x);
now
let h be
Element of (
Funcs (X,
NAT ));
hereby
assume h
in it1;
then for x be
set st x
in X holds (h
. x)
<= (f
. x) by
A3;
hence h
in it2 by
A4;
end;
assume h
in it2;
then for x be
set st x
in X holds (h
. x)
<= (f
. x) by
A4;
hence h
in it1 by
A3;
end;
hence thesis by
SUBSET_1: 3;
end;
end
theorem ::
PRE_POLY:61
Th59: for X be
set, f be
Function of X,
NAT holds f
in (
NatMinor f)
proof
let X be
set, f be
Function of X,
NAT ;
for x be
set st x
in X holds (f
. x)
<= (f
. x);
hence thesis by
Def14;
end;
registration
let X be
set, f be
Function of X,
NAT ;
cluster (
NatMinor f) -> non
empty
functional;
coherence by
Th59;
end
registration
let X be
set, f be
Function of X,
NAT ;
cluster ->
natural-valued for
Element of (
NatMinor f);
coherence by
FUNCT_2: 92;
end
theorem ::
PRE_POLY:62
Th60: for X be
set, f be
finite-support
Function of X,
NAT holds (
NatMinor f)
c= (
Bags X)
proof
let X be
set, f be
finite-support
Function of X,
NAT ;
let x be
object;
assume x
in (
NatMinor f);
then
reconsider x9 = x as
Element of (
NatMinor f);
A1: (
dom x9)
= X by
FUNCT_2: 92;
then
A2: x9 is
ManySortedSet of X by
PARTFUN1:def 2,
RELAT_1:def 18;
(
support x9)
c= (
support f)
proof
let a be
object;
A3: (
support x9)
c= (
dom x9) by
Th36;
assume
A4: a
in (
support x9);
then (x9
. a)
<>
0 by
Def7;
then (f
. a)
<>
0 by
A1,
A2,
A4,
A3,
Def14;
hence thesis by
Def7;
end;
then x is
bag of X by
A1,
Def8,
PARTFUN1:def 2,
RELAT_1:def 18;
hence thesis by
Def12;
end;
definition
let X be
set, f be
finite-support
Function of X,
NAT ;
:: original:
support
redefine
func
support f ->
Element of (
Fin X) ;
coherence
proof
(
dom f)
= X by
FUNCT_2:def 1;
then (
support f)
c= X by
Th36;
hence thesis by
FINSUB_1:def 5;
end;
end
theorem ::
PRE_POLY:63
Th61: for X be non
empty
set, f be
finite-support
Function of X,
NAT holds (
card (
NatMinor f))
= (
multnat
$$ ((
support f),(
addnat
[:] (f,1))))
proof
let X be non
empty
set;
defpred
P[
Element of (
Fin X)] means for f be
Function of X,
NAT st for x be
Element of X st not x
in $1 holds (f
. x)
=
0 holds (
card (
NatMinor f))
= (
multnat
$$ ($1,(
addnat
[:] (f,1))));
let f be
finite-support
Function of X,
NAT ;
A1: for x be
Element of X holds not x
in (
support f) implies (f
. x)
=
0 by
Def7;
A2: for B be
Element of (
Fin X), b be
Element of X holds
P[B] & not b
in B implies
P[(B
\/
{.b.})]
proof
let B be
Element of (
Fin X), b be
Element of X such that
A3:
P[B] and
A4: not b
in B;
let f be
Function of X,
NAT such that
A5: for x be
Element of X st not x
in (B
\/
{b}) holds (f
. x)
=
0 ;
reconsider g = (f
+* (b,
0 )) as
Function of X,
NAT ;
(g
| B)
= (f
| B) by
A4,
FUNCT_7: 92;
then ((
addnat
[:] (g,1))
| B)
= ((
addnat
[:] (f,1))
| B) by
FUNCOP_1: 28;
then
A6: (
multnat
$$ (B,(
addnat
[:] (g,1))))
= (
multnat
$$ (B,(
addnat
[:] (f,1)))) by
SETWOP_2: 7;
A7: (
dom f)
= X by
FUNCT_2:def 1;
for x be
Element of X st not x
in B holds (g
. x)
=
0
proof
let x be
Element of X such that
A8: not x
in B;
per cases ;
suppose x
= b;
hence thesis by
A7,
FUNCT_7: 31;
end;
suppose
A9: x
<> b;
A10:
now
assume x
in (B
\/
{b});
then x
in B or x
in
{b} by
XBOOLE_0:def 3;
hence contradiction by
A8,
A9,
TARSKI:def 1;
end;
thus (g
. x)
= (f
. x) by
A9,
FUNCT_7: 32
.=
0 by
A5,
A10;
end;
end;
then
A11: (
card (
NatMinor g))
= (
multnat
$$ (B,(
addnat
[:] (g,1)))) by
A3;
then
reconsider ng = (
NatMinor g) as
functional
finite non
empty
set;
reconsider fb1 = ((f
. b)
+ 1) as non
zero
Nat;
(
dom (
addnat
[:] (f,1)))
= X by
FUNCT_2:def 1;
then
A12: ((
addnat
[:] (f,1))
. b)
= (
addnat
. ((f
. b),1)) by
FUNCOP_1: 27
.= ((f
. b)
+ 1) by
BINOP_2:def 23;
set cng = (
card ng);
A13: (f
. b)
< ((f
. b)
+ 1) by
XREAL_1: 29;
(
[:ng, ((f
. b)
+ 1):],(
NatMinor f))
are_equipotent
proof
deffunc
F(
Element of ng,
Element of fb1) = ($1
+* (b,$2));
A14: for p be
Element of ng, l be
Element of fb1 holds
F(p,l)
in (
NatMinor f)
proof
let p be
Element of ng, l be
Element of fb1;
reconsider q = p as
Element of (
NatMinor g);
fb1
c=
NAT & l
in fb1;
then
reconsider k = l as
Element of
NAT ;
p
in (
NatMinor g);
then
A15: (
dom p)
= X by
FUNCT_2: 92;
then (
dom (p
+* (b,l)))
= X by
FUNCT_7: 30;
then
reconsider pbl = (q
+* (b,k)) as
natural-valued
ManySortedSet of X by
PARTFUN1:def 2,
RELAT_1:def 18;
for x be
set st x
in X holds (pbl
. x)
<= (f
. x)
proof
let x be
set;
assume
A16: x
in X;
per cases ;
suppose
A17: x
= b;
k
in (
Segm fb1);
then
A18: k
< fb1 by
NAT_1: 44;
(pbl
. x)
= k by
A15,
A17,
FUNCT_7: 31;
hence thesis by
A17,
A18,
NAT_1: 13;
end;
suppose
A19: x
<> b;
q is
ManySortedSet of X by
A15,
PARTFUN1:def 2,
RELAT_1:def 18;
then
A20: (q
. x)
<= (g
. x) by
A16,
Def14;
(pbl
. x)
= (q
. x) by
A19,
FUNCT_7: 32;
hence thesis by
A19,
A20,
FUNCT_7: 32;
end;
end;
hence thesis by
Def14;
end;
consider r be
Function of
[:ng, fb1:], (
NatMinor f) such that
A21: for p be
Element of ng, l be
Element of fb1 holds (r
. (p,l))
=
F(p,l) from
FUNCT_7:sch 1(
A14);
take r;
thus r is
one-to-one
proof
let x1,x2 be
object;
assume that
A22: x1
in (
dom r) and
A23: x2
in (
dom r) and
A24: (r
. x1)
= (r
. x2);
consider p2,l2 be
object such that
A25: x2
=
[p2, l2] by
A23,
RELAT_1:def 1;
reconsider p2 as
Element of (
NatMinor g) by
A23,
A25,
ZFMISC_1: 87;
A26: (
dom p2)
= X by
FUNCT_2: 92;
A27: l2
in fb1 by
A23,
A25,
ZFMISC_1: 87;
consider p1,l1 be
object such that
A28: x1
=
[p1, l1] by
A22,
RELAT_1:def 1;
reconsider p1 as
Element of (
NatMinor g) by
A22,
A28,
ZFMISC_1: 87;
A29: (
dom p1)
= X by
FUNCT_2: 92;
then
reconsider p19 = p1, p29 = p2 as
natural-valued
ManySortedSet of X by
A26,
PARTFUN1:def 2,
RELAT_1:def 18;
l1
in fb1 by
A22,
A28,
ZFMISC_1: 87;
then
A30: (p1
+* (b,l1))
= (r
. (p1,l1)) by
A21
.= (r
. (p2,l2)) by
A24,
A28,
A25
.= (p2
+* (b,l2)) by
A21,
A27;
A31:
now
let x be
object;
assume x
in X;
per cases ;
suppose
A32: x
= b;
A33: (g
. b)
=
0 by
A7,
FUNCT_7: 31;
hence (p19
. x)
=
0 by
A32,
Def14
.= (p29
. x) by
A32,
A33,
Def14;
end;
suppose
A34: x
<> b;
hence (p19
. x)
= ((p1
+* (b,l1))
. x) by
FUNCT_7: 32
.= (p29
. x) by
A30,
A34,
FUNCT_7: 32;
end;
end;
l1
= ((p1
+* (b,l1))
. b) by
A29,
FUNCT_7: 31
.= l2 by
A30,
A26,
FUNCT_7: 31;
hence thesis by
A28,
A25,
A31,
PBOOLE: 3;
end;
thus
A35: (
dom r)
=
[:ng, ((f
. b)
+ 1):] by
FUNCT_2:def 1;
thus (
rng r)
c= (
NatMinor f);
thus (
NatMinor f)
c= (
rng r)
proof
let x be
object;
assume x
in (
NatMinor f);
then
reconsider e = x as
Element of (
NatMinor f);
A36: (
dom e)
= X by
FUNCT_2: 92;
then (
dom (e
+* (b,
0 )))
= X by
FUNCT_7: 30;
then
reconsider eb0 = (e
+* (b,
0 )) as
natural-valued
ManySortedSet of X by
PARTFUN1:def 2,
RELAT_1:def 18;
A37: e is
ManySortedSet of X by
A36,
PARTFUN1:def 2,
RELAT_1:def 18;
now
let x be
set;
assume
A38: x
in X;
per cases ;
suppose x
= b;
hence (eb0
. x)
<= (g
. x) by
A36,
FUNCT_7: 31;
end;
suppose
A39: x
<> b;
then
A40: (eb0
. x)
= (e
. x) by
FUNCT_7: 32;
(e
. x)
<= (f
. x) by
A37,
A38,
Def14;
hence (eb0
. x)
<= (g
. x) by
A39,
A40,
FUNCT_7: 32;
end;
end;
then
reconsider eb0 as
Element of (
NatMinor g) by
Def14;
(e
. b)
<= (f
. b) by
A37,
Def14;
then (e
. b)
< fb1 by
A13,
XXREAL_0: 2;
then
A41: (e
. b)
in (
Segm fb1) by
NAT_1: 44;
then
A42:
[eb0, (e
. b)]
in (
dom r) by
A35,
ZFMISC_1: 87;
e
= (e
+* (b,(e
. b))) by
FUNCT_7: 35
.= (eb0
+* (b,(e
. b))) by
FUNCT_7: 34;
then e
= (r
. (eb0,(e
. b))) by
A21,
A41;
hence thesis by
A42,
FUNCT_1:def 3;
end;
end;
hence (
card (
NatMinor f))
= (
card
[:ng, ((f
. b)
+ 1):]) by
CARD_1: 5
.= (cng
* (
card ((f
. b)
+ 1))) by
CARD_2: 46
.= (cng
* ((f
. b)
+ 1))
.= (
multnat
. ((
multnat
$$ (B,(
addnat
[:] (f,1)))),((f
. b)
+ 1))) by
A11,
A6,
BINOP_2:def 24
.= (
multnat
$$ ((B
\/
{.b.}),(
addnat
[:] (f,1)))) by
A4,
A12,
SETWOP_2: 2;
end;
A43:
P[(
{}. X)]
proof
let f be
Function of X,
NAT such that
A44: for x be
Element of X st not x
in (
{}. X) holds (f
. x)
=
0 ;
now
let x be
object;
hereby
assume
A45: x
in (
NatMinor f);
then
reconsider x9 = x as
Function of X,
NAT by
FUNCT_2: 66;
now
let c be
Element of X;
(f
. c)
=
0 by
A44;
hence (x9
. c)
= (f
. c) by
A45,
Def14;
end;
hence x
= f by
FUNCT_2: 63;
end;
thus x
= f implies x
in (
NatMinor f) by
Th59;
end;
then (
NatMinor f)
=
{f} by
TARSKI:def 1;
hence (
card (
NatMinor f))
= 1 by
CARD_1: 30
.= (
multnat
$$ ((
{}. X),(
addnat
[:] (f,1)))) by
BINOP_2: 10,
SETWISEO: 31;
end;
for B be
Element of (
Fin X) holds
P[B] from
SETWISEO:sch 2(
A43,
A2);
hence thesis by
A1;
end;
registration
let X be
set, f be
finite-support
Function of X,
NAT ;
cluster (
NatMinor f) ->
finite;
coherence
proof
per cases ;
suppose X is
empty;
then (
NatMinor f)
c= (
Funcs (
{} ,
NAT ));
then (
NatMinor f)
c=
{
{} } by
FUNCT_5: 57;
hence thesis;
end;
suppose not X is
empty;
then
reconsider X as non
empty
set;
reconsider f as
finite-support
Function of X,
NAT ;
(
card (
NatMinor f))
= (
multnat
$$ ((
support f),(
addnat
[:] (f,1)))) by
Th61;
hence thesis;
end;
end;
end
definition
let n be
Ordinal, b be
bag of n;
::
PRE_POLY:def16
func
divisors b ->
FinSequence of (
Bags n) means
:
Def15: ex S be non
empty
finite
Subset of (
Bags n) st it
= (
SgmX ((
BagOrder n),S)) & for p be
bag of n holds p
in S iff p
divides b;
existence
proof
(
dom b)
= n & (
rng b)
c=
NAT by
PARTFUN1:def 2,
VALUED_0:def 6;
then
reconsider f = b as
finite-support
Function of n,
NAT by
RELSET_1: 4;
reconsider S = (
NatMinor f) as non
empty
finite
Subset of (
Bags n) by
Th60;
take IT = (
SgmX ((
BagOrder n),S));
take S;
thus IT
= (
SgmX ((
BagOrder n),S));
let p be
bag of n;
thus p
in S implies p
divides b
proof
assume p
in S;
then for x be
object st x
in n holds (p
. x)
<= (b
. x) by
Def14;
hence thesis by
Th45;
end;
assume p
divides b;
then for x be
set st x
in n holds (p
. x)
<= (b
. x);
hence thesis by
Def14;
end;
uniqueness
proof
let it1,it2 be
FinSequence of (
Bags n);
given S1 be non
empty
finite
Subset of (
Bags n) such that
A1: it1
= (
SgmX ((
BagOrder n),S1)) and
A2: for p be
bag of n holds p
in S1 iff p
divides b;
given S2 be non
empty
finite
Subset of (
Bags n) such that
A3: it2
= (
SgmX ((
BagOrder n),S2)) and
A4: for p be
bag of n holds p
in S2 iff p
divides b;
for x be
object holds x
in S1 iff x
in S2 by
A2,
A4;
hence thesis by
A1,
A3,
TARSKI: 2;
end;
end
registration
let n be
Ordinal, b be
bag of n;
cluster (
divisors b) -> non
empty
one-to-one;
coherence
proof
ex S be non
empty
finite
Subset of (
Bags n) st (
divisors b)
= (
SgmX ((
BagOrder n),S)) & for p be
bag of n holds p
in S iff p
divides b by
Def15;
hence thesis;
end;
end
theorem ::
PRE_POLY:64
Th62: for n be
Ordinal, i be
Element of
NAT , b be
bag of n st i
in (
dom (
divisors b)) holds ((
divisors b)
/. i) qua
Element of (
Bags n)
divides b
proof
let n be
Ordinal, i be
Element of
NAT , b be
bag of n;
assume i
in (
dom (
divisors b));
then
A1: ((
divisors b)
/. i)
= ((
divisors b)
. i) & ((
divisors b)
. i)
in (
rng (
divisors b)) by
FUNCT_1:def 3,
PARTFUN1:def 6;
reconsider pid = ((
divisors b)
/. i) as
bag of n;
consider S be non
empty
finite
Subset of (
Bags n) such that
A2: (
divisors b)
= (
SgmX ((
BagOrder n),S)) and
A3: for p be
bag of n holds p
in S iff p
divides b by
Def15;
(
BagOrder n)
linearly_orders S by
Lm4,
ORDERS_1: 38;
then pid
in S by
A2,
A1,
Def2;
hence thesis by
A3;
end;
theorem ::
PRE_POLY:65
Th63: for n be
Ordinal, b be
bag of n holds ((
divisors b)
/. 1)
= (
EmptyBag n) & ((
divisors b)
/. (
len (
divisors b)))
= b
proof
let n be
Ordinal, b be
bag of n;
consider S be non
empty
finite
Subset of (
Bags n) such that
A1: (
divisors b)
= (
SgmX ((
BagOrder n),S)) and
A2: for p be
bag of n holds p
in S iff p
divides b by
Def15;
A3:
now
let y be
Element of (
Bags n);
assume y
in S;
then y
divides b by
A2;
then y
<=' b by
Th48;
hence
[y, b]
in (
BagOrder n) by
Def13;
end;
A4:
now
let y be
Element of (
Bags n);
assume y
in S;
(
EmptyBag n)
<=' y by
Th48,
Th57;
hence
[(
EmptyBag n), y]
in (
BagOrder n) by
Def13;
end;
A5: (
BagOrder n)
linearly_orders S by
Lm4,
ORDERS_1: 38;
(
EmptyBag n)
divides b;
then (
EmptyBag n)
in S by
A2;
hence ((
divisors b)
/. 1)
= (
EmptyBag n) by
A1,
A5,
A4,
Th19;
b
in S by
A2;
hence thesis by
A1,
A5,
A3,
Th20;
end;
theorem ::
PRE_POLY:66
Th64: for n be
Ordinal, i be
Nat, b,b1,b2 be
bag of n st i
> 1 & i
< (
len (
divisors b)) holds ((
divisors b)
/. i)
<> (
EmptyBag n) & ((
divisors b)
/. i)
<> b
proof
let n be
Ordinal, i be
Nat, b,b1,b2 be
bag of n;
A1: 1
in (
dom (
divisors b)) & (
len (
divisors b))
in (
dom (
divisors b)) by
FINSEQ_5: 6;
A2: ((
divisors b)
/. 1)
= (
EmptyBag n) & ((
divisors b)
/. (
len (
divisors b)))
= b by
Th63;
assume
A3: i
> 1 & i
< (
len (
divisors b));
then i
in (
dom (
divisors b)) by
FINSEQ_3: 25;
hence thesis by
A2,
A1,
A3,
PARTFUN2: 10;
end;
theorem ::
PRE_POLY:67
Th65: for n be
Ordinal holds (
divisors (
EmptyBag n))
=
<*(
EmptyBag n)*>
proof
let n be
Ordinal;
consider S be non
empty
finite
Subset of (
Bags n) such that
A1: (
divisors (
EmptyBag n))
= (
SgmX ((
BagOrder n),S)) and
A2: for p be
bag of n holds p
in S iff p
divides (
EmptyBag n) by
Def15;
A3: S
c=
{(
EmptyBag n)}
proof
let x be
object;
assume
A4: x
in S;
then
reconsider b = x as
bag of n;
b
divides (
EmptyBag n) by
A2,
A4;
then b
= (
EmptyBag n);
hence thesis by
TARSKI:def 1;
end;
A5: (
BagOrder n)
linearly_orders S by
Lm4,
ORDERS_1: 38;
(
EmptyBag n)
in S by
A2;
then
{(
EmptyBag n)}
c= S by
ZFMISC_1: 31;
then S
=
{(
EmptyBag n)} by
A3;
then
A6: (
rng (
divisors (
EmptyBag n)))
=
{(
EmptyBag n)} by
A1,
A5,
Def2;
(
len (
divisors (
EmptyBag n)))
= (
card (
rng (
divisors (
EmptyBag n)))) by
Th18
.= 1 by
A6,
CARD_1: 30;
hence thesis by
A6,
FINSEQ_1: 39;
end;
definition
let n be
Ordinal, b be
bag of n;
::
PRE_POLY:def17
func
decomp b ->
FinSequence of (2
-tuples_on (
Bags n)) means
:
Def16: (
dom it )
= (
dom (
divisors b)) & for i be
Element of
NAT , p be
bag of n st i
in (
dom it ) & p
= ((
divisors b)
/. i) holds (it
/. i)
=
<*p, (b
-' p)*>;
existence
proof
defpred
P[
Nat,
set] means for p be
bag of n st p
= ((
divisors b)
/. $1) holds $2
=
<*p, (b
-' p)*>;
A1: for k be
Nat st k
in (
Seg (
len (
divisors b))) holds ex d be
Element of (2
-tuples_on (
Bags n)) st
P[k, d]
proof
let k be
Nat such that k
in (
Seg (
len (
divisors b)));
reconsider p = ((
divisors b)
/. k) as
bag of n;
reconsider b1 = p, b2 = (b
-' p) as
Element of (
Bags n) by
Def12;
(
len
<*p, (b
-' p)*>)
= 2 by
FINSEQ_1: 44;
then
reconsider d =
<*b1, b2*> as
Element of (2
-tuples_on (
Bags n)) by
FINSEQ_2: 92;
take d;
thus thesis;
end;
consider f be
FinSequence of (2
-tuples_on (
Bags n)) such that
A2: (
len f)
= (
len (
divisors b)) and
A3: for n be
Nat st n
in (
Seg (
len (
divisors b))) holds
P[n, (f
/. n)] from
FINSEQ_4:sch 1(
A1);
take f;
thus (
dom f)
= (
dom (
divisors b)) by
A2,
FINSEQ_3: 29;
let i be
Element of
NAT , p be
bag of n such that
A4: i
in (
dom f) and
A5: p
= ((
divisors b)
/. i);
i
in (
Seg (
len (
divisors b))) by
A2,
A4,
FINSEQ_1:def 3;
hence thesis by
A3,
A5;
end;
uniqueness
proof
let F,G be
FinSequence of (2
-tuples_on (
Bags n)) such that
A6: (
dom F)
= (
dom (
divisors b)) and
A7: for i be
Element of
NAT , p be
bag of n st i
in (
dom F) & p
= ((
divisors b)
/. i) holds (F
/. i)
=
<*p, (b
-' p)*> and
A8: (
dom G)
= (
dom (
divisors b)) and
A9: for i be
Element of
NAT , p be
bag of n st i
in (
dom G) & p
= ((
divisors b)
/. i) holds (G
/. i)
=
<*p, (b
-' p)*>;
now
let i be
Nat;
reconsider p = ((
divisors b)
/. i) as
bag of n;
assume
A10: i
in (
dom F);
hence (F
/. i)
=
<*p, (b
-' p)*> by
A7
.= (G
/. i) by
A6,
A8,
A9,
A10;
end;
hence thesis by
A6,
A8,
FINSEQ_5: 12;
end;
end
theorem ::
PRE_POLY:68
Th66: for n be
Ordinal, i be
Element of
NAT , b be
bag of n st i
in (
dom (
decomp b)) holds ex b1,b2 be
bag of n st ((
decomp b)
/. i)
=
<*b1, b2*> & b
= (b1
+ b2)
proof
let n be
Ordinal, i be
Element of
NAT , b be
bag of n;
reconsider p = ((
divisors b)
/. i) as
bag of n;
assume
A1: i
in (
dom (
decomp b));
take p, (b
-' p);
thus ((
decomp b)
/. i)
=
<*p, (b
-' p)*> by
A1,
Def16;
i
in (
dom (
divisors b)) by
A1,
Def16;
hence thesis by
Th46,
Th62;
end;
theorem ::
PRE_POLY:69
Th67: for n be
Ordinal, b,b1,b2 be
bag of n st b
= (b1
+ b2) holds ex i be
Element of
NAT st i
in (
dom (
decomp b)) & ((
decomp b)
/. i)
=
<*b1, b2*>
proof
let n be
Ordinal, b,b1,b2 be
bag of n;
consider S be non
empty
finite
Subset of (
Bags n) such that
A1: (
divisors b)
= (
SgmX ((
BagOrder n),S)) and
A2: for p be
bag of n holds p
in S iff p
divides b by
Def15;
A3: (
BagOrder n)
linearly_orders S by
Lm4,
ORDERS_1: 38;
assume
A4: b
= (b1
+ b2);
then b1
divides b by
Th49;
then b1
in S by
A2;
then b1
in (
rng (
divisors b)) by
A1,
A3,
Def2;
then
consider i be
Element of
NAT such that
A5: i
in (
dom (
divisors b)) and
A6: ((
divisors b)
/. i)
= b1 by
PARTFUN2: 2;
take i;
thus i
in (
dom (
decomp b)) by
A5,
Def16;
then ((
decomp b)
/. i)
=
<*b1, (b
-' b1)*> by
A6,
Def16;
hence thesis by
A4,
Th47;
end;
theorem ::
PRE_POLY:70
Th68: for n be
Ordinal, i be
Element of
NAT , b,b1,b2 be
bag of n st i
in (
dom (
decomp b)) & ((
decomp b)
/. i)
=
<*b1, b2*> holds b1
= ((
divisors b)
/. i)
proof
let n be
Ordinal, i be
Element of
NAT , b,b1,b2 be
bag of n;
reconsider p = ((
divisors b)
/. i) as
bag of n;
assume i
in (
dom (
decomp b)) & ((
decomp b)
/. i)
=
<*b1, b2*>;
then
<*b1, b2*>
=
<*p, (b
-' p)*> by
Def16;
hence thesis by
FINSEQ_1: 77;
end;
registration
let n be
Ordinal, b be
bag of n;
cluster (
decomp b) -> non
empty
one-to-one
FinSequence-yielding;
coherence
proof
A1: (
dom (
divisors b))
= (
dom (
decomp b)) by
Def16;
hence (
decomp b) is non
empty;
now
let k,m be
Element of
NAT ;
assume
A2: k
in (
dom (
decomp b));
assume
A3: m
in (
dom (
decomp b));
then
consider bm1,bm2 be
bag of n such that
A4: ((
decomp b)
/. m)
=
<*bm1, bm2*> and b
= (bm1
+ bm2) by
Th66;
assume ((
decomp b)
/. k)
= ((
decomp b)
/. m);
then ((
divisors b)
/. k)
= bm1 by
A2,
A4,
Th68
.= ((
divisors b)
/. m) by
A3,
A4,
Th68;
hence k
= m by
A1,
A2,
A3,
PARTFUN2: 10;
end;
hence (
decomp b) is
one-to-one by
PARTFUN2: 9;
let x be
object;
assume x
in (
dom (
decomp b));
thus thesis;
end;
end
registration
let n be
Ordinal, b be
Element of (
Bags n);
cluster (
decomp b) -> non
empty
one-to-one
FinSequence-yielding;
coherence ;
end
theorem ::
PRE_POLY:71
for n be
Ordinal, b be
bag of n holds ((
decomp b)
/. 1)
=
<*(
EmptyBag n), b*> & ((
decomp b)
/. (
len (
decomp b)))
=
<*b, (
EmptyBag n)*>
proof
let n be
Ordinal, b be
bag of n;
reconsider p = ((
divisors b)
/. 1) as
bag of n;
p
= (
EmptyBag n) & 1
in (
dom (
decomp b)) by
Th63,
FINSEQ_5: 6;
hence ((
decomp b)
/. 1)
=
<*(
EmptyBag n), (b
-' (
EmptyBag n))*> by
Def16
.=
<*(
EmptyBag n), b*> by
Th52;
reconsider p = ((
divisors b)
/. (
len (
decomp b))) as
bag of n;
(
dom (
decomp b))
= (
dom (
divisors b)) by
Def16;
then (
len (
decomp b))
= (
len (
divisors b)) by
FINSEQ_3: 29;
then
A1: p
= b by
Th63;
(
len (
decomp b))
in (
dom (
decomp b)) by
FINSEQ_5: 6;
hence ((
decomp b)
/. (
len (
decomp b)))
=
<*b, (b
-' b)*> by
A1,
Def16
.=
<*b, (
EmptyBag n)*> by
Th54;
end;
theorem ::
PRE_POLY:72
for n be
Ordinal, i be
Nat, b,b1,b2 be
bag of n st i
> 1 & i
< (
len (
decomp b)) & ((
decomp b)
/. i)
=
<*b1, b2*> holds b1
<> (
EmptyBag n) & b2
<> (
EmptyBag n)
proof
let n be
Ordinal, i be
Nat, b,b1,b2 be
bag of n such that
A1: i
> 1 & i
< (
len (
decomp b)) and
A2: ((
decomp b)
/. i)
=
<*b1, b2*>;
reconsider p = ((
divisors b)
/. i) as
bag of n;
A3: i
in (
dom (
decomp b)) by
A1,
FINSEQ_3: 25;
then
A4: ((
decomp b)
/. i)
=
<*p, (b
-' p)*> by
Def16;
then
A5: b2
= (b
-' p) by
A2,
FINSEQ_1: 77;
A6: (
dom (
decomp b))
= (
dom (
divisors b)) by
Def16;
then
A7: (
len (
decomp b))
= (
len (
divisors b)) by
FINSEQ_3: 29;
b1
= p by
A2,
A4,
FINSEQ_1: 77;
hence b1
<> (
EmptyBag n) by
A1,
A7,
Th64;
assume b2
= (
EmptyBag n);
then p
= b by
A6,
A3,
A5,
Th55,
Th62;
hence contradiction by
A1,
A7,
Th64;
end;
theorem ::
PRE_POLY:73
for n be
Ordinal holds (
decomp (
EmptyBag n))
=
<*
<*(
EmptyBag n), (
EmptyBag n)*>*>
proof
let n be
Ordinal;
(
len
<*(
EmptyBag n), (
EmptyBag n)*>)
= 2 by
FINSEQ_1: 44;
then
reconsider E =
<*(
EmptyBag n), (
EmptyBag n)*> as
Element of (2
-tuples_on (
Bags n)) by
FINSEQ_2: 92;
reconsider e =
<*E*> as
FinSequence of (2
-tuples_on (
Bags n));
A1: (
dom e)
= (
Seg 1) by
FINSEQ_1: 38;
A2:
<*(
EmptyBag n)*>
= (
divisors (
EmptyBag n)) by
Th65;
A3: for i be
Element of
NAT , p be
bag of n st i
in (
dom e) & p
= ((
divisors (
EmptyBag n))
/. i) holds (e
/. i)
=
<*p, ((
EmptyBag n)
-' p)*>
proof
let i be
Element of
NAT , p be
bag of n such that
A4: i
in (
dom e) and
A5: p
= ((
divisors (
EmptyBag n))
/. i);
A6: i
= 1 by
A1,
A4,
FINSEQ_1: 2,
TARSKI:def 1;
then
A7: ((
divisors (
EmptyBag n))
/. i)
= (
EmptyBag n) by
A2,
FINSEQ_4: 16;
thus (e
/. i)
= E by
A6,
FINSEQ_4: 16
.=
<*p, ((
EmptyBag n)
-' p)*> by
A5,
A7,
Th52;
end;
(
dom e)
= (
dom (
divisors (
EmptyBag n))) by
A2,
A1,
FINSEQ_1: 38;
hence thesis by
A3,
Def16;
end;
theorem ::
PRE_POLY:74
for n be
Ordinal, b be
bag of n, f,g be
FinSequence of ((3
-tuples_on (
Bags n))
* ) st (
dom f)
= (
dom (
decomp b)) & (
dom g)
= (
dom (
decomp b)) & (for k be
Nat st k
in (
dom f) holds (f
. k)
= ((
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1) qua
Element of (
Bags n))
^^ ((
len (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1) qua
Element of (
Bags n)))
|->
<*(((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2)*>))) & (for k be
Nat st k
in (
dom g) holds (g
. k)
= (((
len (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2) qua
Element of (
Bags n)))
|->
<*(((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1)*>)
^^ (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2) qua
Element of (
Bags n)))) holds ex p be
Permutation of (
dom (
FlattenSeq f)) st (
FlattenSeq g)
= ((
FlattenSeq f)
* p)
proof
let n be
Ordinal, b be
bag of n, f,g be
FinSequence of ((3
-tuples_on (
Bags n))
* ) such that
A1: (
dom f)
= (
dom (
decomp b)) and
A2: (
dom g)
= (
dom (
decomp b)) and
A3: for k be
Nat st k
in (
dom f) holds (f
. k)
= ((
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1) qua
Element of (
Bags n))
^^ ((
len (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1) qua
Element of (
Bags n)))
|->
<*(((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2)*>)) and
A4: for k be
Nat st k
in (
dom g) holds (g
. k)
= (((
len (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2) qua
Element of (
Bags n)))
|->
<*(((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 1)*>)
^^ (
decomp (((
decomp b)
/. k) qua
Element of (2
-tuples_on (
Bags n))
/. 2) qua
Element of (
Bags n)));
set Ff = (
FlattenSeq f), Fg = (
FlattenSeq g), db = (
decomp b);
A5: Fg is
one-to-one
proof
let k1,k2 be
object such that
A6: k1
in (
dom Fg) and
A7: k2
in (
dom Fg) and
A8: (Fg
. k1)
= (Fg
. k2);
consider i1,j1 be
Nat such that
A9: i1
in (
dom g) and
A10: j1
in (
dom (g
. i1)) and
A11: k1
= ((
Sum (
Card (g
| (i1
-' 1))))
+ j1) and
A12: ((g
. i1)
. j1)
= (Fg
. k1) by
A6,
Th28;
reconsider dbi1 = (db
/. i1) as
Element of (2
-tuples_on (
Bags n));
set ddbi11 = (
decomp (dbi1
/. 2) qua
Element of (
Bags n));
A13: (g
. i1)
= (((
len ddbi11)
|->
<*(dbi1
/. 1)*>)
^^ ddbi11) by
A4,
A9;
then
A14: (
dom (g
. i1))
= ((
dom ddbi11)
/\ (
dom ((
len ddbi11)
|->
<*(dbi1
/. 1)*>))) by
Def4
.= ((
dom ddbi11)
/\ (
Seg (
len ddbi11)))
.= ((
dom ddbi11)
/\ (
dom ddbi11)) by
FINSEQ_1:def 3
.= (
dom ddbi11);
then
A15: (ddbi11
/. j1)
= (ddbi11
. j1) by
A10,
PARTFUN1:def 6;
(
dom ddbi11)
= (
Seg (
len ddbi11)) by
FINSEQ_1:def 3;
then
A16: (((
len ddbi11)
|->
<*(dbi1
/. 1)*>)
. j1)
=
<*(dbi1
/. 1)*> by
A10,
A14,
FUNCOP_1: 7;
consider b11,b12 be
bag of n such that
A17: (db
/. i1)
=
<*b11, b12*> and b
= (b11
+ b12) by
A2,
A9,
Th66;
reconsider b119 = b11, b129 = b12 as
Element of (
Bags n) by
Def12;
A18: b119
= b11 & b129
= b12;
then (dbi1
/. 2)
= b12 by
A17,
FINSEQ_4: 17;
then
consider b111,b112 be
bag of n such that
A19: (ddbi11
/. j1)
=
<*b111, b112*> and
A20: b12
= (b111
+ b112) by
A10,
A14,
Th66;
(dbi1
/. 1)
= b11 by
A17,
A18,
FINSEQ_4: 17;
then
A21: ((g
. i1)
. j1)
= (
<*b11*>
^
<*b111, b112*>) by
A10,
A13,
A19,
A15,
A16,
Def4
.=
<*b11, b111, b112*> by
FINSEQ_1: 43;
consider i2,j2 be
Nat such that
A22: i2
in (
dom g) and
A23: j2
in (
dom (g
. i2)) and
A24: k2
= ((
Sum (
Card (g
| (i2
-' 1))))
+ j2) and
A25: ((g
. i2)
. j2)
= (Fg
. k2) by
A7,
Th28;
reconsider dbi2 = (db
/. i2) as
Element of (2
-tuples_on (
Bags n));
set ddbi21 = (
decomp (dbi2
/. 2) qua
Element of (
Bags n));
A26: (g
. i2)
= (((
len ddbi21)
|->
<*(dbi2
/. 1)*>)
^^ ddbi21) by
A4,
A22;
then
A27: (
dom (g
. i2))
= ((
dom ddbi21)
/\ (
dom ((
len ddbi21)
|->
<*(dbi2
/. 1)*>))) by
Def4
.= ((
dom ddbi21)
/\ (
Seg (
len ddbi21)))
.= ((
dom ddbi21)
/\ (
dom ddbi21)) by
FINSEQ_1:def 3
.= (
dom ddbi21);
then
A28: (ddbi21
/. j2)
= (ddbi21
. j2) by
A23,
PARTFUN1:def 6;
(
dom ddbi21)
= (
Seg (
len ddbi21)) by
FINSEQ_1:def 3;
then
A29: (((
len ddbi21)
|->
<*(dbi2
/. 1)*>)
. j2)
=
<*(dbi2
/. 1)*> by
A23,
A27,
FUNCOP_1: 7;
consider b21,b22 be
bag of n such that
A30: (db
/. i2)
=
<*b21, b22*> and b
= (b21
+ b22) by
A2,
A22,
Th66;
reconsider b219 = b21, b229 = b22 as
Element of (
Bags n) by
Def12;
A31: b219
= b21 & b229
= b22;
then (dbi2
/. 2)
= b22 by
A30,
FINSEQ_4: 17;
then
consider b211,b212 be
bag of n such that
A32: (ddbi21
/. j2)
=
<*b211, b212*> and
A33: b22
= (b211
+ b212) by
A23,
A27,
Th66;
(dbi2
/. 1)
= b21 by
A30,
A31,
FINSEQ_4: 17;
then
A34: ((g
. i2)
. j2)
= (
<*b21*>
^
<*b211, b212*>) by
A23,
A26,
A32,
A28,
A29,
Def4
.=
<*b21, b211, b212*> by
FINSEQ_1: 43;
then
A35: b111
= b211 & b112
= b212 by
A8,
A12,
A25,
A21,
FINSEQ_1: 78;
A36: (db
/. i2)
= (db
. i2) by
A2,
A22,
PARTFUN1:def 6;
A37: (db
/. i1)
= (db
. i1) by
A2,
A9,
PARTFUN1:def 6;
b11
= b21 by
A8,
A12,
A25,
A21,
A34,
FINSEQ_1: 78;
then i1
= i2 by
A2,
A9,
A22,
A37,
A17,
A20,
A36,
A30,
A33,
A35,
FUNCT_1:def 4;
hence thesis by
A10,
A11,
A23,
A24,
A19,
A15,
A27,
A32,
A28,
A35,
FUNCT_1:def 4;
end;
now
let y be
object;
hereby
assume y
in (
rng Ff);
then
consider k be
object such that
A38: k
in (
dom Ff) and
A39: y
= (Ff
. k) by
FUNCT_1:def 3;
reconsider k as
Element of
NAT by
A38;
consider i,j be
Nat such that
A40: i
in (
dom f) and
A41: j
in (
dom (f
. i)) and k
= ((
Sum (
Card (f
| (i
-' 1))))
+ j) and
A42: ((f
. i)
. j)
= (Ff
. k) by
A38,
Th28;
reconsider dbi = (db
/. i) as
Element of (2
-tuples_on (
Bags n));
set ddbi1 = (
decomp (dbi
/. 1) qua
Element of (
Bags n));
A43: (f
. i)
= (ddbi1
^^ ((
len ddbi1)
|->
<*(dbi
/. 2)*>)) by
A3,
A40;
then
A44: (
dom (f
. i))
= ((
dom ddbi1)
/\ (
dom ((
len ddbi1)
|->
<*(dbi
/. 2)*>))) by
Def4
.= ((
dom ddbi1)
/\ (
Seg (
len ddbi1)))
.= ((
dom ddbi1)
/\ (
dom ddbi1)) by
FINSEQ_1:def 3
.= (
dom ddbi1);
(
dom ddbi1)
= (
Seg (
len ddbi1)) by
FINSEQ_1:def 3;
then
A45: (((
len ddbi1)
|->
<*(dbi
/. 2)*>)
. j)
=
<*(dbi
/. 2)*> by
A41,
A44,
FUNCOP_1: 7;
consider b1,b2 be
bag of n such that
A46: (db
/. i)
=
<*b1, b2*> and
A47: b
= (b1
+ b2) by
A1,
A40,
Th66;
reconsider b19 = b1, b29 = b2 as
Element of (
Bags n) by
Def12;
A48: b19
= b1 & b29
= b2;
then
A49: (dbi
/. 2)
= b2 by
A46,
FINSEQ_4: 17;
(dbi
/. 1)
= b1 by
A46,
A48,
FINSEQ_4: 17;
then
consider b11,b12 be
bag of n such that
A50: (ddbi1
/. j)
=
<*b11, b12*> and
A51: b1
= (b11
+ b12) by
A41,
A44,
Th66;
b
= (b11
+ (b12
+ b2)) by
A47,
A51,
Th34;
then
consider i9 be
Element of
NAT such that
A52: i9
in (
dom (
decomp b)) and
A53: ((
decomp b)
/. i9)
=
<*b11, (b12
+ b2)*> by
Th67;
set b3 = (b12
+ b2);
reconsider b119 = b11, b39 = b3 as
Element of (
Bags n) by
Def12;
consider j9 be
Element of
NAT such that
A54: j9
in (
dom (
decomp b3)) and
A55: ((
decomp b3)
/. j9)
=
<*b12, b2*> by
Th67;
reconsider dbi9 = ((
decomp b)
/. i9) as
Element of (2
-tuples_on (
Bags n));
set ddbi92 = (
decomp (dbi9
/. 2) qua
Element of (
Bags n));
A56: ((
decomp b)
/. i9)
=
<*b119, b39*> by
A53;
then
A57: (dbi9
/. 1)
= b11 & ddbi92
= (
decomp b3) by
FINSEQ_4: 17;
A58: (g
. i9)
= (((
len ddbi92)
|->
<*(dbi9
/. 1)*>)
^^ ddbi92) by
A2,
A4,
A52;
then
A59: (
dom (g
. i9))
= ((
dom ((
len ddbi92)
|->
<*(dbi9
/. 1)*>))
/\ (
dom ddbi92)) by
Def4
.= ((
Seg (
len ddbi92))
/\ (
dom ddbi92))
.= ((
dom ddbi92)
/\ (
dom ddbi92)) by
FINSEQ_1:def 3
.= (
dom ddbi92);
then
A60: j9
in (
dom (g
. i9)) by
A54,
A56,
FINSEQ_4: 17;
then
A61: j9
in (
Seg (
len ddbi92)) by
A59,
FINSEQ_1:def 3;
A62: ((
decomp b3)
/. j9)
= ((
decomp b3)
. j9) by
A54,
PARTFUN1:def 6;
set m = ((
Sum (
Card (g
| (i9
-' 1))))
+ j9);
A63: m
in (
dom Fg) & (Fg
. m)
= ((g
. i9)
. j9) by
A2,
A52,
A60,
Th29;
A64: ((g
. i9)
. j9)
= ((((
len ddbi92)
|->
<*(dbi9
/. 1)*>)
. j9)
^ (ddbi92
. j9)) by
A58,
A60,
Def4
.= (
<*b11*>
^
<*b12, b2*>) by
A55,
A57,
A61,
A62,
FUNCOP_1: 7
.=
<*b11, b12, b2*> by
FINSEQ_1: 43;
(ddbi1
/. j)
= (ddbi1
. j) by
A41,
A44,
PARTFUN1:def 6;
then ((f
. i)
. j)
= (
<*b11, b12*>
^
<*b2*>) by
A41,
A43,
A49,
A50,
A45,
Def4
.=
<*b11, b12, b2*> by
FINSEQ_1: 43;
hence y
in (
rng Fg) by
A39,
A42,
A64,
A63,
FUNCT_1:def 3;
end;
assume y
in (
rng Fg);
then
consider k be
object such that
A65: k
in (
dom Fg) and
A66: y
= (Fg
. k) by
FUNCT_1:def 3;
reconsider k as
Element of
NAT by
A65;
consider i,j be
Nat such that
A67: i
in (
dom g) and
A68: j
in (
dom (g
. i)) and k
= ((
Sum (
Card (g
| (i
-' 1))))
+ j) and
A69: ((g
. i)
. j)
= (Fg
. k) by
A65,
Th28;
reconsider dbi = (db
/. i) as
Element of (2
-tuples_on (
Bags n));
set ddbi1 = (
decomp (dbi
/. 2) qua
Element of (
Bags n));
A70: (g
. i)
= (((
len ddbi1)
|->
<*(dbi
/. 1)*>)
^^ ddbi1) by
A4,
A67;
then
A71: (
dom (g
. i))
= ((
dom ddbi1)
/\ (
dom ((
len ddbi1)
|->
<*(dbi
/. 1)*>))) by
Def4
.= ((
dom ddbi1)
/\ (
Seg (
len ddbi1)))
.= ((
dom ddbi1)
/\ (
dom ddbi1)) by
FINSEQ_1:def 3
.= (
dom ddbi1);
(
dom ddbi1)
= (
Seg (
len ddbi1)) by
FINSEQ_1:def 3;
then
A72: (((
len ddbi1)
|->
<*(dbi
/. 1)*>)
. j)
=
<*(dbi
/. 1)*> by
A68,
A71,
FUNCOP_1: 7;
consider b1,b2 be
bag of n such that
A73: (db
/. i)
=
<*b1, b2*> and
A74: b
= (b1
+ b2) by
A2,
A67,
Th66;
reconsider b19 = b1, b29 = b2 as
Element of (
Bags n) by
Def12;
A75: b19
= b1 & b29
= b2;
then
A76: (dbi
/. 1)
= b1 by
A73,
FINSEQ_4: 17;
(dbi
/. 2)
= b2 by
A73,
A75,
FINSEQ_4: 17;
then
consider b11,b12 be
bag of n such that
A77: (ddbi1
/. j)
=
<*b11, b12*> and
A78: b2
= (b11
+ b12) by
A68,
A71,
Th66;
(ddbi1
/. j)
= (ddbi1
. j) by
A68,
A71,
PARTFUN1:def 6;
then
A79: ((g
. i)
. j)
= (
<*b1*>
^
<*b11, b12*>) by
A68,
A70,
A76,
A77,
A72,
Def4
.=
<*b1, b11, b12*> by
FINSEQ_1: 43;
set b3 = (b1
+ b11);
reconsider b39 = b3, b129 = b12 as
Element of (
Bags n) by
Def12;
consider j9 be
Element of
NAT such that
A80: j9
in (
dom (
decomp b3)) and
A81: ((
decomp b3)
/. j9)
=
<*b1, b11*> by
Th67;
A82: ((
decomp b3)
/. j9)
= ((
decomp b3)
. j9) by
A80,
PARTFUN1:def 6;
b
= ((b1
+ b11)
+ b12) by
A74,
A78,
Th34;
then
consider i9 be
Element of
NAT such that
A83: i9
in (
dom (
decomp b)) and
A84: ((
decomp b)
/. i9)
=
<*(b1
+ b11), b12*> by
Th67;
reconsider dbi9 = ((
decomp b)
/. i9) as
Element of (2
-tuples_on (
Bags n));
set ddbi92 = (
decomp (dbi9
/. 1) qua
Element of (
Bags n));
set m = ((
Sum (
Card (f
| (i9
-' 1))))
+ j9);
A85: ((
decomp b)
/. i9)
=
<*b39, b129*> by
A84;
then
A86: (dbi9
/. 1)
= b3 by
FINSEQ_4: 17;
then
A87: j9
in (
Seg (
len ddbi92)) by
A80,
FINSEQ_1:def 3;
A88: (f
. i9)
= (ddbi92
^^ ((
len ddbi92)
|->
<*(dbi9
/. 2)*>)) by
A1,
A3,
A83;
then
A89: (
dom (f
. i9))
= ((
dom ((
len ddbi92)
|->
<*(dbi9
/. 2)*>))
/\ (
dom ddbi92)) by
Def4
.= ((
Seg (
len ddbi92))
/\ (
dom ddbi92))
.= ((
dom ddbi92)
/\ (
dom ddbi92)) by
FINSEQ_1:def 3
.= (
dom ddbi92);
then
A90: m
in (
dom Ff) & (Ff
. m)
= ((f
. i9)
. j9) by
A1,
A83,
A80,
A86,
Th29;
A91: (dbi9
/. 2)
= b12 by
A85,
FINSEQ_4: 17;
((f
. i9)
. j9)
= ((ddbi92
. j9)
^ (((
len ddbi92)
|->
<*(dbi9
/. 2)*>)
. j9)) by
A80,
A88,
A86,
A89,
Def4
.= (
<*b1, b11*>
^
<*b12*>) by
A81,
A91,
A86,
A87,
A82,
FUNCOP_1: 7
.=
<*b1, b11, b12*> by
FINSEQ_1: 43;
hence y
in (
rng Ff) by
A66,
A69,
A79,
A90,
FUNCT_1:def 3;
end;
then
A92: (
rng Ff)
= (
rng Fg) by
TARSKI: 2;
Ff is
one-to-one
proof
let k1,k2 be
object such that
A93: k1
in (
dom Ff) and
A94: k2
in (
dom Ff) and
A95: (Ff
. k1)
= (Ff
. k2);
consider i1,j1 be
Nat such that
A96: i1
in (
dom f) and
A97: j1
in (
dom (f
. i1)) and
A98: k1
= ((
Sum (
Card (f
| (i1
-' 1))))
+ j1) and
A99: ((f
. i1)
. j1)
= (Ff
. k1) by
A93,
Th28;
reconsider dbi1 = (db
/. i1) as
Element of (2
-tuples_on (
Bags n));
set ddbi11 = (
decomp (dbi1
/. 1) qua
Element of (
Bags n));
A100: (f
. i1)
= (ddbi11
^^ ((
len ddbi11)
|->
<*(dbi1
/. 2)*>)) by
A3,
A96;
then
A101: (
dom (f
. i1))
= ((
dom ddbi11)
/\ (
dom ((
len ddbi11)
|->
<*(dbi1
/. 2)*>))) by
Def4
.= ((
dom ddbi11)
/\ (
Seg (
len ddbi11)))
.= ((
dom ddbi11)
/\ (
dom ddbi11)) by
FINSEQ_1:def 3
.= (
dom ddbi11);
then
A102: (ddbi11
/. j1)
= (ddbi11
. j1) by
A97,
PARTFUN1:def 6;
(
dom ddbi11)
= (
Seg (
len ddbi11)) by
FINSEQ_1:def 3;
then
A103: (((
len ddbi11)
|->
<*(dbi1
/. 2)*>)
. j1)
=
<*(dbi1
/. 2)*> by
A97,
A101,
FUNCOP_1: 7;
consider b11,b12 be
bag of n such that
A104: (db
/. i1)
=
<*b11, b12*> and b
= (b11
+ b12) by
A1,
A96,
Th66;
reconsider b119 = b11, b129 = b12 as
Element of (
Bags n) by
Def12;
A105: b119
= b11 & b129
= b12;
then (dbi1
/. 1)
= b11 by
A104,
FINSEQ_4: 17;
then
consider b111,b112 be
bag of n such that
A106: (ddbi11
/. j1)
=
<*b111, b112*> and
A107: b11
= (b111
+ b112) by
A97,
A101,
Th66;
(dbi1
/. 2)
= b12 by
A104,
A105,
FINSEQ_4: 17;
then
A108: ((f
. i1)
. j1)
= (
<*b111, b112*>
^
<*b12*>) by
A97,
A100,
A106,
A102,
A103,
Def4
.=
<*b111, b112, b12*> by
FINSEQ_1: 43;
consider i2,j2 be
Nat such that
A109: i2
in (
dom f) and
A110: j2
in (
dom (f
. i2)) and
A111: k2
= ((
Sum (
Card (f
| (i2
-' 1))))
+ j2) and
A112: ((f
. i2)
. j2)
= (Ff
. k2) by
A94,
Th28;
reconsider dbi2 = (db
/. i2) as
Element of (2
-tuples_on (
Bags n));
set ddbi21 = (
decomp (dbi2
/. 1) qua
Element of (
Bags n));
A113: (f
. i2)
= (ddbi21
^^ ((
len ddbi21)
|->
<*(dbi2
/. 2)*>)) by
A3,
A109;
then
A114: (
dom (f
. i2))
= ((
dom ddbi21)
/\ (
dom ((
len ddbi21)
|->
<*(dbi2
/. 2)*>))) by
Def4
.= ((
dom ddbi21)
/\ (
Seg (
len ddbi21)))
.= ((
dom ddbi21)
/\ (
dom ddbi21)) by
FINSEQ_1:def 3
.= (
dom ddbi21);
then
A115: (ddbi21
/. j2)
= (ddbi21
. j2) by
A110,
PARTFUN1:def 6;
(
dom ddbi21)
= (
Seg (
len ddbi21)) by
FINSEQ_1:def 3;
then
A116: (((
len ddbi21)
|->
<*(dbi2
/. 2)*>)
. j2)
=
<*(dbi2
/. 2)*> by
A110,
A114,
FUNCOP_1: 7;
consider b21,b22 be
bag of n such that
A117: (db
/. i2)
=
<*b21, b22*> and b
= (b21
+ b22) by
A1,
A109,
Th66;
reconsider b219 = b21, b229 = b22 as
Element of (
Bags n) by
Def12;
A118: b219
= b21 & b229
= b22;
then (dbi2
/. 1)
= b21 by
A117,
FINSEQ_4: 17;
then
consider b211,b212 be
bag of n such that
A119: (ddbi21
/. j2)
=
<*b211, b212*> and
A120: b21
= (b211
+ b212) by
A110,
A114,
Th66;
(dbi2
/. 2)
= b22 by
A117,
A118,
FINSEQ_4: 17;
then
A121: ((f
. i2)
. j2)
= (
<*b211, b212*>
^
<*b22*>) by
A110,
A113,
A119,
A115,
A116,
Def4
.=
<*b211, b212, b22*> by
FINSEQ_1: 43;
then
A122: b111
= b211 & b112
= b212 by
A95,
A99,
A112,
A108,
FINSEQ_1: 78;
A123: (db
/. i2)
= (db
. i2) by
A1,
A109,
PARTFUN1:def 6;
A124: (db
/. i1)
= (db
. i1) by
A1,
A96,
PARTFUN1:def 6;
b12
= b22 by
A95,
A99,
A112,
A108,
A121,
FINSEQ_1: 78;
then i1
= i2 by
A1,
A96,
A109,
A124,
A104,
A107,
A123,
A117,
A120,
A122,
FUNCT_1:def 4;
hence thesis by
A97,
A98,
A110,
A111,
A106,
A102,
A114,
A119,
A115,
A122,
FUNCT_1:def 4;
end;
then (Ff,Fg)
are_fiberwise_equipotent by
A92,
A5,
RFINSEQ: 26;
hence thesis by
RFINSEQ: 4;
end;
theorem ::
PRE_POLY:75
for X be
set, b1,b2 be
real-valued
ManySortedSet of X holds (
support (b1
+ b2))
c= ((
support b1)
\/ (
support b2))
proof
let X be
set, b1,b2 be
real-valued
ManySortedSet of X;
let x be
object;
assume x
in (
support (b1
+ b2));
then
A1: ((b1
+ b2)
. x)
<>
0 by
Def7;
assume
A2: not x
in ((
support b1)
\/ (
support b2));
then not x
in (
support b1) by
XBOOLE_0:def 3;
then
A3: (b1
. x)
=
0 by
Def7;
not x
in (
support b2) by
A2,
XBOOLE_0:def 3;
then ((b1
. x)
+ (b2
. x))
=
0 by
A3,
Def7;
hence contradiction by
A1,
Def5;
end;
registration
let D be non
empty
set;
let n be
Nat;
cluster ->
FinSequence-yielding for
FinSequence of (n
-tuples_on D);
coherence ;
end
registration
let k be
Nat;
let D be non
empty
set, M be
FinSequence of (k
-tuples_on D);
let x be
set;
cluster (M
/. x) ->
Function-like
Relation-like;
coherence ;
end
registration
let k be
Element of
NAT ;
let D be non
empty
set, M be
FinSequence of (k
-tuples_on D);
let x be
set;
cluster (M
/. x) -> D
-valued
FinSequence-like;
coherence ;
end
begin
theorem ::
PRE_POLY:76
for X be
set, A be
empty
Subset of X, R be
Order of X st R
linearly_orders A holds (
SgmX (R,A))
=
{}
proof
let X be
set, A be
empty
Subset of X, R be
Order of X;
assume R
linearly_orders A;
then (
rng (
SgmX (R,A)))
=
{} by
Def2;
hence thesis;
end;
theorem ::
PRE_POLY:77
Th75: for X be
set, A be
finite
Subset of X, R be
Order of X st R
linearly_orders A holds for i,j be
Element of
NAT st i
in (
dom (
SgmX (R,A))) & j
in (
dom (
SgmX (R,A))) holds ((
SgmX (R,A))
/. i)
= ((
SgmX (R,A))
/. j) implies i
= j
proof
let X be
set, A be
finite
Subset of X, R be
Order of X;
assume
A1: R
linearly_orders A;
let i,j be
Element of
NAT such that
A2: i
in (
dom (
SgmX (R,A))) and
A3: j
in (
dom (
SgmX (R,A))) and
A4: ((
SgmX (R,A))
/. i)
= ((
SgmX (R,A))
/. j);
assume i
<> j;
then i
< j or j
< i by
XXREAL_0: 1;
hence thesis by
A1,
A2,
A3,
A4,
Def2;
end;
Lm5: for D be
set, p be
FinSequence of D st (
dom p)
<>
{} holds 1
in (
dom p)
proof
let D be
set, p be
FinSequence of D;
assume (
dom p)
<>
{} ;
then p
<>
{} ;
hence thesis by
FINSEQ_5: 6;
end;
Lm6: for X be
set, A be
finite
Subset of X, a be
Element of X, R be
Order of X st R
linearly_orders (
{a}
\/ A) holds R
linearly_orders A
proof
let X be
set, A be
finite
Subset of X, a be
Element of X, R be
Order of X;
for x be
object holds x
in A implies x
in (
{a}
\/ A) by
XBOOLE_0:def 3;
then
A1: A
c= (
{a}
\/ A);
assume R
linearly_orders (
{a}
\/ A);
hence thesis by
A1,
ORDERS_1: 38;
end;
theorem ::
PRE_POLY:78
Th76: for X be
set, A be
finite
Subset of X, a be
Element of X st not a
in A holds for B be
finite
Subset of X st B
= (
{a}
\/ A) holds for R be
Order of X st R
linearly_orders B holds for k be
Element of
NAT st k
in (
dom (
SgmX (R,B))) & ((
SgmX (R,B))
/. k)
= a holds for i be
Element of
NAT st 1
<= i & i
<= (k
- 1) holds ((
SgmX (R,B))
/. i)
= ((
SgmX (R,A))
/. i)
proof
let X be
set, A be
finite
Subset of X, a be
Element of X;
assume
A1: not a
in A;
let B be
finite
Subset of X;
assume
A2: B
= (
{a}
\/ A);
let R be
Order of X;
assume
A3: R
linearly_orders B;
then
A4: R
linearly_orders A by
A2,
Lm6;
(
field R)
= X by
ORDERS_1: 12;
then
A5: R
is_antisymmetric_in X by
RELAT_2:def 12;
set sgb = (
SgmX (R,B)), sga = (
SgmX (R,A));
consider lensga be
Nat such that
A6: (
dom sga)
= (
Seg lensga) by
FINSEQ_1:def 2;
consider lensgb be
Nat such that
A7: (
dom sgb)
= (
Seg lensgb) by
FINSEQ_1:def 2;
reconsider lensga, lensgb as
Element of
NAT by
ORDINAL1:def 12;
lensgb
= (
len sgb) by
A7,
FINSEQ_1:def 3
.= (
card B) by
A3,
Th10
.= ((
card A)
+ 1) by
A1,
A2,
CARD_2: 41
.= ((
len sga)
+ 1) by
A2,
A3,
Lm6,
Th10
.= (lensga
+ 1) by
A6,
FINSEQ_1:def 3;
then
A8: lensga
<= lensgb by
NAT_1: 11;
defpred
P[
Nat] means (sgb
/. $1)
= (sga
/. $1);
let k be
Element of
NAT ;
assume that
A9: k
in (
dom (
SgmX (R,B))) and
A10: ((
SgmX (R,B))
/. k)
= a;
k
in (
Seg (
len sgb)) by
A9,
FINSEQ_1:def 3;
then
A11: 1
<= k by
FINSEQ_1: 1;
then (1
- 1)
<= (k
- 1) by
XREAL_1: 9;
then
reconsider k9 = (k
- 1) as
Element of
NAT by
INT_1: 3;
A12: ((k
- 1)
+ 1)
= (k
+
0 qua
Nat);
A13: for j be
Element of
NAT st 1
<= j & j
< k9 holds (for j9 be
Element of
NAT st 1
<= j9 & j9
<= j holds
P[j9]) implies
P[(j
+ 1)]
proof
let i9 be
Element of
NAT ;
assume that
A14: 1
<= i9 and
A15: i9
< k9;
A16: 1
<= (i9
+ 1) by
A14,
XREAL_1: 29;
A17: (i9
+ 1)
< k by
A12,
A15,
XREAL_1: 6;
then
A18: (i9
+ 1)
in (
dom sgb) by
A9,
A16,
FINSEQ_3: 156;
(sgb
/. (i9
+ 1))
= (sgb
. (i9
+ 1)) by
A9,
A17,
A16,
FINSEQ_3: 156,
PARTFUN1:def 6;
then (sgb
/. (i9
+ 1))
in (
rng sgb) by
A18,
FUNCT_1:def 3;
then
A19: (sgb
/. (i9
+ 1))
in B by
A3,
Def2;
(sgb
/. (i9
+ 1))
<> a by
A3,
A9,
A10,
A17,
A18,
Def2;
then not (sgb
/. (i9
+ 1))
in
{a} by
TARSKI:def 1;
then (sgb
/. (i9
+ 1))
in A by
A2,
A19,
XBOOLE_0:def 3;
then (sgb
/. (i9
+ 1))
in (
rng sga) by
A4,
Def2;
then
consider l be
object such that
A20: l
in (
dom sga) and
A21: (sga
. l)
= (sgb
/. (i9
+ 1)) by
FUNCT_1:def 3;
reconsider l as
Element of
NAT by
A20;
A22: 1
<= l by
A6,
A20,
FINSEQ_1: 1;
l
<= lensga by
A6,
A20,
FINSEQ_1: 1;
then l
<= lensgb by
A8,
XXREAL_0: 2;
then
A23: l
in (
dom sgb) by
A7,
A22,
FINSEQ_1: 1;
assume
A24: for j9 be
Element of
NAT st 1
<= j9 & j9
<= i9 holds
P[j9];
assume
A25: (sgb
/. (i9
+ 1))
<> (sga
/. (i9
+ 1));
then
A26: l
<> (i9
+ 1) by
A20,
A21,
PARTFUN1:def 6;
per cases ;
suppose l
< (i9
+ 1);
then l
<= i9 by
NAT_1: 13;
then (sgb
/. l)
= (sga
/. l) by
A24,
A22
.= (sgb
/. (i9
+ 1)) by
A20,
A21,
PARTFUN1:def 6;
hence thesis by
A3,
A18,
A26,
A23,
Th75;
end;
suppose
A27: (i9
+ 1)
<= l;
then
A28: (i9
+ 1)
in (
dom sga) by
A16,
A20,
FINSEQ_3: 156;
(sga
/. (i9
+ 1))
= (sga
. (i9
+ 1)) by
A16,
A20,
A27,
FINSEQ_3: 156,
PARTFUN1:def 6;
then (sga
/. (i9
+ 1))
in (
rng sga) by
A28,
FUNCT_1:def 3;
then (sga
/. (i9
+ 1))
in A by
A4,
Def2;
then (sga
/. (i9
+ 1))
in B by
A2,
XBOOLE_0:def 3;
then (sga
/. (i9
+ 1))
in (
rng sgb) by
A3,
Def2;
then
consider l9 be
object such that
A29: l9
in (
dom sgb) and
A30: (sgb
. l9)
= (sga
/. (i9
+ 1)) by
FUNCT_1:def 3;
reconsider l9 as
Element of
NAT by
A29;
(i9
+ 1)
< l by
A26,
A27,
XXREAL_0: 1;
then
[(sga
/. (i9
+ 1)), (sga
/. l)]
in R by
A4,
A20,
A28,
Def2;
then
[(sgb
/. l9), (sga
/. l)]
in R by
A29,
A30,
PARTFUN1:def 6;
then
A31:
[(sgb
/. l9), (sgb
/. (i9
+ 1))]
in R by
A20,
A21,
PARTFUN1:def 6;
(sgb
/. l9)
= (sgb
. l9) by
A29,
PARTFUN1:def 6;
then (sgb
/. l9)
in (
rng sgb) by
A29,
FUNCT_1:def 3;
then
A32: (sgb
/. l9)
in B by
A3,
Def2;
A33: 1
<= l9 by
A7,
A29,
FINSEQ_1: 1;
A34: (i9
+ 1)
< l9
proof
assume
A35: l9
<= (i9
+ 1);
now
per cases by
A35,
XXREAL_0: 1;
case l9
= (i9
+ 1);
hence thesis by
A25,
A29,
A30,
PARTFUN1:def 6;
end;
case
A36: l9
< (i9
+ 1);
then l9
<= i9 by
NAT_1: 13;
then
A37: (sga
/. l9)
= (sgb
/. l9) by
A24,
A33
.= (sga
/. (i9
+ 1)) by
A29,
A30,
PARTFUN1:def 6;
l9
in (
dom sga) by
A28,
A33,
A36,
FINSEQ_3: 156;
hence thesis by
A2,
A3,
A28,
A36,
A37,
Lm6,
Th75;
end;
end;
hence thesis;
end;
then
[(sgb
/. (i9
+ 1)), (sgb
/. l9)]
in R by
A3,
A18,
A29,
Def2;
then (sgb
/. l9)
= (sgb
/. (i9
+ 1)) by
A5,
A31,
A32;
hence thesis by
A3,
A18,
A29,
A34,
Th75;
end;
end;
let i be
Element of
NAT ;
assume that
A38: 1
<= i and
A39: i
<= (k
- 1);
A40: 1
in (
dom sgb) by
A9,
Lm5;
A41:
P[1]
proof
(sgb
/. 1)
= (sgb
. 1) by
A9,
Lm5,
PARTFUN1:def 6;
then (sgb
/. 1)
in (
rng sgb) by
A40,
FUNCT_1:def 3;
then
A42: (sgb
/. 1)
in B by
A3,
Def2;
k
<> 1 by
A38,
A39,
XXREAL_0: 2;
then 1
< k by
A11,
XXREAL_0: 1;
then (sgb
/. 1)
<> a by
A3,
A9,
A10,
A40,
Def2;
then not (sgb
/. 1)
in
{a} by
TARSKI:def 1;
then (sgb
/. 1)
in A by
A2,
A42,
XBOOLE_0:def 3;
then (sgb
/. 1)
in (
rng sga) by
A4,
Def2;
then
consider l be
object such that
A43: l
in (
dom sga) and
A44: (sga
. l)
= (sgb
/. 1) by
FUNCT_1:def 3;
A45: (sga
/. 1)
= (sga
. 1) by
A43,
Lm5,
PARTFUN1:def 6;
assume
A46: (sgb
/. 1)
<> (sga
/. 1);
reconsider l as
Element of
NAT by
A43;
A47: 1
in (
dom sga) by
A43,
Lm5;
1
<= l by
A6,
A43,
FINSEQ_1: 1;
then 1
< l by
A46,
A44,
A45,
XXREAL_0: 1;
then
[(sga
/. 1), (sga
/. l)]
in R by
A4,
A43,
A47,
Def2;
then
A48:
[(sga
/. 1), (sgb
/. 1)]
in R by
A43,
A44,
PARTFUN1:def 6;
not (sga
/. 1)
in B
proof
A49: (sgb
/. 1)
= (sgb
. 1) by
A9,
Lm5,
PARTFUN1:def 6;
assume (sga
/. 1)
in B;
then (sga
/. 1)
in (
rng sgb) by
A3,
Def2;
then
consider l9 be
object such that
A50: l9
in (
dom sgb) and
A51: (sgb
. l9)
= (sga
/. 1) by
FUNCT_1:def 3;
reconsider l9 as
Element of
NAT by
A50;
1
<= l9 by
A7,
A50,
FINSEQ_1: 1;
then 1
< l9 by
A46,
A51,
A49,
XXREAL_0: 1;
then
[(sgb
/. 1), (sgb
/. l9)]
in R by
A3,
A40,
A50,
Def2;
then
[(sgb
/. 1), (sga
/. 1)]
in R by
A50,
A51,
PARTFUN1:def 6;
hence thesis by
A5,
A46,
A42,
A48;
end;
then
A52: not (sga
/. 1)
in A by
A2,
XBOOLE_0:def 3;
(sga
/. 1)
in (
rng sga) by
A47,
A45,
FUNCT_1:def 3;
hence thesis by
A4,
A52,
Def2;
end;
for j be
Element of
NAT st 1
<= j & j
<= k9 holds
P[j] from
INT_1:sch 8(
A41,
A13);
hence thesis by
A38,
A39;
end;
theorem ::
PRE_POLY:79
Th77: for X be
set, A be
finite
Subset of X, a be
Element of X st not a
in A holds for B be
finite
Subset of X st B
= (
{a}
\/ A) holds for R be
Order of X st R
linearly_orders B holds for k be
Element of
NAT st k
in (
dom (
SgmX (R,B))) & ((
SgmX (R,B))
/. k)
= a holds for i be
Element of
NAT st k
<= i & i
<= (
len (
SgmX (R,A))) holds ((
SgmX (R,B))
/. (i
+ 1))
= ((
SgmX (R,A))
/. i)
proof
let X be
set, A be
finite
Subset of X, a be
Element of X;
assume
A1: not a
in A;
let B be
finite
Subset of X;
assume
A2: B
= (
{a}
\/ A);
let R be
Order of X;
assume
A3: R
linearly_orders B;
then
A4: R
linearly_orders A by
A2,
Lm6;
(
field R)
= X by
ORDERS_1: 12;
then
A5: R
is_antisymmetric_in X by
RELAT_2:def 12;
set sgb = (
SgmX (R,B)), sga = (
SgmX (R,A));
consider lensga be
Nat such that
A6: (
dom sga)
= (
Seg lensga) by
FINSEQ_1:def 2;
defpred
P[
Nat] means (sgb
/. ($1
+ 1))
= (sga
/. $1);
consider lensgb be
Nat such that
A7: (
dom sgb)
= (
Seg lensgb) by
FINSEQ_1:def 2;
let k be
Element of
NAT ;
assume that
A8: k
in (
dom (
SgmX (R,B))) and
A9: ((
SgmX (R,B))
/. k)
= a;
k
in (
Seg (
len sgb)) by
A8,
FINSEQ_1:def 3;
then
A10: 1
<= k by
FINSEQ_1: 1;
then (1
- 1)
<= (k
- 1) by
XREAL_1: 9;
then
reconsider k9 = (k
- 1) as
Element of
NAT by
INT_1: 3;
reconsider lensga, lensgb as
Element of
NAT by
ORDINAL1:def 12;
A11: (k9
+ 1)
= (k
+
0 qua
Nat);
A12: lensgb
= (
len sgb) by
A7,
FINSEQ_1:def 3
.= (
card B) by
A3,
Th10
.= ((
card A)
+ 1) by
A1,
A2,
CARD_2: 41
.= ((
len sga)
+ 1) by
A2,
A3,
Lm6,
Th10
.= (lensga
+ 1) by
A6,
FINSEQ_1:def 3;
A13: for j be
Element of
NAT st k
<= j & j
< (
len sga) holds (for j9 be
Element of
NAT st k
<= j9 & j9
<= j holds
P[j9]) implies
P[(j
+ 1)]
proof
let j be
Element of
NAT ;
assume that
A14: k
<= j and
A15: j
< (
len sga);
A16: ((j
+ 1)
+ 1)
= (j
+ (1
+ 1));
A17: 1
<= (j
+ 2) by
NAT_1: 12;
(
len sgb)
= (
card B) by
A3,
Th10
.= ((
card A)
+ 1) by
A1,
A2,
CARD_2: 41
.= ((
len sga)
+ 1) by
A2,
A3,
Lm6,
Th10;
then (j
+ 1)
< (
len sgb) by
A15,
XREAL_1: 6;
then (j
+ 2)
<= (
len sgb) by
A16,
NAT_1: 13;
then (j
+ 2)
<= lensgb by
A7,
FINSEQ_1:def 3;
then
A18: (j
+ 2)
in (
dom sgb) by
A7,
A17,
FINSEQ_1: 1;
now
assume (sgb
/. (j
+ 2))
= a;
then (j
+ 2)
= k by
A3,
A8,
A9,
A18,
Th75;
hence contradiction by
A14,
NAT_1: 19;
end;
then
A19: not (sgb
/. (j
+ 2))
in
{a} by
TARSKI:def 1;
(sgb
/. (j
+ 2))
= (sgb
. (j
+ 2)) by
A18,
PARTFUN1:def 6;
then (sgb
/. (j
+ 2))
in (
rng sgb) by
A18,
FUNCT_1:def 3;
then (sgb
/. (j
+ 2))
in B by
A3,
Def2;
then (sgb
/. (j
+ 2))
in A by
A2,
A19,
XBOOLE_0:def 3;
then (sgb
/. (j
+ 2))
in (
rng sga) by
A4,
Def2;
then
consider l be
object such that
A20: l
in (
dom sga) and
A21: (sga
. l)
= (sgb
/. (j
+ 2)) by
FUNCT_1:def 3;
reconsider l as
Element of
NAT by
A20;
A22: (sga
/. l)
= (sga
. l) by
A20,
PARTFUN1:def 6;
A23: 1
<= l by
A6,
A20,
FINSEQ_1: 1;
(j
+ 1)
<= (
len sga) by
A15,
NAT_1: 13;
then
A24: (j
+ 1)
<= lensga by
A6,
FINSEQ_1:def 3;
1
<= (j
+ 1) by
NAT_1: 12;
then
A25: (j
+ 1)
in (
dom sga) by
A6,
A24,
FINSEQ_1: 1;
then
A26: (sga
/. (j
+ 1))
= (sga
. (j
+ 1)) by
PARTFUN1:def 6;
assume
A27: for j9 be
Element of
NAT st k
<= j9 & j9
<= j holds
P[j9];
l
<= lensga by
A6,
A20,
FINSEQ_1: 1;
then
A28: (l
+ 1)
<= lensgb by
A12,
XREAL_1: 6;
1
<= (l
+ 1) by
NAT_1: 12;
then
A29: (l
+ 1)
in (
dom sgb) by
A7,
A28,
FINSEQ_1: 1;
l
<= (l
+ 1) by
XREAL_1: 29;
then
A30: l
in (
dom sgb) by
A23,
A29,
FINSEQ_3: 156;
assume
A31: (sgb
/. ((j
+ 1)
+ 1))
<> (sga
/. (j
+ 1));
then
A32: l
<> (j
+ 1) by
A20,
A21,
PARTFUN1:def 6;
per cases ;
suppose
A33: l
<= (j
+ 1);
then l
< (j
+ 1) by
A32,
XXREAL_0: 1;
then
A34: l
<= j by
NAT_1: 13;
now
per cases ;
case k
<= l;
then (sgb
/. (l
+ 1))
= (sga
/. l) by
A27,
A34;
then (j
+ 2)
= (l
+ 1) by
A3,
A18,
A20,
A21,
A29,
Th75,
PARTFUN1:def 6;
hence thesis by
A31,
A20,
A21,
PARTFUN1:def 6;
end;
case l
< k;
then l
<= k9 by
A11,
NAT_1: 13;
then
A35: (sgb
/. l)
= (sga
/. l) by
A1,
A2,
A3,
A8,
A9,
A23,
Th76;
(j
+ 1)
< ((j
+ 1)
+ 1) by
XREAL_1: 29;
hence thesis by
A3,
A18,
A20,
A21,
A30,
A33,
A35,
Th75,
PARTFUN1:def 6;
end;
end;
hence thesis;
end;
suppose
A36: l
> (j
+ 1);
A37: for i9 be
Element of
NAT st 1
<= i9 & i9
<= (j
+ 2) holds (sga
/. (j
+ 1))
<> (sgb
/. i9)
proof
let i9 be
Element of
NAT ;
assume that
A38: 1
<= i9 and
A39: i9
<= (j
+ 2);
assume
A40: (sga
/. (j
+ 1))
= (sgb
/. i9);
per cases ;
suppose i9
= (j
+ 2);
hence contradiction by
A31,
A40;
end;
suppose
A41: i9
<> (j
+ 2);
then i9
< (j
+ 2) by
A39,
XXREAL_0: 1;
then
A42: i9
<= (j
+ 1) by
A16,
NAT_1: 13;
then i9
<= lensga by
A24,
XXREAL_0: 2;
then
A43: i9
in (
dom sga) by
A6,
A38,
FINSEQ_1: 1;
now
per cases ;
case
A44: i9
<= k;
now
per cases ;
case i9
= k;
then (sga
. (j
+ 1))
= a by
A9,
A25,
A40,
PARTFUN1:def 6;
then a
in (
rng sga) by
A25,
FUNCT_1:def 3;
hence contradiction by
A1,
A4,
Def2;
end;
case i9
<> k;
then i9
< k by
A44,
XXREAL_0: 1;
then i9
<= k9 by
A11,
NAT_1: 13;
then (sgb
/. i9)
= (sga
/. i9) by
A1,
A2,
A3,
A8,
A9,
A38,
Th76;
then
A45: i9
= (j
+ 1) by
A2,
A3,
A25,
A40,
A43,
Lm6,
Th75;
i9
<= j by
A14,
A44,
XXREAL_0: 2;
hence contradiction by
A45,
XREAL_1: 29;
end;
end;
hence contradiction;
end;
case
A46: k
< i9;
A47: (i9
- 1)
<= ((j
+ 1)
- 1) by
A42,
XREAL_1: 9;
A48: (i9
- 1)
<= i9 by
XREAL_1: 146;
1
<= i9 by
A10,
A46,
XXREAL_0: 2;
then (1
- 1)
<= (i9
- 1) by
XREAL_1: 9;
then
A49: (i9
- 1) is
Element of
NAT by
INT_1: 3;
A50: ((i9
- 1)
+ 1)
= (i9
+
0 qua
Nat);
then k
<= (i9
- 1) by
A46,
A49,
NAT_1: 13;
then 1
<= (i9
- 1) by
A10,
XXREAL_0: 2;
then
A51: (i9
- 1)
in (
dom sga) by
A43,
A49,
A48,
FINSEQ_3: 156;
k
<= (i9
- 1) by
A46,
A49,
A50,
NAT_1: 13;
then (sga
/. (i9
- 1))
= (sga
/. (j
+ 1)) by
A27,
A40,
A49,
A50,
A47;
hence contradiction by
A2,
A3,
A16,
A25,
A41,
A50,
A51,
Lm6,
Th75;
end;
end;
hence thesis;
end;
end;
(sga
/. (j
+ 1))
in (
rng sga) by
A25,
A26,
FUNCT_1:def 3;
then
A52: (sga
/. (j
+ 1))
in A by
A4,
Def2;
then (sga
/. (j
+ 1))
in B by
A2,
XBOOLE_0:def 3;
then (sga
/. (j
+ 1))
in (
rng sgb) by
A3,
Def2;
then
consider l9 be
object such that
A53: l9
in (
dom sgb) and
A54: (sgb
. l9)
= (sga
/. (j
+ 1)) by
FUNCT_1:def 3;
reconsider l9 as
Element of
NAT by
A53;
A55: (sgb
/. l9)
= (sgb
. l9) by
A53,
PARTFUN1:def 6;
A56: 1
<= (j
+ 1) by
NAT_1: 12;
(j
+ 1)
<= (
len sga) by
A15,
NAT_1: 13;
then (j
+ 1)
in (
Seg (
len sga)) by
A56,
FINSEQ_1: 1;
then (j
+ 1)
in (
dom sga) by
FINSEQ_1:def 3;
then
A57:
[(sga
/. (j
+ 1)), (sga
/. l)]
in R by
A4,
A20,
A36,
Def2;
1
<= l9 by
A7,
A53,
FINSEQ_1: 1;
then l9
> (j
+ 2) by
A37,
A54,
A55;
then
[(sga
/. l), (sga
/. (j
+ 1))]
in R by
A3,
A18,
A21,
A22,
A53,
A54,
A55,
Def2;
then (sga
/. l)
= (sga
/. (j
+ 1)) by
A5,
A57,
A52;
hence thesis by
A2,
A3,
A25,
A20,
A36,
Lm6,
Th75;
end;
end;
let i be
Element of
NAT ;
assume that
A58: k
<= i and
A59: i
<= (
len (
SgmX (R,A)));
k
<= (
len sga) by
A58,
A59,
XXREAL_0: 2;
then
A60: k
<= lensga by
A6,
FINSEQ_1:def 3;
then
A61: k
in (
dom sga) by
A10,
A6,
FINSEQ_1: 1;
A62: lensga
<= lensgb by
A12,
NAT_1: 11;
A63:
P[k]
proof
A64: (sga
/. k)
= (sga
. k) by
A61,
PARTFUN1:def 6;
then (sga
/. k)
in (
rng sga) by
A61,
FUNCT_1:def 3;
then (sga
/. k)
in A by
A4,
Def2;
then (sga
/. k)
in B by
A2,
XBOOLE_0:def 3;
then (sga
/. k)
in (
rng sgb) by
A3,
Def2;
then
consider l be
object such that
A65: l
in (
dom sgb) and
A66: (sgb
. l)
= (sga
/. k) by
FUNCT_1:def 3;
reconsider l as
Element of
NAT by
A65;
A67: (sgb
/. l)
= (sgb
. l) by
A65,
PARTFUN1:def 6;
A68: 1
<= l by
A7,
A65,
FINSEQ_1: 1;
assume
A69: not
P[k];
then
A70: l
<> (k
+ 1) by
A65,
A66,
PARTFUN1:def 6;
per cases by
XXREAL_0: 1;
suppose l
= k;
then (sga
. k)
= a by
A8,
A9,
A64,
A66,
PARTFUN1:def 6;
then a
in (
rng sga) by
A61,
FUNCT_1:def 3;
hence thesis by
A1,
A4,
Def2;
end;
suppose
A71: l
< k;
then l
<= lensga by
A60,
XXREAL_0: 2;
then
A72: l
in (
dom sga) by
A6,
A68,
FINSEQ_1: 1;
l
<= k9 by
A11,
A71,
NAT_1: 13;
then (sga
/. l)
= (sga
/. k) by
A1,
A2,
A3,
A8,
A9,
A66,
A68,
A67,
Th76;
hence thesis by
A2,
A3,
A61,
A71,
A72,
Lm6,
Th75;
end;
suppose k
< l;
then
A73: (k
+ 1)
<= l by
NAT_1: 13;
A74: 1
<= (k
+ 1) by
NAT_1: 12;
then
A75: (k
+ 1)
in (
dom sgb) by
A65,
A73,
FINSEQ_3: 156;
now
assume (sgb
/. (k
+ 1))
= a;
then (k
+ 1)
= k by
A3,
A8,
A9,
A75,
Th75;
hence contradiction;
end;
then
A76: not (sgb
/. (k
+ 1))
in
{a} by
TARSKI:def 1;
(k
+ 1)
< l by
A70,
A73,
XXREAL_0: 1;
then
A77:
[(sgb
/. (k
+ 1)), (sgb
/. l)]
in R by
A3,
A65,
A75,
Def2;
(sgb
/. l)
in (
rng sgb) by
A65,
A67,
FUNCT_1:def 3;
then
A78: (sgb
/. l)
in B by
A3,
Def2;
(sgb
/. (k
+ 1))
= (sgb
. (k
+ 1)) by
A65,
A73,
A74,
FINSEQ_3: 156,
PARTFUN1:def 6;
then (sgb
/. (k
+ 1))
in (
rng sgb) by
A75,
FUNCT_1:def 3;
then (sgb
/. (k
+ 1))
in B by
A3,
Def2;
then (sgb
/. (k
+ 1))
in A by
A2,
A76,
XBOOLE_0:def 3;
then (sgb
/. (k
+ 1))
in (
rng sga) by
A4,
Def2;
then
consider l9 be
object such that
A79: l9
in (
dom sga) and
A80: (sga
. l9)
= (sgb
/. (k
+ 1)) by
FUNCT_1:def 3;
reconsider l9 as
Element of
NAT by
A79;
A81: (sga
/. l9)
= (sga
. l9) by
A79,
PARTFUN1:def 6;
A82: 1
<= l9 by
A6,
A79,
FINSEQ_1: 1;
l9
<= lensga by
A6,
A79,
FINSEQ_1: 1;
then l9
<= lensgb by
A62,
XXREAL_0: 2;
then
A83: l9
in (
dom sgb) by
A7,
A82,
FINSEQ_1: 1;
now
assume
A84: l9
< k;
then l9
<= k9 by
A11,
NAT_1: 13;
then (sgb
/. l9)
= (sga
/. l9) by
A1,
A2,
A3,
A8,
A9,
A82,
Th76;
then l9
= (k
+ 1) by
A3,
A75,
A79,
A80,
A83,
Th75,
PARTFUN1:def 6;
hence contradiction by
A84,
XREAL_1: 29;
end;
then l9
> k by
A69,
A80,
A81,
XXREAL_0: 1;
then
[(sgb
/. l), (sgb
/. (k
+ 1))]
in R by
A4,
A61,
A66,
A67,
A79,
A80,
A81,
Def2;
then (sgb
/. l)
= (sgb
/. (k
+ 1)) by
A5,
A77,
A78;
hence thesis by
A69,
A65,
A66,
PARTFUN1:def 6;
end;
end;
for j be
Element of
NAT st k
<= j & j
<= (
len sga) holds
P[j] from
INT_1:sch 8(
A63,
A13);
hence thesis by
A58,
A59;
end;
theorem ::
PRE_POLY:80
for X be non
empty
set, A be
finite
Subset of X, a be
Element of X st not a
in A holds for B be
finite
Subset of X st B
= (
{a}
\/ A) holds for R be
Order of X st R
linearly_orders B holds for k be
Element of
NAT st (k
+ 1)
in (
dom (
SgmX (R,B))) & ((
SgmX (R,B))
/. (k
+ 1))
= a holds (
SgmX (R,B))
= (
Ins ((
SgmX (R,A)),k,a))
proof
let X be non
empty
set, A be
finite
Subset of X, a be
Element of X;
assume
A1: not a
in A;
let B be
finite
Subset of X;
assume
A2: B
= (
{a}
\/ A);
let R be
Order of X;
assume
A3: R
linearly_orders B;
let k be
Element of
NAT ;
assume that
A4: (k
+ 1)
in (
dom (
SgmX (R,B))) and
A5: ((
SgmX (R,B))
/. (k
+ 1))
= a;
set sgb = (
SgmX (R,B)), sga = (
Ins ((
SgmX (R,A)),k,a));
A6: (
dom sgb)
= (
Seg (
len sgb)) by
FINSEQ_1:def 3;
then (k
+ 1)
<= (
len sgb) by
A4,
FINSEQ_1: 1;
then
A7: ((k
+ 1)
- 1)
<= ((
len sgb)
- 1) by
XREAL_1: 9;
A8: ((k
+ 1)
- 1)
= (k
+
0 qua
Nat);
A9: (
len sgb)
= (
card B) by
A3,
Th10
.= ((
card A)
+ 1) by
A1,
A2,
CARD_2: 41
.= ((
len (
SgmX (R,A)))
+ 1) by
A2,
A3,
Lm6,
Th10;
then
A10: (
dom sgb)
= (
Seg (
len sga)) by
A6,
FINSEQ_5: 69
.= (
dom sga) by
FINSEQ_1:def 3;
A11: for i be
Nat st 1
<= i & i
<= (
len sgb) holds (sgb
. i)
= (sga
. i)
proof
let i be
Nat;
assume that
A12: 1
<= i and
A13: i
<= (
len sgb);
A14: i
in (
Seg (
len sgb)) by
A12,
A13,
FINSEQ_1: 1;
A15: i
in (
dom sgb) by
FINSEQ_3: 25,
A12,
A13;
A16: i
in (
dom sga) by
A10,
A14,
FINSEQ_1:def 3;
per cases ;
suppose
A17: i
= (k
+ 1);
then a
= (sgb
. i) by
A5,
PARTFUN1:def 6,
A15;
hence (sgb
. i)
= (sga
. (k
+ 1)) by
A9,
A7,
FINSEQ_5: 73
.= (sga
. i) by
A17;
end;
suppose
A18: i
<> (k
+ 1);
now
per cases ;
case i
< (k
+ 1);
then
A19: i
<= k by
NAT_1: 13;
((
SgmX (R,A))
| (
Seg k)) is
FinSequence by
FINSEQ_1: 15;
then (
dom ((
SgmX (R,A))
| (
Seg k)))
= (
Seg k) by
A9,
A7,
FINSEQ_1: 17;
then
SS: i
in (
dom ((
SgmX (R,A))
| (
Seg k))) by
A12,
A19,
FINSEQ_1: 1;
then
A20: i
in (
dom ((
SgmX (R,A))
| k)) by
FINSEQ_1:def 15;
A: i
in (
dom (
SgmX (R,A))) by
RELAT_1: 57,
SS;
thus (sgb
. i)
= (sgb
/. i) by
A15,
PARTFUN1:def 6
.= ((
SgmX (R,A))
/. i) by
A1,
A2,
A3,
A4,
A5,
A8,
A12,
A14,
A19,
Th76
.= ((
SgmX (R,A))
. i) by
PARTFUN1:def 6,
A
.= (sga
. i) by
A20,
FINSEQ_5: 72;
end;
case
A21: (k
+ 1)
<= i;
then
a21: (k
+ 1)
< i by
A18,
XXREAL_0: 1;
(1
- 1)
<= (i
- 1) by
A12,
XREAL_1: 9;
then
reconsider i9 = (i
- 1) as
Element of
NAT by
INT_1: 3;
A22: (i9
+ 1)
= (i
+
0 qua
Nat);
F: 1
<= (k
+ 1) by
FINSEQ_3: 25,
A4;
(k
+ 1)
< (i9
+ 1) by
a21;
then 1
< (i9
+ 1) by
F,
XXREAL_0: 2;
then (1
+ 1)
<= (i9
+ 1) by
NAT_1: 13;
then
F1: 1
<= i9 by
XREAL_1: 6;
Z2: (i9
+ 1)
in (
dom sga) by
A16;
then (i9
+ 1)
<= (
len sga) by
FINSEQ_3: 25;
then (i9
+ 1)
<= ((
len (
SgmX (R,A)))
+ 1) by
FINSEQ_5: 69;
then i9
<= (
len (
SgmX (R,A))) by
XREAL_1: 6;
then
F2: i9
in (
dom (
SgmX (R,A))) by
FINSEQ_3: 25,
F1;
(k
+ 1)
< i by
A18,
A21,
XXREAL_0: 1;
then
A23: (k
+ 1)
<= i9 by
A22,
NAT_1: 13;
A24: i9
<= ((
len sgb)
- 1) by
A13,
XREAL_1: 9;
thus (sgb
. i)
= (sgb
/. (i9
+ 1)) by
A15,
PARTFUN1:def 6
.= ((
SgmX (R,A))
/. i9) by
A1,
A2,
A3,
A4,
A5,
A9,
A24,
A23,
Th77
.= ((
SgmX (R,A))
. i9) by
PARTFUN1:def 6,
F2
.= (sga
. (i9
+ 1)) by
A9,
A24,
A23,
FINSEQ_5: 74
.= (sga
/. (i9
+ 1)) by
Z2,
PARTFUN1:def 6
.= (sga
. i) by
A16,
PARTFUN1:def 6;
end;
end;
hence thesis;
end;
end;
(
len sgb)
= (
len sga) by
A9,
FINSEQ_5: 69;
hence thesis by
A11,
FINSEQ_1: 14;
end;
theorem ::
PRE_POLY:81
for X be
set, b be
bag of X st (
support b)
=
{} holds b
= (
EmptyBag X) by
Def7;
Lm7: for X be
set, b be
bag of X holds b is
PartFunc of X,
NAT
proof
let X be
set, b be
bag of X;
for u be
object holds u
in b implies u
in
[:X,
NAT :]
proof
let u be
object;
A1: (
rng b)
c=
NAT by
VALUED_0:def 6;
assume
A2: u
in b;
then
consider u1,u2 be
object such that
A3: u
=
[u1, u2] by
RELAT_1:def 1;
u1
in (
dom b) by
A2,
A3,
XTUPLE_0:def 12;
then
A4: u1
in X;
u2
in (
rng b) by
A2,
A3,
XTUPLE_0:def 13;
hence thesis by
A3,
A4,
A1,
ZFMISC_1:def 2;
end;
hence thesis by
TARSKI:def 3;
end;
definition
let X be
set, b be
bag of X;
:: original:
empty-yielding
redefine
::
PRE_POLY:def18
attr b is
empty-yielding means b
= (
EmptyBag X);
compatibility ;
end
registration
let X be non
empty
set;
cluster non
empty-yielding for
bag of X;
existence
proof
set x = the
Element of X;
set b = ((
EmptyBag X)
+* (x,1));
take b;
(
dom (
EmptyBag X))
= X;
then
A1: (b
. x)
= (((
EmptyBag X)
+* (x
.--> 1))
. x) by
FUNCT_7:def 3;
x
in (
dom (x
.--> 1)) by
TARSKI:def 1;
then (b
. x)
= ((x
.--> 1)
. x) by
A1,
FUNCT_4: 13
.= 1 by
FUNCOP_1: 72;
then (b
. x)
<> ((
EmptyBag X)
. x);
hence thesis;
end;
end
definition
let X be
set, b be
bag of X;
:: original:
support
redefine
func
support b ->
finite
Subset of X ;
coherence
proof
A1: (
support b)
c= (
dom b) by
Th36;
for x be
object holds x
in (
support b) implies x
in X
proof
let x be
object;
assume x
in (
support b);
then x
in (
dom b) by
A1;
hence thesis;
end;
hence thesis by
TARSKI:def 3;
end;
end
Lm8: for X be
set, A be
Subset of X, O be
Order of X holds O
is_reflexive_in A & O
is_antisymmetric_in A & O
is_transitive_in A
proof
let X be
set, A be
Subset of X, O be
Order of X;
A1: (
field O)
= X by
ORDERS_1: 12;
then O
is_antisymmetric_in X by
RELAT_2:def 12;
then
A2: for x,y be
object holds x
in A & y
in A &
[x, y]
in O &
[y, x]
in O implies x
= y;
O
is_transitive_in X by
A1,
RELAT_2:def 16;
then
A3: for x,y,z be
object holds x
in A & y
in A & z
in A &
[x, y]
in O &
[y, z]
in O implies
[x, z]
in O;
O
is_reflexive_in X by
A1,
RELAT_2:def 9;
then for x be
object holds x
in A implies
[x, x]
in O;
hence thesis by
A2,
A3;
end;
theorem ::
PRE_POLY:82
for n be
Ordinal, b be
bag of n holds (
RelIncl n)
linearly_orders (
support b)
proof
let n be
Ordinal, b be
bag of n;
set R = (
RelIncl n), s = (
support b);
for x,y be
object holds x
in s & y
in s & x
<> y implies
[x, y]
in R or
[y, x]
in R
proof
let x,y be
object;
assume that
A1: x
in s and
A2: y
in s and x
<> y;
assume
A3: not
[x, y]
in R;
reconsider x, y as
Ordinal by
A1,
A2;
y
c= x by
A1,
A2,
A3,
WELLORD2:def 1;
hence thesis by
A1,
A2,
WELLORD2:def 1;
end;
then
A4: R
is_connected_in s;
A5: R
is_antisymmetric_in s by
Lm8;
A6: R
is_transitive_in s by
Lm8;
R
is_reflexive_in s by
Lm8;
hence thesis by
A4,
A5,
A6,
ORDERS_1:def 9;
end;
definition
let X be
set;
let x be
FinSequence of X, b be
bag of X;
:: original:
*
redefine
func b
* x ->
PartFunc of
NAT ,
NAT ;
coherence
proof
reconsider b as
PartFunc of X,
NAT by
Lm7;
(b
* x)
c=
[:
NAT ,
NAT :];
hence thesis;
end;
end
registration
let X be
set;
cluster (
support (
EmptyBag X)) ->
empty;
coherence
proof
set S = (
support (
EmptyBag X));
assume not (
support (
EmptyBag X)) is
empty;
then ((
EmptyBag X)
. the
Element of S)
<>
0 by
Def7;
hence thesis;
end;
end