bagord_2.miz
begin
theorem ::
BAGORD_2:1
Th6: for m,n be
Nat holds n
= ((m
-' (m
-' n))
+ (n
-' m))
proof
let m,n be
Nat;
per cases ;
suppose m
<= n;
then
A1: (m
-' n)
=
0 & (n
-' m)
= (n
- m) by
NAT_2: 8,
XREAL_1: 233;
then (m
-' (m
-' n))
= m by
NAT_D: 40;
hence thesis by
A1;
end;
suppose m
> n;
then (n
-' m)
=
0 & (m
-' (m
-' n))
= n & (n
+
0 )
= n by
NAT_D: 58,
NAT_2: 8;
hence thesis;
end;
end;
theorem ::
BAGORD_2:2
for n,m be
Nat holds (m
-' n)
>= (m
- n) by
XREAL_0:def 2;
theorem ::
BAGORD_2:3
Th5: for m,n,x,y be
Nat st n
= ((m
-' x)
+ y) holds (m
-' n)
<= x & (n
-' m)
<= y
proof
let m,n,x,y be
Nat such that
A0: n
= ((m
-' x)
+ y);
per cases ;
suppose m
<= n;
then
A1: (m
-' n)
=
0 & (n
-' m)
= (n
- m) by
NAT_2: 8,
XREAL_1: 233;
n
<= (m
+ y) by
A0,
XREAL_1: 6,
NAT_D: 35;
hence thesis by
A1,
XREAL_1: 20;
end;
suppose m
> n;
then
A2: (n
-' m)
=
0 & (m
-' (m
-' n))
= n
>= (m
-' x) by
A0,
NAT_D: 58,
NAT_1: 11,
NAT_2: 8;
(m
-' (m
-' n))
= (m
- (m
-' n)) & (m
-' x)
>= (m
- x) by
XREAL_0:def 2,
XREAL_1: 233,
NAT_D: 35;
then (m
- (m
-' n))
>= (m
- x) by
A2,
XXREAL_0: 2;
hence thesis by
XREAL_1: 10,
A2;
end;
end;
theorem ::
BAGORD_2:4
Th5A: for m,n,x,y be
Nat st x
<= m & n
= ((m
-' x)
+ y) holds (x
-' (m
-' n))
= (y
-' (n
-' m))
proof
let m,n,x,y be
Nat;
assume
Z0: x
<= m;
assume
Z1: n
= ((m
-' x)
+ y);
then (m
-' n)
<= x & (n
-' m)
<= y by
Th5;
then
A2: (x
-' (m
-' n))
= (x
- (m
-' n)) & (y
-' (n
-' m))
= (y
- (n
-' m)) by
XREAL_1: 233;
A3: (n
- y)
= (m
- x) by
Z0,
Z1,
XREAL_1: 233;
per cases ;
suppose m
<= n;
then
A4: (m
-' n)
=
0 & (n
-' m)
= (n
- m) by
NAT_2: 8,
XREAL_1: 233;
hence (x
-' (m
-' n))
= x by
A2
.= ((y
- n)
+ m) by
A3
.= (y
-' (n
-' m)) by
A2,
A4;
end;
suppose m
> n;
then
A5: (n
-' m)
=
0 & (m
-' n)
= (m
- n) by
NAT_2: 8,
XREAL_1: 233;
hence (x
-' (m
-' n))
= ((x
- m)
+ n) by
A2
.= y by
A3
.= (y
-' (n
-' m)) by
A2,
A5;
end;
end;
theorem ::
BAGORD_2:5
Th14: for k,x1,x2,y1,y2 be
Nat st x2
<= k & x1
<= ((k
-' x2)
+ y2) holds (x2
+ (x1
-' y2))
<= k & ((((k
-' x2)
+ y2)
-' x1)
+ y1)
= ((k
-' (x2
+ (x1
-' y2)))
+ ((y2
-' x1)
+ y1))
proof
let k,x1,x2,y1,y2 be
Nat;
assume
Z0: x2
<= k;
then
A1: (k
-' x2)
= (k
- x2) by
XREAL_1: 233;
assume
Z1: x1
<= ((k
-' x2)
+ y2);
thus (x2
+ (x1
-' y2))
<= k
proof
per cases ;
suppose x1
< y2;
then (x1
-' y2)
=
0 by
NAT_2: 8;
hence thesis by
Z0;
end;
suppose x1
>= y2;
then (x1
-' y2)
= (x1
- y2) by
XREAL_1: 233;
then (x1
-' y2)
<= (((k
- x2)
+ y2)
- y2)
= (k
- x2) by
A1,
Z1,
XREAL_1: 9;
then (x2
+ (x1
-' y2))
<= ((k
- x2)
+ x2) by
XREAL_1: 6;
hence thesis;
end;
end;
then
A2: (k
-' (x2
+ (x1
-' y2)))
= (k
- (x2
+ (x1
-' y2))) & (((k
-' x2)
+ y2)
-' x1)
= (((k
- x2)
+ y2)
- x1) by
Z1,
A1,
XREAL_1: 233;
per cases ;
suppose x1
<= y2;
then (x1
-' y2)
=
0 & (y2
-' x1)
= (y2
- x1) by
XREAL_1: 233,
NAT_2: 8;
hence ((((k
-' x2)
+ y2)
-' x1)
+ y1)
= ((k
-' (x2
+ (x1
-' y2)))
+ ((y2
-' x1)
+ y1)) by
A2;
end;
suppose x1
> y2;
then (y2
-' x1)
=
0 & (x1
-' y2)
= (x1
- y2) by
XREAL_1: 233,
NAT_2: 8;
hence ((((k
-' x2)
+ y2)
-' x1)
+ y1)
= ((k
-' (x2
+ (x1
-' y2)))
+ ((y2
-' x1)
+ y1)) by
A2;
end;
end;
::$Canceled
reserve a,b for
object,
I,J for
set;
registration
cluster
asymmetric
transitive non
empty for
RelStr;
existence
proof
set X =
{
0 };
set r = (
{}
[:X, X:]);
take R =
RelStr (# X, r #);
thus R is
asymmetric
proof
let a, b;
assume a
in the
carrier of R & b
in the
carrier of R;
thus thesis;
end;
thus R is
transitive
proof
let a;
thus thesis;
end;
thus thesis;
end;
end
registration
let I;
cluster
asymmetric
transitive for
Relation of I;
existence
proof
set X = I;
take r = (
{}
[:X, X:]);
thus r is
asymmetric
proof
let a, b;
thus thesis;
end;
thus r is
transitive
proof
let a;
thus thesis;
end;
end;
end
registration
let R be
asymmetric
RelStr;
cluster the
InternalRel of R ->
asymmetric;
coherence by
NECKLACE:def 4;
end
registration
let I;
let p,q be I
-valued
FinSequence;
cluster (p
^ q) -> I
-valued;
coherence
proof
(
rng p)
c= I & (
rng q)
c= I by
RELAT_1:def 19;
then (
rng (p
^ q))
= ((
rng p)
\/ (
rng q))
c= I by
FINSEQ_1: 31,
XBOOLE_1: 8;
hence (
rng (p
^ q))
c= I;
end;
end
theorem ::
BAGORD_2:7
Lem8: for p,q be
FinSequence st (p
^ q) is I
-valued holds p is I
-valued & q is I
-valued
proof
let p,q be
FinSequence;
assume
Z1: (
rng (p
^ q))
c= I;
A1: (
rng (p
^ q))
= ((
rng p)
\/ (
rng q)) by
FINSEQ_1: 31;
(
rng p)
c= ((
rng p)
\/ (
rng q)) by
XBOOLE_1: 7;
hence (
rng p)
c= I by
Z1,
A1,
XBOOLE_1: 1;
(
rng q)
c= ((
rng p)
\/ (
rng q)) by
XBOOLE_1: 7;
hence (
rng q)
c= I by
Z1,
A1,
XBOOLE_1: 1;
end;
registration
let I;
let f be I
-valued
FinSequence;
let n be
Nat;
cluster (f
| n) -> I
-valued;
coherence ;
end
theorem ::
BAGORD_2:8
Lem9: for p be
FinSequence st a
in (
rng p) holds ex q,r be
FinSequence st p
= ((q
^
<*a*>)
^ r)
proof
let p be
FinSequence;
assume a
in (
rng p);
then
consider i be
object such that
A1: i
in (
dom p) & a
= (p
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A1;
A3: 1
<= i
<= (
len p) by
A1,
FINSEQ_3: 25;
consider k be
Nat such that
A2: i
= (1
+ k) by
NAT_1: 10,
A1,
FINSEQ_3: 25;
set q = ((1,k)
-cut p);
set r = (((i
+ 1),(
len p))
-cut p);
take q, r;
k
<= i & ((i,i)
-cut p)
=
<*a*> by
A1,
A3,
A2,
NAT_1: 11,
FINSEQ_6: 132;
hence p
= ((q
^
<*a*>)
^ r) by
A3,
A2,
FINSEQ_6: 136;
end;
theorem ::
BAGORD_2:9
Lem12: for p,q be
FinSequence holds p
c< q iff (
len p)
< (
len q) & for i be
Nat st i
in (
dom p) holds (p
. i)
= (q
. i)
proof
let p,q be
FinSequence;
hereby
assume
Z0: p
c< q;
hence (
len p)
< (
len q) by
TREES_1: 6;
p
c= q by
Z0,
XBOOLE_0:def 8;
hence for i be
Nat st i
in (
dom p) holds (p
. i)
= (q
. i) by
FOMODEL0: 51;
end;
assume
Z2: (
len p)
< (
len q);
then (
dom p)
c< (
dom q) by
FINSEQ_3: 118;
then
A1: (
dom p)
c= (
dom q) by
XBOOLE_0:def 8;
assume for i be
Nat st i
in (
dom p) holds (p
. i)
= (q
. i);
then for i be
set st i
in (
dom p) holds i
in (
dom q) & (p
. i)
= (q
. i) by
A1;
hence p
c< q by
Z2,
XBOOLE_0:def 8,
FOMODEL0: 51;
end;
theorem ::
BAGORD_2:10
Lem13: for p,q,r be
FinSequence holds (r
^ p)
c< (r
^ q) iff p
c< q
proof
let p,q,r be
FinSequence;
thus (r
^ p)
c< (r
^ q) implies p
c< q
proof
assume
A0: (r
^ p)
c< (r
^ q);
(
len (r
^ p))
= ((
len r)
+ (
len p)) & (
len (r
^ q))
= ((
len r)
+ (
len q)) by
FINSEQ_1: 22;
then
A2: (
len p)
< (
len q) by
A0,
Lem12,
XREAL_1: 6;
then
A3: (
dom p)
c= (
dom q) by
FINSEQ_3: 30;
for i be
Nat st i
in (
dom p) holds (p
. i)
= (q
. i)
proof
let i be
Nat;
assume i
in (
dom p);
then (p
. i)
= ((r
^ p)
. ((
len r)
+ i)) & (q
. i)
= ((r
^ q)
. ((
len r)
+ i)) & ((
len r)
+ i)
in (
dom (r
^ p)) by
A3,
FINSEQ_1:def 7,
FINSEQ_1: 28;
hence thesis by
A0,
Lem12;
end;
hence thesis by
A2,
Lem12;
end;
assume p
c< q;
then (r
^ p)
c= (r
^ q) & (r
^ p)
<> (r
^ q) by
FINSEQ_6: 13,
FINSEQ_1: 33,
XBOOLE_0:def 8;
hence thesis by
XBOOLE_0:def 8;
end;
definition
let R be
asymmetric non
empty
RelStr;
let x,y be
Element of R;
:: original:
<=
redefine
pred x
<= y;
asymmetry
proof
let a,b be
Element of R;
assume
[a, b]
in the
InternalRel of R;
hence not
[b, a]
in the
InternalRel of R by
PREFER_1: 22;
end;
end
theorem ::
BAGORD_2:11
Lem2: for R be
asymmetric non
empty
RelStr holds for x,y be
Element of R holds x
<= y iff x
< y
proof
let R be
asymmetric non
empty
RelStr;
let x,y be
Element of R;
hereby
assume
Z0: x
<= y;
then x
<> y;
hence x
< y by
Z0,
ORDERS_2:def 6;
end;
assume x
< y;
hence x
<= y by
ORDERS_2:def 6;
end;
begin
definition
let I;
mode
multiset of I is
Element of (
finite-MultiSet_over I);
end
registration
let I;
cluster -> I
-defined
natural-valued for
multiset of I;
coherence
proof
let m be
multiset of I;
m
in the
carrier of (
finite-MultiSet_over I)
c= the
carrier of (
MultiSet_over I) by
MONOID_0: 23;
hence thesis by
MONOID_1: 27;
end;
end
registration
let I;
cluster ->
total for
multiset of I;
coherence
proof
let m be
multiset of I;
m
in the
carrier of (
finite-MultiSet_over I)
c= the
carrier of (
MultiSet_over I) by
MONOID_0: 23;
then m is
Function of I,
NAT by
MONOID_1: 27;
hence thesis;
end;
end
definition
let m be
natural-valued
Function;
:: original:
support
redefine
::
BAGORD_2:def1
func
support m equals (m
" (
NAT
\
{
0 }));
compatibility
proof
let I;
(
support m)
= (m
" (
NAT
\
{
0 }))
proof
thus (
support m)
c= (m
" (
NAT
\
{
0 }))
proof
let a;
assume a
in (
support m);
then
A1: (m
. a)
<>
0 by
PRE_POLY:def 7;
then
A2: a
in (
dom m) by
FUNCT_1:def 2;
(m
. a)
in
NAT & not (m
. a)
in
{
0 } by
A1,
TARSKI:def 1,
ORDINAL1:def 12;
then (m
. a)
in (
NAT
\
{
0 }) by
XBOOLE_0:def 5;
hence thesis by
A2,
FUNCT_1:def 7;
end;
let a;
assume a
in (m
" (
NAT
\
{
0 }));
then (m
. a)
in (
NAT
\
{
0 }) by
FUNCT_1:def 7;
then not (m
. a)
in
{
0 } by
XBOOLE_0:def 5;
then (m
. a)
<>
0 by
TARSKI:def 1;
hence thesis by
PRE_POLY:def 7;
end;
hence I
= (
support m) iff I
= (m
" (
NAT
\
{
0 }));
end;
end
registration
let I;
cluster ->
finite-support for
multiset of I;
coherence
proof
let m be
multiset of I;
m
in the
carrier of (
finite-MultiSet_over I)
c= the
carrier of (
MultiSet_over I) by
MONOID_0: 23;
then (
support m) is
finite by
MONOID_1:def 6;
hence thesis by
PRE_POLY:def 8;
end;
end
theorem ::
BAGORD_2:12
Th1: a is
multiset of I iff a is
bag of I
proof
thus a is
multiset of I implies a is
bag of I;
assume a is
bag of I;
then
reconsider b = a as
bag of I;
(
dom b)
= I & (
rng b)
c=
NAT by
PARTFUN1:def 2,
VALUED_0:def 6;
then b is
Function of I,
NAT by
FUNCT_2: 2;
then b is
Multiset of I & (
support b) is
finite by
MONOID_1: 27;
hence thesis by
MONOID_1:def 6;
end;
theorem ::
BAGORD_2:13
Th11: (
1. (
finite-MultiSet_over I))
= (
EmptyBag I)
proof
(
1. (
MultiSet_over I))
= (I
-->
0 )
= (
EmptyBag I) by
MONOID_1: 26;
hence thesis by
MONOID_0:def 24;
end;
definition
let R be
RelStr;
let x,y be
Element of R;
::
BAGORD_2:def2
pred x
## y means not x
<= y & not y
<= x;
symmetry ;
end
definition
struct (
multMagma,
RelStr)
RelMultMagma
(# the
carrier ->
set,
the
multF ->
BinOp of the carrier,
the
InternalRel ->
Relation of the carrier #)
attr strict
strict;
end
definition
struct (
multLoopStr,
RelStr)
RelMonoid
(# the
carrier ->
set,
the
multF ->
BinOp of the carrier,
the
OneF ->
Element of the carrier,
the
InternalRel ->
Relation of the carrier #)
attr strict
strict;
end
definition
let M be
multLoopStr;
::
BAGORD_2:def3
mode
RelExtension of M ->
RelMonoid means
:
RE: the multLoopStr of it
= the multLoopStr of M;
existence
proof
set r = the
Relation of the
carrier of M;
take R =
RelMonoid (# the
carrier of M, the
multF of M, the
OneF of M, r #);
thus thesis;
end;
end
registration
let M be non
empty
multLoopStr;
cluster -> non
empty for
RelExtension of M;
coherence
proof
let R be
RelExtension of M;
the multLoopStr of R
= the multLoopStr of M by
RE;
hence thesis;
end;
end
registration
let M be
multLoopStr;
cluster
strict for
RelExtension of M;
existence
proof
set r = the
Relation of the
carrier of M;
set R =
RelMonoid (# the
carrier of M, the
multF of M, the
OneF of M, r #);
the multLoopStr of R
= the multLoopStr of M;
then R is
RelExtension of M by
RE;
hence thesis;
end;
end
theorem ::
BAGORD_2:14
Th2: for N be
multLoopStr, M be
RelExtension of N holds a is
Element of M iff a is
Element of N
proof
let N be
multLoopStr;
let M be
RelExtension of N;
the multLoopStr of N
= the multLoopStr of M by
RE;
hence thesis;
end;
theorem ::
BAGORD_2:15
Th3: for N be
multLoopStr, M be
RelExtension of N holds (
1. N)
= (
1. M)
proof
let N be
multLoopStr;
let M be
RelExtension of N;
the multLoopStr of N
= the multLoopStr of M by
RE;
hence thesis;
end;
registration
let I;
let M be
RelExtension of (
finite-MultiSet_over I);
cluster ->
Function-like
Relation-like for
Element of M;
coherence
proof
let m be
Element of M;
m is
multiset of I by
Th2;
hence thesis;
end;
end
registration
let I;
let M be
RelExtension of (
finite-MultiSet_over I);
cluster -> I
-defined
natural-valued
finite-support for
Element of M;
coherence
proof
let m be
Element of M;
m is
multiset of I by
Th2;
hence thesis;
end;
end
registration
let I;
let M be
RelExtension of (
finite-MultiSet_over I);
cluster ->
total for
Element of M;
coherence
proof
let m be
Element of M;
m is
multiset of I by
Th2;
hence thesis;
end;
end
theorem ::
BAGORD_2:16
for M be
RelExtension of (
finite-MultiSet_over I) holds the
carrier of M
= (
Bags I)
proof
set N = (
finite-MultiSet_over I);
let M be
RelExtension of (
finite-MultiSet_over I);
thus the
carrier of M
c= (
Bags I)
proof
let a;
assume a
in the
carrier of M;
hence a
in (
Bags I) by
PRE_POLY:def 12;
end;
let a;
assume a
in (
Bags I);
then a is
bag of I by
PRE_POLY:def 12;
then a is
Element of N by
Th1;
then a is
Element of M by
Th2;
hence thesis;
end;
scheme ::
BAGORD_2:sch1
RelEx { M() -> non
empty
multLoopStr , R[
object,
object] } :
ex N be
strict
RelExtension of M() st for x,y be
Element of N holds x
<= y iff R[x, y];
consider R be
Relation of the
carrier of M() such that
A1: for x,y be
Element of M() holds
[x, y]
in R iff R[x, y] from
RELSET_1:sch 2;
set N =
RelMonoid (# the
carrier of M(), the
multF of M(), the
OneF of M(), R #);
the multLoopStr of N
= the multLoopStr of M();
then
reconsider N as
strict
RelExtension of M() by
RE;
take N;
let x,y be
Element of N;
[x, y]
in R iff R[x, y] by
A1;
hence thesis by
ORDERS_2:def 5;
end;
theorem ::
BAGORD_2:17
Th4: for N be
multLoopStr, M1,M2 be
strict
RelExtension of N st for m,n be
Element of M1 holds for x,y be
Element of M2 st m
= x & n
= y holds m
<= n iff x
<= y holds M1
= M2
proof
let N be
multLoopStr;
let M1,M2 be
strict
RelExtension of N;
assume
Z4: for m,n be
Element of M1 holds for x,y be
Element of M2 st m
= x & n
= y holds m
<= n iff x
<= y;
A2: the multLoopStr of M1
= the multLoopStr of N & the multLoopStr of M2
= the multLoopStr of N by
RE;
the
InternalRel of M1
= the
InternalRel of M2
proof
let a, b;
hereby
assume
A3:
[a, b]
in the
InternalRel of M1;
then
reconsider m = a, n = b as
Element of M1 by
ZFMISC_1: 87;
reconsider x = m, y = n as
Element of M2 by
A2;
m
<= n by
A3,
ORDERS_2:def 5;
then x
<= y by
Z4;
hence
[a, b]
in the
InternalRel of M2 by
ORDERS_2:def 5;
end;
assume
A3:
[a, b]
in the
InternalRel of M2;
then
reconsider m = a, n = b as
Element of M2 by
ZFMISC_1: 87;
reconsider x = m, y = n as
Element of M1 by
A2;
m
<= n by
A3,
ORDERS_2:def 5;
then x
<= y by
Z4;
hence
[a, b]
in the
InternalRel of M1 by
ORDERS_2:def 5;
end;
hence M1
= M2 by
A2;
end;
begin
definition
let R be non
empty
RelStr;
::
BAGORD_2:def4
func
DershowitzMannaOrder R ->
strict
RelExtension of (
finite-MultiSet_over the
carrier of R) means
:
DM: for m,n be
Element of it holds m
<= n iff ex x,y be
Element of it st (
1. it )
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a;
existence
proof
set M = (
finite-MultiSet_over the
carrier of R);
defpred
R[
bag of the
carrier of R,
bag of the
carrier of R] means ex x,y be
Element of M st (
1. M)
<> x
divides $2 & $1
= (($2
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a;
consider N be
strict
RelExtension of M such that
A1: for m,n be
Element of N holds m
<= n iff
R[m, n] from
RelEx;
take N;
let m,n be
Element of N;
hereby
assume m
<= n;
then
consider x,y be
Element of M such that
A2: (
1. M)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A1;
reconsider x, y as
Element of N by
Th2;
take x, y;
thus (
1. N)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A2,
Th3;
end;
given x,y be
Element of N such that
A3: (
1. N)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a;
reconsider x, y as
Element of M by
Th2;
(
1. M)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A3,
Th3;
hence thesis by
A1;
end;
uniqueness
proof
set M = (
finite-MultiSet_over the
carrier of R);
let N1,N2 be
strict
RelExtension of (
finite-MultiSet_over the
carrier of R);
assume that
A1: for m,n be
Element of N1 holds m
<= n iff ex x,y be
Element of N1 st (
1. N1)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a and
A2: for m,n be
Element of N2 holds m
<= n iff ex x,y be
Element of N2 st (
1. N2)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a;
for m,n be
Element of N1 holds for x,y be
Element of N2 st m
= x & n
= y holds m
<= n iff x
<= y
proof
let m,n be
Element of N1;
let k,l be
Element of N2;
assume
Z0: m
= k;
assume
Z1: n
= l;
A5: (
1. N1)
= (
1. M)
= (
1. N2) by
Th3;
hereby
assume m
<= n;
then
consider x,y be
Element of N1 such that
A3: (
1. N1)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A1;
reconsider x, y as
Element of M by
Th2;
reconsider x, y as
Element of N2 by
Th2;
(
1. N2)
<> x
divides l & k
= ((l
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
Z0,
Z1,
A3,
A5;
hence k
<= l by
A2;
end;
assume k
<= l;
then
consider x,y be
Element of N2 such that
A4: (
1. N2)
<> x
divides l & k
= ((l
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A2;
reconsider x, y as
Element of M by
Th2;
reconsider x, y as
Element of N1 by
Th2;
(
1. N1)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
Z0,
Z1,
A4,
A5;
hence m
<= n by
A1;
end;
hence thesis by
Th4;
end;
end
theorem ::
BAGORD_2:18
Th7: for m,n be
bag of I holds n
= ((m
-' (m
-' n))
+ (n
-' m))
proof
let m,n be
bag of I;
let a;
assume a
in I;
thus (n
. a)
= (((m
. a)
-' ((m
. a)
-' (n
. a)))
+ ((n
. a)
-' (m
. a))) by
Th6
.= (((m
. a)
-' ((m
-' n)
. a))
+ ((n
. a)
-' (m
. a))) by
PRE_POLY:def 6
.= (((m
-' (m
-' n))
. a)
+ ((n
. a)
-' (m
. a))) by
PRE_POLY:def 6
.= (((m
-' (m
-' n))
. a)
+ ((n
-' m)
. a)) by
PRE_POLY:def 6
.= (((m
-' (m
-' n))
+ (n
-' m))
. a) by
PRE_POLY:def 5;
end;
theorem ::
BAGORD_2:19
Th8: for m,n,x,y be
bag of I st n
= ((m
-' x)
+ y) holds (m
-' n)
divides x & (n
-' m)
divides y
proof
let m,n,x,y be
bag of I;
assume
Z0: n
= ((m
-' x)
+ y);
thus (m
-' n)
divides x
proof
let a;
(n
. a)
= (((m
-' x)
. a)
+ (y
. a)) by
Z0,
PRE_POLY:def 5
.= (((m
. a)
-' (x
. a))
+ (y
. a)) by
PRE_POLY:def 6;
then ((m
. a)
-' (n
. a))
<= (x
. a) by
Th5;
hence ((m
-' n)
. a)
<= (x
. a) by
PRE_POLY:def 6;
end;
let a;
(n
. a)
= (((m
-' x)
. a)
+ (y
. a)) by
Z0,
PRE_POLY:def 5
.= (((m
. a)
-' (x
. a))
+ (y
. a)) by
PRE_POLY:def 6;
then ((n
. a)
-' (m
. a))
<= (y
. a) by
Th5;
hence thesis by
PRE_POLY:def 6;
end;
theorem ::
BAGORD_2:20
Th8A: for m,n,x,y be
bag of I st x
divides m & n
= ((m
-' x)
+ y) holds (x
-' (m
-' n))
= (y
-' (n
-' m))
proof
let m,n,x,y be
bag of I;
assume
Z0: x
divides m;
assume
Z1: n
= ((m
-' x)
+ y);
let a;
assume a
in I;
A1: (n
. a)
= (((m
-' x)
. a)
+ (y
. a))
= (((m
. a)
-' (x
. a))
+ (y
. a)) & (x
. a)
<= (m
. a) by
Z0,
Z1,
PRE_POLY:def 5,
PRE_POLY:def 6,
PRE_POLY:def 11;
thus ((x
-' (m
-' n))
. a)
= ((x
. a)
-' ((m
-' n)
. a)) by
PRE_POLY:def 6
.= ((x
. a)
-' ((m
. a)
-' (n
. a))) by
PRE_POLY:def 6
.= ((y
. a)
-' ((n
. a)
-' (m
. a))) by
A1,
Th5A
.= ((y
. a)
-' ((n
-' m)
. a)) by
PRE_POLY:def 6
.= ((y
-' (n
-' m))
. a) by
PRE_POLY:def 6;
end;
theorem ::
BAGORD_2:21
Th9: for m,x,y be
bag of I st x
divides m & x
<> y holds m
<> ((m
-' x)
+ y)
proof
let m,x,y be
bag of I;
assume
Z0: for a holds (x
. a)
<= (m
. a);
given a such that
Z1: a
in I & (x
. a)
<> (y
. a);
take a;
thus a
in I by
Z1;
A1: (((m
-' x)
+ y)
. a)
= (((m
-' x)
. a)
+ (y
. a))
= (((m
. a)
-' (x
. a))
+ (y
. a)) by
PRE_POLY:def 5,
PRE_POLY:def 6;
((m
. a)
-' (x
. a))
= ((m
. a)
- (x
. a)) by
Z0,
XREAL_1: 233;
hence thesis by
A1,
Z1;
end;
theorem ::
BAGORD_2:22
Lem5: for I be non
empty
set, R be
Relation of I holds for r be
RedSequence of R st (
len r)
> 1 holds (r
. (
len r))
in I
proof
let I be non
empty
set;
let R be
Relation of I;
let r be
RedSequence of R;
assume
Z0: (
len r)
> 1;
then
consider i be
Nat such that
A1: (
len r)
= (1
+ i) by
NAT_1: 10;
(
len r)
>= i
>= 1 by
Z0,
A1,
NAT_1: 13;
then i
in (
dom r) & (i
+ 1)
in (
dom r) by
A1,
FINSEQ_3: 25,
FINSEQ_5: 6;
then
[(r
. i), (r
. (
len r))]
in R by
A1,
REWRITE1:def 2;
hence (r
. (
len r))
in I by
ZFMISC_1: 87;
end;
theorem ::
BAGORD_2:23
Th13: for R be
asymmetric
transitive
Relation of I holds for r be
RedSequence of R holds r is
one-to-one
proof
let R be
asymmetric
transitive
Relation of I;
let r be
RedSequence of R;
let a, b;
assume
Z0: a
in (
dom r) & b
in (
dom r);
then
reconsider i = a, j = b as
Nat;
assume
Z1: (r
. a)
= (r
. b) & a
<> b;
A1: for i,j be
Nat st i
> j & i
in (
dom r) & j
in (
dom r) holds (r
. i)
<> (r
. j)
proof
let i,j be
Nat;
assume i
> j;
then
A1: i
>= (j
+ 1) by
NAT_1: 13;
assume
Z3: i
in (
dom r);
assume
Z4: j
in (
dom r);
defpred
P[
Nat] means $1
in (
dom r) implies
[(r
. j), (r
. $1)]
in R & (r
. $1)
<> (r
. j);
A2:
P[(j
+ 1)]
proof
assume (j
+ 1)
in (
dom r);
hence
[(r
. j), (r
. (j
+ 1))]
in R by
Z4,
REWRITE1:def 2;
hence thesis by
PREFER_1: 22;
end;
A3: for i be
Nat st i
>= (j
+ 1) &
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
Z5: i
>= (j
+ 1) &
P[i] & (i
+ 1)
in (
dom r);
then 1
<= (j
+ 1) & i
< (i
+ 1)
<= (
len r) by
NAT_1: 11,
NAT_1: 13,
FINSEQ_3: 25;
then 1
<= i
<= (
len r) by
Z5,
XXREAL_0: 2;
then i
in (
dom r) by
FINSEQ_3: 25;
then
ZZ:
[(r
. j), (r
. i)]
in R &
[(r
. i), (r
. (i
+ 1))]
in R by
Z5,
REWRITE1:def 2;
hence
[(r
. j), (r
. (i
+ 1))]
in R by
RELAT_2: 31;
thus thesis by
PREFER_1: 22,
RELAT_2: 31,
ZZ;
end;
for i be
Nat st i
>= (j
+ 1) holds
P[i] from
NAT_1:sch 8(
A2,
A3);
hence (r
. i)
<> (r
. j) by
A1,
Z3;
end;
i
< j or j
< i by
Z1,
XXREAL_0: 1;
hence thesis by
Z0,
Z1,
A1;
end;
theorem ::
BAGORD_2:24
Th12: for R be
asymmetric
transitive non
empty
RelStr holds for X be
set st X is
finite & ex x be
Element of R st x
in X holds ex x be
Element of R st x
is_maximal_in X
proof
let R be
asymmetric
transitive non
empty
RelStr;
let X be
set;
assume X is
finite;
then
reconsider X1 = X as
finite
set;
given x be
Element of R such that
Z1: x
in X;
set Y = { r where r be
Element of (X1
* ) : r is
RedSequence of the
InternalRel of R };
defpred
P[
Nat] means ex r be
RedSequence of the
InternalRel of R st r
in Y & (
len r)
= $1;
A1: for k be
Nat st
P[k] holds k
<= (
card X1)
proof
let k be
Nat;
given r be
RedSequence of the
InternalRel of R such that
A2: r
in Y & (
len r)
= k;
consider q be
Element of (X1
* ) such that
A3: r
= q & q is
RedSequence of the
InternalRel of R by
A2;
(
rng r)
c= X1 & r is
one-to-one by
A3,
Th13,
FINSEQ_1:def 4;
then (
len r)
= (
card (
rng r))
<= (
card X1) by
PRE_POLY: 19,
NAT_1: 43;
hence thesis by
A2;
end;
B1:
P[1]
proof
set k = 1;
reconsider r =
<*x*> as
RedSequence of the
InternalRel of R by
REWRITE1: 6;
take r;
<*x*> is
FinSequence of X1 by
Z1,
FINSEQ_1: 74;
then
<*x*>
in (X1
* ) by
FINSEQ_1:def 11;
hence r
in Y;
thus (
len r)
= k by
FINSEQ_1: 39;
end;
then
A4: ex k be
Nat st
P[k];
consider k be
Nat such that
A5:
P[k] & for n be
Nat st
P[n] holds n
<= k from
NAT_1:sch 6(
A1,
A4);
consider r be
RedSequence of the
InternalRel of R such that
A6: r
in Y & (
len r)
= k by
A5;
consider q be
Element of (X1
* ) such that
A7: r
= q & q is
RedSequence of the
InternalRel of R by
A6;
1
<= k by
B1,
A5;
per cases by
XXREAL_0: 1;
suppose
C1: k
= 1;
take x;
not ex y be
Element of R st y
in X & x
< y
proof
given y be
Element of R such that
A8: y
in X & x
< y;
[x, y]
in the
InternalRel of R by
A8,
ORDERS_2:def 5,
ORDERS_2:def 6;
then
reconsider r =
<*x, y*> as
RedSequence of the
InternalRel of R by
REWRITE1: 7;
<*x, y*> is
FinSequence of X1 by
Z1,
A8,
FINSEQ_2: 13;
then r
in (X1
* ) by
FINSEQ_1:def 11;
then r
in Y & (
len r)
= 2 by
FINSEQ_1: 44;
hence contradiction by
A5,
C1;
end;
hence x
is_maximal_in X by
Z1,
WAYBEL_4: 55;
end;
suppose
A8: k
> 1;
then
reconsider x = (r
. k) as
Element of R by
A6,
Lem5;
take x;
A9: k
in (
dom r) & r is
FinSequence of X1 by
A6,
A7,
FINSEQ_5: 6;
not ex y be
Element of R st y
in X & x
< y
proof
given y be
Element of R such that
B1: y
in X & x
< y;
[x, y]
in the
InternalRel of R by
B1,
ORDERS_2:def 5,
ORDERS_2:def 6;
then
reconsider p =
<*x, y*> as
RedSequence of the
InternalRel of R by
REWRITE1: 7;
(p
. 1)
= x by
FINSEQ_1: 44;
then
reconsider rp = (r
$^ p) as
RedSequence of the
InternalRel of R by
A6,
REWRITE1: 8;
ex i be
Nat st k
= (1
+ i) by
A8,
NAT_1: 10;
then
consider t be
FinSequence, a such that
B2: r
= (t
^
<*a*>) by
A6,
FINSEQ_2: 18;
k
= ((
len t)
+ 1) by
A6,
B2,
FINSEQ_2: 16;
then x
= a by
B2,
FINSEQ_1: 42;
then
B3: rp
= (r
^
<*y*>) by
B2,
REWRITE1: 3;
reconsider yy =
<*y*>, r1 = r as
FinSequence of X1 by
A7,
B1,
FINSEQ_1: 74;
(r1
^ yy) is
FinSequence of X1;
then rp
in (X1
* ) by
B3,
FINSEQ_1:def 11;
then rp
in Y & (
len rp)
= (k
+ 1) by
A6,
B3,
FINSEQ_2: 16;
then (k
+ 1)
<= k by
A5;
hence contradiction by
NAT_1: 13;
end;
hence x
is_maximal_in X by
A9,
FUNCT_1: 102,
WAYBEL_4: 55;
end;
end;
theorem ::
BAGORD_2:25
Lem3: for m,n be
bag of I holds (m
-' n)
divides m
proof
let m,n be
bag of I;
let a;
((m
. a)
-' (n
. a))
<= (m
. a) by
NAT_D: 35;
hence ((m
-' n)
. a)
<= (m
. a) by
PRE_POLY:def 6;
end;
registration
let I;
cluster ->
Function-like
Relation-like for
Element of (
Bags I);
coherence by
PRE_POLY:def 12;
end
theorem ::
BAGORD_2:26
Lem4: for m,n be
bag of I holds (m
-' n)
<> (
EmptyBag I) or m
= n or (n
-' m)
<> (
EmptyBag I)
proof
let m,n be
bag of I;
assume
Z0: (m
-' n)
= (
EmptyBag I);
assume m
<> n;
then
consider a such that
A1: a
in I & (m
. a)
<> (n
. a) by
PBOOLE:def 10;
per cases by
A1,
XXREAL_0: 1;
suppose (m
. a)
> (n
. a);
then ((m
. a)
- (n
. a))
>
0 by
XREAL_1: 50;
then ((m
. a)
-' (n
. a))
>
0 by
XREAL_0:def 2;
then
0
< ((m
-' n)
. a)
=
0 by
A1,
Z0,
FUNCOP_1: 7,
PRE_POLY:def 6;
hence thesis;
end;
suppose
A3: (n
. a)
> (m
. a);
take a;
thus a
in I by
A1;
((n
. a)
- (m
. a))
>
0 by
A3,
XREAL_1: 50;
then ((n
. a)
-' (m
. a))
>
0 by
XREAL_0:def 2;
then ((n
-' m)
. a)
>
0 by
PRE_POLY:def 6;
hence ((n
-' m)
. a)
<> ((
EmptyBag I)
. a) by
A1,
FUNCOP_1: 7;
end;
end;
definition
let R be
asymmetric
transitive non
empty
RelStr;
:: original:
DershowitzMannaOrder
redefine
::
BAGORD_2:def5
func
DershowitzMannaOrder R means
:
HO: for m,n be
Element of it holds m
<= n iff m
<> n & for a be
Element of R st (m
. a)
> (n
. a) holds ex b be
Element of R st a
<= b & (m
. b)
< (n
. b);
compatibility
proof
let M be
strict
RelExtension of (
finite-MultiSet_over the
carrier of R);
hereby
assume
A1: M
= (
DershowitzMannaOrder R);
let m,n be
Element of M;
hereby
assume m
<= n;
then
consider x,y be
Element of M such that
A2: (
1. M)
<> x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A1,
DM;
set X = { a where a be
Element of R : (x
. a)
>
0 & ex b be
Element of R st (y
. b)
>
0 & b
<= a };
B1: X
c= (
support x)
proof
let a;
assume a
in X;
then
consider c be
Element of R such that
A3: a
= c & (x
. c)
>
0 & ex b be
Element of R st (y
. b)
>
0 & b
<= c;
thus thesis by
A3,
PRE_POLY:def 7;
end;
x
<> y
proof
per cases by
Th3;
suppose y
= (
1. M);
hence thesis by
A2;
end;
suppose y
<> (
1. (
finite-MultiSet_over the
carrier of R));
then y
<> (
EmptyBag the
carrier of R) by
Th11;
then
consider b such that
A5: b
in the
carrier of R & (y
. b)
<> ((the
carrier of R
-->
0 )
. b) by
PBOOLE:def 10;
reconsider b as
Element of R by
A5;
A6:
0
<= (y
. b)
<>
0 by
A5,
FUNCOP_1: 7;
then
consider a be
Element of R such that
A7: (x
. a)
>
0 & b
<= a by
A2;
a
in X by
A6,
A7;
then
consider c be
Element of R such that
A8: c
is_maximal_in X by
B1,
Th12;
A9: c
in X & not ex a be
Element of R st a
in X & c
< a by
A8,
WAYBEL_4: 55;
not c
in (
support y)
proof
assume c
in (
support y);
then
A11:
0
<= (y
. c)
<>
0 by
PRE_POLY:def 7;
then
consider a be
Element of R such that
A12: (x
. a)
>
0 & c
<= a by
A2;
a
in X & c
< a by
A11,
A12,
Lem2;
hence contradiction by
A8,
WAYBEL_4: 55;
end;
hence thesis by
B1,
A9;
end;
end;
hence m
<> n by
A2,
Th9;
let a be
Element of R;
assume (m
. a)
> (n
. a);
then ((m
. a)
- (n
. a))
>
0 by
XREAL_1: 50;
then ((m
. a)
-' (n
. a))
>
0 by
XREAL_0:def 2;
then
A3: ((m
-' n)
. a)
>
0 by
PRE_POLY:def 6;
(m
-' n)
divides y by
A2,
Th8;
then (y
. a)
>
0 by
A3,
PRE_POLY:def 11;
then
consider b be
Element of R such that
A4: (x
. b)
>
0 & a
<= b by
A2;
set X = { c where c be
Element of R : (x
. c)
>
0 & a
<= c };
X
c= (
support x)
proof
let b;
assume b
in X;
then
consider c be
Element of R such that
B2: b
= c & (x
. c)
>
0 & a
<= c;
thus thesis by
B2,
PRE_POLY:def 7;
end;
then X is
finite & b
in X by
A4;
then
consider c be
Element of R such that
B3: c
is_maximal_in X by
Th12;
c
in X & not ex a be
Element of R st a
in X & c
< a by
B3,
WAYBEL_4: 55;
then
consider d be
Element of R such that
B5: c
= d & (x
. d)
>
0 & a
<= d;
take c;
thus a
<= c by
B5;
assume (m
. c)
>= (n
. c);
per cases by
XXREAL_0: 1;
suppose (m
. c)
> (n
. c);
then ((m
. c)
- (n
. c))
>
0 by
XREAL_1: 50;
then ((m
. c)
-' (n
. c))
>
0 & (m
-' n)
divides y by
A2,
Th8,
XREAL_0:def 2;
then (y
. c)
>= ((m
-' n)
. c)
>
0 by
PRE_POLY:def 6,
PRE_POLY:def 11;
then
consider e be
Element of R such that
B6: (x
. e)
>
0 & c
<= e by
A2;
a
<= e by
B5,
B6,
YELLOW_0:def 2;
then e
in X & c
< e by
B6,
Lem2;
hence contradiction by
B3,
WAYBEL_4: 55;
end;
suppose (m
. c)
= (n
. c);
then (x
. c)
= ((x
. c)
-'
0 )
= ((x
. c)
-' ((n
. c)
-' (m
. c)))
= ((x
. c)
-' ((n
-' m)
. c))
= ((x
-' (n
-' m))
. c)
= ((y
-' (m
-' n))
. c)
= ((y
. c)
-' ((m
-' n)
. c))
= ((y
. c)
-' ((m
. c)
-' (n
. c)))
= ((y
. c)
-'
0 )
= (y
. c) by
A2,
Th8A,
XREAL_1: 232,
NAT_D: 40,
PRE_POLY:def 6;
then
consider e be
Element of R such that
B6: (x
. e)
>
0 & c
<= e by
A2,
B5;
a
<= e by
B5,
B6,
YELLOW_0:def 2;
then e
in X & c
< e by
B6,
Lem2;
hence contradiction by
B3,
WAYBEL_4: 55;
end;
end;
assume
A5: m
<> n & for a be
Element of R st (m
. a)
> (n
. a) holds ex b be
Element of R st a
<= b & (m
. b)
< (n
. b);
reconsider x = (n
-' m), y = (m
-' n) as
multiset of the
carrier of R by
Th1;
reconsider x, y as
Element of M by
Th2;
A6: m
= ((n
-' x)
+ y) by
Th7;
A8: x
divides n by
Lem3;
A9:
now
let b be
Element of R;
assume (y
. b)
>
0 ;
then ((m
. b)
-' (n
. b))
>
0 by
PRE_POLY:def 6;
then ((m
. b)
- (n
. b))
>
0 by
XREAL_0:def 2;
then
consider a be
Element of R such that
A7: b
<= a & (m
. a)
< (n
. a) by
A5,
XREAL_1: 47;
take a;
((n
. a)
- (m
. a))
>
0 by
A7,
XREAL_1: 50;
then ((n
. a)
-' (m
. a))
>
0 by
XREAL_0:def 2;
hence (x
. a)
>
0 & b
<= a by
A7,
PRE_POLY:def 6;
end;
(
1. M)
<> x
proof
per cases by
A5,
Lem4;
suppose (
EmptyBag the
carrier of R)
<> x;
then (
1. (
finite-MultiSet_over the
carrier of R))
<> x by
Th11;
hence thesis by
Th3;
end;
suppose (
EmptyBag the
carrier of R)
<> y;
then
consider b such that
A10: b
in the
carrier of R & ((
EmptyBag the
carrier of R)
. b)
<> (y
. b) by
PBOOLE:def 10;
reconsider b as
Element of R by
A10;
0
<> (y
. b)
>=
0 by
A10,
FUNCOP_1: 7;
then
consider a be
Element of R such that
A11: (x
. a)
>
0 & b
<= a by
A9;
take a;
(
EmptyBag the
carrier of R)
= (
1. (
finite-MultiSet_over the
carrier of R))
= (
1. M) by
Th11,
Th3;
hence thesis by
A11,
FUNCOP_1: 7;
end;
end;
hence m
<= n by
A1,
A6,
A8,
A9,
DM;
end;
assume
B1: for m,n be
Element of M holds m
<= n iff m
<> n & for a be
Element of R st (m
. a)
> (n
. a) holds ex b be
Element of R st a
<= b & (m
. b)
< (n
. b);
for m,n be
Element of M holds m
<= n iff ex x,y be
Element of M st (
1. M)
<> x & x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a
proof
let m,n be
Element of M;
hereby
assume
Z0: m
<= n;
reconsider x = (n
-' m), y = (m
-' n) as
multiset of the
carrier of R by
Th1;
reconsider x, y as
Element of M by
Th2;
take x, y;
A9:
now
let b be
Element of R;
assume (y
. b)
>
0 ;
then ((m
. b)
-' (n
. b))
>
0 by
PRE_POLY:def 6;
then ((m
. b)
- (n
. b))
>
0 by
XREAL_0:def 2;
then
consider a be
Element of R such that
A7: b
<= a & (m
. a)
< (n
. a) by
Z0,
B1,
XREAL_1: 47;
take a;
((n
. a)
- (m
. a))
>
0 by
A7,
XREAL_1: 50;
then ((n
. a)
-' (m
. a))
>
0 by
XREAL_0:def 2;
hence (x
. a)
>
0 & b
<= a by
A7,
PRE_POLY:def 6;
end;
thus (
1. M)
<> x
proof
per cases by
Z0,
B1,
Lem4;
suppose (
EmptyBag the
carrier of R)
<> x;
then (
1. (
finite-MultiSet_over the
carrier of R))
<> x by
Th11;
hence thesis by
Th3;
end;
suppose (
EmptyBag the
carrier of R)
<> y;
then
consider b such that
A10: b
in the
carrier of R & ((
EmptyBag the
carrier of R)
. b)
<> (y
. b) by
PBOOLE:def 10;
reconsider b as
Element of R by
A10;
0
<> (y
. b)
>=
0 by
A10,
FUNCOP_1: 7;
then
consider a be
Element of R such that
A11: (x
. a)
>
0 & b
<= a by
A9;
take a;
(
EmptyBag the
carrier of R)
= (
1. (
finite-MultiSet_over the
carrier of R))
= (
1. M) by
Th11,
Th3;
hence thesis by
A11,
FUNCOP_1: 7;
end;
end;
thus x
divides n by
Lem3;
thus m
= ((n
-' x)
+ y) by
Th7;
let b be
Element of R;
assume (y
. b)
>
0 ;
hence ex a be
Element of R st (x
. a)
>
0 & b
<= a by
A9;
end;
given x,y be
Element of M such that
A2: (
1. M)
<> x & x
divides n & m
= ((n
-' x)
+ y) & for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a;
now
set X = { a where a be
Element of R : (x
. a)
>
0 & ex b be
Element of R st (y
. b)
>
0 & b
<= a };
B1: X
c= (
support x)
proof
let a;
assume a
in X;
then
consider c be
Element of R such that
A3: a
= c & (x
. c)
>
0 & ex b be
Element of R st (y
. b)
>
0 & b
<= c;
thus thesis by
A3,
PRE_POLY:def 7;
end;
x
<> y
proof
per cases by
Th3;
suppose y
= (
1. M);
hence thesis by
A2;
end;
suppose y
<> (
1. (
finite-MultiSet_over the
carrier of R));
then y
<> (
EmptyBag the
carrier of R) by
Th11;
then
consider b such that
A5: b
in the
carrier of R & (y
. b)
<> ((the
carrier of R
-->
0 )
. b) by
PBOOLE:def 10;
reconsider b as
Element of R by
A5;
A6:
0
<= (y
. b)
<>
0 by
A5,
FUNCOP_1: 7;
then
consider a be
Element of R such that
A7: (x
. a)
>
0 & b
<= a by
A2;
a
in X by
A6,
A7;
then
consider c be
Element of R such that
A8: c
is_maximal_in X by
B1,
Th12;
A9: c
in X & not ex a be
Element of R st a
in X & c
< a by
A8,
WAYBEL_4: 55;
not c
in (
support y)
proof
assume c
in (
support y);
then
A11:
0
<= (y
. c)
<>
0 by
PRE_POLY:def 7;
then
consider a be
Element of R such that
A12: (x
. a)
>
0 & c
<= a by
A2;
a
in X & c
< a by
A11,
A12,
Lem2;
hence contradiction by
A8,
WAYBEL_4: 55;
end;
hence thesis by
B1,
A9;
end;
end;
hence m
<> n by
A2,
Th9;
let a be
Element of R;
assume (m
. a)
> (n
. a);
then ((m
. a)
- (n
. a))
>
0 by
XREAL_1: 50;
then ((m
. a)
-' (n
. a))
>
0 by
XREAL_0:def 2;
then
A3: ((m
-' n)
. a)
>
0 by
PRE_POLY:def 6;
(m
-' n)
divides y by
A2,
Th8;
then ((m
-' n)
. a)
<= (y
. a) by
PRE_POLY:def 11;
then
consider b be
Element of R such that
A4: (x
. b)
>
0 & a
<= b by
A2,
A3;
set X = { c where c be
Element of R : (x
. c)
>
0 & a
<= c };
X
c= (
support x)
proof
let b;
assume b
in X;
then
consider c be
Element of R such that
B2: b
= c & (x
. c)
>
0 & a
<= c;
thus thesis by
B2,
PRE_POLY:def 7;
end;
then X is
finite & b
in X by
A4;
then
consider c be
Element of R such that
B3: c
is_maximal_in X by
Th12;
c
in X & not ex a be
Element of R st a
in X & c
< a by
B3,
WAYBEL_4: 55;
then
consider d be
Element of R such that
B5: c
= d & (x
. d)
>
0 & a
<= d;
take c;
thus a
<= c by
B5;
assume (m
. c)
>= (n
. c);
per cases by
XXREAL_0: 1;
suppose (m
. c)
> (n
. c);
then ((m
. c)
- (n
. c))
>
0 by
XREAL_1: 50;
then ((m
. c)
-' (n
. c))
>
0 & (m
-' n)
divides y by
A2,
Th8,
XREAL_0:def 2;
then (y
. c)
>= ((m
-' n)
. c)
>
0 by
PRE_POLY:def 6,
PRE_POLY:def 11;
then
consider e be
Element of R such that
B6: (x
. e)
>
0 & c
<= e by
A2;
a
<= e by
B5,
B6,
YELLOW_0:def 2;
then e
in X & c
< e by
B6,
Lem2;
hence contradiction by
B3,
WAYBEL_4: 55;
end;
suppose (m
. c)
= (n
. c);
then (x
. c)
= ((x
. c)
-'
0 )
= ((x
. c)
-' ((n
. c)
-' (m
. c)))
= ((x
. c)
-' ((n
-' m)
. c))
= ((x
-' (n
-' m))
. c)
= ((y
-' (m
-' n))
. c)
= ((y
. c)
-' ((m
-' n)
. c))
= ((y
. c)
-' ((m
. c)
-' (n
. c)))
= ((y
. c)
-'
0 )
= (y
. c) by
A2,
Th8A,
XREAL_1: 232,
NAT_D: 40,
PRE_POLY:def 6;
then
consider e be
Element of R such that
B6: (x
. e)
>
0 & c
<= e by
A2,
B5;
a
<= e by
B5,
B6,
YELLOW_0:def 2;
then e
in X & c
< e by
B6,
Lem2;
hence contradiction by
B3,
WAYBEL_4: 55;
end;
end;
hence m
<= n by
B1;
end;
hence M
= (
DershowitzMannaOrder R) by
DM;
end;
end
theorem ::
BAGORD_2:27
Th15: for k,x1,x2,y1,y2 be
bag of I st x2
divides k & x1
divides ((k
-' x2)
+ y2) holds (x2
+ (x1
-' y2))
divides k & ((((k
-' x2)
+ y2)
-' x1)
+ y1)
= ((k
-' (x2
+ (x1
-' y2)))
+ ((y2
-' x1)
+ y1))
proof
let k,x1,x2,y1,y2 be
bag of I;
assume
A1: for a holds (x2
. a)
<= (k
. a);
assume
A2: for a holds (x1
. a)
<= (((k
-' x2)
+ y2)
. a);
hereby
let a;
(x2
. a)
<= (k
. a) & (x1
. a)
<= (((k
-' x2)
+ y2)
. a)
= (((k
-' x2)
. a)
+ (y2
. a))
= (((k
. a)
-' (x2
. a))
+ (y2
. a)) by
A1,
A2,
PRE_POLY:def 5,
PRE_POLY:def 6;
then ((x2
. a)
+ ((x1
. a)
-' (y2
. a)))
<= (k
. a) by
Th14;
then ((x2
. a)
+ ((x1
-' y2)
. a))
<= (k
. a) by
PRE_POLY:def 6;
hence ((x2
+ (x1
-' y2))
. a)
<= (k
. a) by
PRE_POLY:def 5;
end;
let a such that a
in I;
(x2
. a)
<= (k
. a) & (x1
. a)
<= (((k
-' x2)
+ y2)
. a)
= (((k
-' x2)
. a)
+ (y2
. a))
= (((k
. a)
-' (x2
. a))
+ (y2
. a)) by
A1,
A2,
PRE_POLY:def 5,
PRE_POLY:def 6;
then
A3: (((((k
. a)
-' (x2
. a))
+ (y2
. a))
-' (x1
. a))
+ (y1
. a))
= (((k
. a)
-' ((x2
. a)
+ ((x1
. a)
-' (y2
. a))))
+ (((y2
. a)
-' (x1
. a))
+ (y1
. a))) by
Th14;
A4: (((((k
. a)
-' (x2
. a))
+ (y2
. a))
-' (x1
. a))
+ (y1
. a))
= (((((k
-' x2)
. a)
+ (y2
. a))
-' (x1
. a))
+ (y1
. a)) by
PRE_POLY:def 6
.= (((((k
-' x2)
+ y2)
. a)
-' (x1
. a))
+ (y1
. a)) by
PRE_POLY:def 5
.= (((((k
-' x2)
+ y2)
-' x1)
. a)
+ (y1
. a)) by
PRE_POLY:def 6
.= (((((k
-' x2)
+ y2)
-' x1)
+ y1)
. a) by
PRE_POLY:def 5;
(((k
. a)
-' ((x2
. a)
+ ((x1
. a)
-' (y2
. a))))
+ (((y2
. a)
-' (x1
. a))
+ (y1
. a)))
= (((k
. a)
-' ((x2
. a)
+ ((x1
. a)
-' (y2
. a))))
+ (((y2
-' x1)
. a)
+ (y1
. a))) by
PRE_POLY:def 6
.= (((k
. a)
-' ((x2
. a)
+ ((x1
-' y2)
. a)))
+ (((y2
-' x1)
. a)
+ (y1
. a))) by
PRE_POLY:def 6
.= (((k
. a)
-' ((x2
+ (x1
-' y2))
. a))
+ (((y2
-' x1)
. a)
+ (y1
. a))) by
PRE_POLY:def 5
.= (((k
. a)
-' ((x2
+ (x1
-' y2))
. a))
+ (((y2
-' x1)
+ y1)
. a)) by
PRE_POLY:def 5
.= (((k
-' (x2
+ (x1
-' y2)))
. a)
+ (((y2
-' x1)
+ y1)
. a)) by
PRE_POLY:def 6;
hence thesis by
A3,
A4,
PRE_POLY:def 5;
end;
registration
let R be
asymmetric
transitive non
empty
RelStr;
cluster (
DershowitzMannaOrder R) ->
asymmetric
transitive;
coherence
proof
set DM = (
DershowitzMannaOrder R);
thus DM is
asymmetric
proof
let a, b;
assume a
in the
carrier of DM & b
in the
carrier of DM;
then
reconsider m = a, n = b as
Element of DM;
assume
[a, b]
in the
InternalRel of DM &
[b, a]
in the
InternalRel of DM;
then
A0: m
<= n & n
<= m by
ORDERS_2:def 5;
then m
<> n & (for a be
Element of R st (m
. a)
> (n
. a) holds ex b be
Element of R st a
<= b & (m
. b)
< (n
. b)) & for a be
Element of R st (n
. a)
> (m
. a) holds ex b be
Element of R st a
<= b & (n
. b)
< (m
. b) by
HO;
then
consider c be
object such that
A2: c
in the
carrier of R & (m
. c)
<> (n
. c) by
PBOOLE:def 10;
reconsider c as
Element of R by
A2;
set X = { d where d be
Element of R : c
<= d & (m
. d)
> (n
. d) };
BC: X
c= (
support m)
proof
let a;
assume a
in X;
then
consider d be
Element of R such that
A3: a
= d & c
<= d & (m
. d)
> (n
. d);
thus thesis by
A3,
PRE_POLY:def 7;
end;
ex b be
Element of R st b
in X
proof
per cases by
A2,
XXREAL_0: 1;
suppose (m
. c)
< (n
. c);
then
consider d be
Element of R such that
A5: c
<= d & (n
. d)
< (m
. d) by
A0,
HO;
take d;
thus d
in X by
A5;
end;
suppose (m
. c)
> (n
. c);
then
consider d be
Element of R such that
A5: c
<= d & (n
. d)
> (m
. d) by
A0,
HO;
consider e be
Element of R such that
A6: d
<= e & (n
. e)
< (m
. e) by
A0,
HO,
A5;
take e;
c
<= e by
A5,
A6,
ORDERS_2: 3;
hence e
in X by
A6;
end;
end;
then
consider d be
Element of R such that
A7: d
is_maximal_in X by
BC,
Th12;
d
in X & not ex a be
Element of R st a
in X & d
< a by
A7,
WAYBEL_4: 55;
then
consider e be
Element of R such that
A8: d
= e & c
<= e & (n
. e)
< (m
. e);
consider f be
Element of R such that
A9: e
<= f & (n
. f)
> (m
. f) by
A0,
HO,
A8;
consider g be
Element of R such that
A10: f
<= g & (n
. g)
< (m
. g) by
A0,
HO,
A9;
c
<= f by
A8,
A9,
ORDERS_2: 3;
then c
<= g & d
<= g by
A8,
A9,
A10,
ORDERS_2: 3;
then g
in X & d
< g by
A10,
Lem2;
hence contradiction by
A7,
WAYBEL_4: 55;
end;
thus DM is
transitive
proof
let a,b,c be
object;
assume a
in the
carrier of DM & b
in the
carrier of DM & c
in the
carrier of DM;
then
reconsider m = a, n = b, k = c as
Element of DM;
assume
[a, b]
in the
InternalRel of DM &
[b, c]
in the
InternalRel of DM;
then
A0: m
<= n & n
<= k by
ORDERS_2:def 5;
consider x1,y1 be
Element of DM such that
A2: (
1. DM)
<> x1
divides n & m
= ((n
-' x1)
+ y1) & for b be
Element of R st (y1
. b)
>
0 holds ex a be
Element of R st (x1
. a)
>
0 & b
<= a by
A0,
DM;
consider x2,y2 be
Element of DM such that
A3: (
1. DM)
<> x2
divides k & n
= ((k
-' x2)
+ y2) & for b be
Element of R st (y2
. b)
>
0 holds ex a be
Element of R st (x2
. a)
>
0 & b
<= a by
A0,
DM;
reconsider x = (x2
+ (x1
-' y2)), y = ((y2
-' x1)
+ y1) as
multiset of the
carrier of R by
Th1;
reconsider x, y as
Element of DM by
Th2;
A4: m
= ((((k
-' x2)
+ y2)
-' x1)
+ y1)
= ((k
-' x)
+ y) by
A2,
A3,
Th15;
A5: (
1. DM)
<> x
proof
consider a such that
A7: a
in the
carrier of R & ((
1. DM)
. a)
<> (x2
. a) by
A3,
PBOOLE:def 10;
reconsider a as
Element of R by
A7;
(
1. DM)
= (
1. (
finite-MultiSet_over the
carrier of R))
= (
EmptyBag the
carrier of R) by
Th3,
Th11;
then
A8: ((
1. DM)
. a)
=
0 by
FUNCOP_1: 7;
take a;
0
< (x2
. a)
<= ((x2
. a)
+ ((x1
-' y2)
. a)) by
A7,
A8,
NAT_1: 11;
hence thesis by
A8,
PRE_POLY:def 5;
end;
A6: x
divides k by
A2,
A3,
Th15;
for b be
Element of R st (y
. b)
>
0 holds ex a be
Element of R st (x
. a)
>
0 & b
<= a
proof
let b be
Element of R;
assume (y
. b)
>
0 ;
then (((y2
-' x1)
. b)
+ (y1
. b))
>
0 by
PRE_POLY:def 5;
per cases ;
suppose ((y2
-' x1)
. b)
>
0 ;
then ((y2
. b)
-' (x1
. b))
>
0 by
PRE_POLY:def 6;
then ((y2
. b)
- (x1
. b))
>
0 by
XREAL_0:def 2;
then (y2
. b)
> (x1
. b)
>=
0 by
XREAL_1: 47;
then
consider a be
Element of R such that
B4: (x2
. a)
>
0 & b
<= a by
A3;
take a;
(x
. a)
= ((x2
. a)
+ ((x1
-' y2)
. a))
>= (x2
. a) by
NAT_1: 11,
PRE_POLY:def 5;
hence thesis by
B4;
end;
suppose (y1
. b)
>
0 ;
then
consider a be
Element of R such that
B1: (x1
. a)
>
0 & b
<= a by
A2;
per cases ;
suppose
B2: ((x1
-' y2)
. a)
>
0 ;
take a;
((x2
+ (x1
-' y2))
. a)
= ((x2
. a)
+ ((x1
-' y2)
. a)) by
PRE_POLY:def 5;
hence (x
. a)
>
0 by
B2;
thus b
<= a by
B1;
end;
suppose ((x1
-' y2)
. a)
=
0 ;
then ((x1
. a)
-' (y2
. a))
=
0 by
PRE_POLY:def 6;
then (x1
. a)
<= (y2
. a) by
NAT_D: 36;
then
consider c be
Element of R such that
B3: (x2
. c)
>
0 & a
<= c by
A3,
B1;
take c;
(x
. c)
= ((x2
. c)
+ ((x1
-' y2)
. c)) by
PRE_POLY:def 5;
hence thesis by
B1,
B3,
ORDERS_2: 3;
end;
end;
end;
then m
<= k by
A4,
A5,
A6,
DM;
hence thesis by
ORDERS_2:def 5;
end;
end;
end
definition
let I;
::
BAGORD_2:def6
func
DivOrder I ->
Relation of (
Bags I) means
:
DO: for b1,b2 be
bag of I holds
[b1, b2]
in it iff b1
<> b2 & b1
divides b2;
existence
proof
defpred
R[
bag of I,
bag of I] means $1
<> $2 & $1
divides $2;
consider R be
Relation of (
Bags I) such that
A1: for b1,b2 be
Element of (
Bags I) holds
[b1, b2]
in R iff
R[b1, b2] from
RELSET_1:sch 2;
take R;
let b1,b2 be
bag of I;
b1
in (
Bags I) & b2
in (
Bags I) by
PRE_POLY:def 12;
hence thesis by
A1;
end;
uniqueness
proof
let R1,R2 be
Relation of (
Bags I) such that
A1: for b1,b2 be
bag of I holds
[b1, b2]
in R1 iff b1
<> b2 & b1
divides b2 and
A2: for b1,b2 be
bag of I holds
[b1, b2]
in R2 iff b1
<> b2 & b1
divides b2;
let b1,b2 be
Element of (
Bags I);
[b1, b2]
in R1 iff b1
<> b2 & b1
divides b2 by
A1;
hence thesis by
A2;
end;
end
theorem ::
BAGORD_2:28
Lem7: for a,b,c be
bag of I st a
divides b
divides c holds a
divides c
proof
let a,b,c be
bag of I;
assume that
A1: for x be
object holds (a
. x)
<= (b
. x) and
A2: for x be
object holds (b
. x)
<= (c
. x);
let x be
object;
(a
. x)
<= (b
. x)
<= (c
. x) by
A1,
A2;
hence thesis by
XXREAL_0: 2;
end;
registration
let I;
cluster (
DivOrder I) ->
asymmetric
transitive;
coherence
proof
set R = (
DivOrder I);
now
let x,y be
object;
assume
A1:
[x, y]
in R;
then
reconsider a = x, b = y as
Element of (
Bags I) by
ZFMISC_1: 87;
A2: a
<> b & a
divides b by
DO,
A1;
then
consider o be
object such that
A3: o
in I & (a
. o)
<> (b
. o) by
PBOOLE:def 10;
(a
. o)
<= (b
. o) by
A2,
PRE_POLY:def 11;
then (a
. o)
< (b
. o) by
A3,
XXREAL_0: 1;
then not b
divides a by
PRE_POLY:def 11;
hence not
[y, x]
in R by
DO;
end;
hence R is
asymmetric by
PREFER_1: 22;
let a,b,c be
object;
assume a
in (
field R) & b
in (
field R) & c
in (
field R);
assume
A4:
[a, b]
in R &
[b, c]
in R;
then
reconsider a, b, c as
Element of (
Bags I) by
ZFMISC_1: 87;
A5: a
<> b & a
divides b & b
divides c by
A4,
DO;
then
consider x be
object such that
A6: x
in I & (a
. x)
<> (b
. x) by
PBOOLE:def 10;
(a
. x)
<= (b
. x) by
A5,
PRE_POLY:def 11;
then (a
. x)
< (b
. x)
<= (c
. x) by
A5,
A6,
XXREAL_0: 1,
PRE_POLY:def 11;
then a
<> c & a
divides c by
A5,
Lem7;
hence thesis by
DO;
end;
end
theorem ::
BAGORD_2:29
Th16: for R be
asymmetric
transitive non
empty
RelStr holds (
DivOrder the
carrier of R)
c= the
InternalRel of (
DershowitzMannaOrder R)
proof
let R be
asymmetric
transitive non
empty
RelStr;
set DM = (
DershowitzMannaOrder R);
let a,b be
Element of (
Bags the
carrier of R);
assume
A1:
[a, b]
in (
DivOrder the
carrier of R);
reconsider a, b as
multiset of the
carrier of R by
Th1;
reconsider a, b as
Element of DM by
Th2;
A2: a
<> b & a
divides b by
A1,
DO;
then for x be
Element of R st (a
. x)
> (b
. x) holds ex y be
Element of R st x
<= y & (a
. y)
< (b
. y) by
PRE_POLY:def 11;
then a
<= b by
A2,
HO;
hence thesis by
ORDERS_2:def 5;
end;
theorem ::
BAGORD_2:30
for R be
asymmetric
transitive non
empty
RelStr st the
InternalRel of R is
empty holds the
InternalRel of (
DershowitzMannaOrder R)
= (
DivOrder the
carrier of R)
proof
let R be
asymmetric
transitive non
empty
RelStr;
assume
Z0: the
InternalRel of R is
empty;
let a, b;
hereby
assume
A1:
[a, b]
in the
InternalRel of (
DershowitzMannaOrder R);
then
reconsider m = a, n = b as
Element of (
DershowitzMannaOrder R) by
ZFMISC_1: 87;
A5: m
<= n by
A1,
ORDERS_2:def 5;
then
A3: m
<> n & for a be
Element of R st (m
. a)
> (n
. a) holds ex b be
Element of R st a
<= b & (m
. b)
< (n
. b) by
HO;
m
divides n
proof
let a;
assume
A4: (m
. a)
> (n
. a);
a
in (
dom m) by
A4,
FUNCT_1:def 2;
then
reconsider a as
Element of R;
consider b be
Element of R such that
A2: a
<= b & (m
. b)
< (n
. b) by
A5,
HO,
A4;
thus thesis by
Z0,
A2,
ORDERS_2:def 5;
end;
hence
[a, b]
in (
DivOrder the
carrier of R) by
A3,
DO;
end;
(
DivOrder the
carrier of R)
c= the
InternalRel of (
DershowitzMannaOrder R) by
Th16;
hence thesis;
end;
theorem ::
BAGORD_2:31
for R1,R2 be
asymmetric
transitive non
empty
RelStr st the
carrier of R1
= the
carrier of R2 & the
InternalRel of R1
c= the
InternalRel of R2 holds the
InternalRel of (
DershowitzMannaOrder R1)
c= the
InternalRel of (
DershowitzMannaOrder R2)
proof
let R1,R2 be
asymmetric
transitive non
empty
RelStr;
assume
Z0: the
carrier of R1
= the
carrier of R2 & the
InternalRel of R1
c= the
InternalRel of R2;
let a,b be
Element of (
DershowitzMannaOrder R1);
assume
[a, b]
in the
InternalRel of (
DershowitzMannaOrder R1);
then
A3: a
<= b by
ORDERS_2:def 5;
then
A1: a
<> b & for x be
Element of R1 st (a
. x)
> (b
. x) holds ex y be
Element of R1 st x
<= y & (a
. y)
< (b
. y) by
HO;
reconsider b1 = b, a1 = a as
multiset of the
carrier of R1 by
Th1;
reconsider b1, a1 as
Element of (
DershowitzMannaOrder R2) by
Z0,
Th2;
now
let x be
Element of R2;
reconsider x1 = x as
Element of R1 by
Z0;
assume (a1
. x)
> (b1
. x);
then
consider y be
Element of R1 such that
A2: x1
<= y & (a
. y)
< (b
. y) by
A3,
HO;
reconsider y1 = y as
Element of R2 by
Z0;
take y1;
[x1, y]
in the
InternalRel of R1 by
A2,
ORDERS_2:def 5;
hence x
<= y1 & (a1
. y1)
< (b1
. y1) by
Z0,
A2,
ORDERS_2:def 5;
end;
then a1
<= b1 by
A1,
HO;
hence thesis by
ORDERS_2:def 5;
end;
begin
definition
let I;
let f be (
Bags I)
-valued
FinSequence;
::
BAGORD_2:def7
func
Sum f ->
bag of I means
:
SUM: ex F be
Function of
NAT , (
Bags I) st it
= (F
. (
len f)) & (F
.
0 )
= (
EmptyBag I) & for i be
Nat holds for b be
bag of I st i
< (
len f) & b
= (f
. (i
+ 1)) holds (F
. (i
+ 1))
= ((F
. i)
+ b);
existence
proof
defpred
P[
set] means for F be (
Bags I)
-valued
FinSequence st (
len F)
= $1 holds ex u be
bag of I st ex f be
Function of
NAT , (
Bags I) st u
= (f
. (
len F)) & (f
.
0 )
= (
EmptyBag I) & for j be
Nat, v be
bag of I st j
< (
len F) & v
= (F
. (j
+ 1)) holds (f
. (j
+ 1))
= ((f
. j)
+ v);
set V = (
Bags I);
A1: for n be
Nat st
P[n] holds
P[(n
+ 1)]
proof
let n be
Nat;
assume
A2:
P[n];
let F be (
Bags I)
-valued
FinSequence;
A3: (
rng F)
c= (
Bags I) by
RELAT_1:def 19;
then
reconsider F1 = F as
FinSequence of V by
FINSEQ_1:def 4;
reconsider G = (F1
| (
Seg n)) as
FinSequence of V by
FINSEQ_1: 18;
assume
A4: (
len F)
= (n
+ 1);
then (
dom F)
= (
Seg (n
+ 1)) by
FINSEQ_1:def 3;
then (n
+ 1)
in (
dom F) by
FINSEQ_1: 4;
then (F
. (n
+ 1))
in (
rng F) by
FUNCT_1:def 3;
then
reconsider u1 = (F
. (n
+ 1)) as
Element of V by
A3;
A5: n
< (n
+ 1) by
NAT_1: 13;
then
consider u be
bag of I, f be
Function of
NAT , V such that u
= (f
. (
len G)) and
A6: (f
.
0 )
= (
EmptyBag I) and
A7: for j be
Nat, v be
bag of I st j
< (
len G) & v
= (G
. (j
+ 1)) holds (f
. (j
+ 1))
= ((f
. j)
+ v) by
A2,
A4,
FINSEQ_1: 17;
defpred
P[
set,
set] means for j be
Nat st $1
= j holds (j
< (n
+ 1) implies $2
= (f
. $1)) & ((n
+ 1)
<= j implies for u be
bag of I st u
= (F
. (n
+ 1)) holds $2
= ((f
. (
len G))
+ u));
A8: for k be
Element of
NAT holds ex v be
Element of V st
P[k, v]
proof
let k be
Element of
NAT ;
reconsider i = k as
Element of
NAT ;
A9:
now
assume
A10: (n
+ 1)
<= i;
take v = ((f
. (
len G))
+ u1);
let j be
Nat;
assume k
= j;
hence j
< (n
+ 1) implies v
= (f
. k) by
A10;
assume (n
+ 1)
<= j;
let u2 be
bag of I;
assume u2
= (F
. (n
+ 1));
hence v
= ((f
. (
len G))
+ u2);
end;
now
assume
A11: i
< (n
+ 1);
take v = (f
. k);
let j be
Nat such that
A12: k
= j;
thus j
< (n
+ 1) implies v
= (f
. k);
thus (n
+ 1)
<= j implies for u be
bag of I st u
= (F
. (n
+ 1)) holds v
= ((f
. (
len G))
+ u) by
A11,
A12;
end;
then
consider v be
bag of I such that
B13:
P[k, v] by
A9;
v
in V by
PRE_POLY:def 12;
hence thesis by
B13;
end;
consider f9 be
sequence of (
Bags I) such that
A13: for k be
Element of
NAT holds
P[k, (f9
. k)] from
FUNCT_2:sch 3(
A8);
A14: for k be
Nat holds
P[k, (f9
. k)]
proof
let k be
Nat;
k
in
NAT by
ORDINAL1:def 12;
hence thesis by
A13;
end;
take z = (f9
. (n
+ 1));
take f99 = f9;
thus z
= (f99
. (
len F)) by
A4;
thus (f99
.
0 )
= (
EmptyBag I) by
A6,
A14;
let j be
Nat, v be
bag of I;
assume that
A15: j
< (
len F) and
A16: v
= (F
. (j
+ 1));
A17: (
len G)
= n by
A4,
A5,
FINSEQ_1: 17;
A18:
now
assume
A19: j
= n;
then (f99
. (j
+ 1))
= ((f
. j)
+ v) by
A17,
A14,
A16;
hence (f99
. (j
+ 1))
= ((f99
. j)
+ v) by
A5,
A14,
A19;
end;
A20:
now
assume
A21: j
< n;
then
A22: (j
+ 1)
< (n
+ 1) by
XREAL_1: 6;
1
<= (1
+ j) & (j
+ 1)
<= n by
A21,
NAT_1: 11,
NAT_1: 13;
then (j
+ 1)
in (
Seg n);
then
A23: v
= (G
. (j
+ 1)) by
A16,
FUNCT_1: 49;
j
< (
len G) by
A4,
A5,
A21,
FINSEQ_1: 17;
then
A24: (f
. (j
+ 1))
= ((f
. j)
+ v) by
A7,
A23;
j
< (n
+ 1) by
A21,
NAT_1: 13;
then (f
. (j
+ 1))
= ((f9
. j)
+ v) by
A14,
A24;
hence (f99
. (j
+ 1))
= ((f99
. j)
+ v) by
A14,
A22;
end;
j
<= n by
A4,
A15,
NAT_1: 13;
hence (f99
. (j
+ 1))
= ((f99
. j)
+ v) by
A20,
A18,
XXREAL_0: 1;
end;
A25:
P[
0 ]
proof
reconsider f = (
NAT
--> (
EmptyBag I)) as
sequence of (
Bags I);
let F be (
Bags I)
-valued
FinSequence;
assume
A26: (
len F)
=
0 ;
take u = (f
. (
len F));
take f9 = f;
thus u
= (f9
. (
len F)) & (f9
.
0 )
= (
EmptyBag I) by
FUNCOP_1: 7;
let j be
Nat;
let v be
bag of I;
thus j
< (
len F) & v
= (F
. (j
+ 1)) implies (f9
. (j
+ 1))
= ((f9
. j)
+ v) by
A26;
end;
for n be
Nat holds
P[n] from
NAT_1:sch 2(
A25,
A1);
hence thesis;
end;
uniqueness
proof
let v1,v2 be
bag of I;
given F be
Function of
NAT , (
Bags I) such that
A27: v1
= (F
. (
len f)) and
A28: (F
.
0 )
= (
EmptyBag I) and
A29: for j be
Nat, v be
bag of I st j
< (
len f) & v
= (f
. (j
+ 1)) holds (F
. (j
+ 1))
= ((F
. j)
+ v);
given f9 be
Function of
NAT , (
Bags I) such that
A30: v2
= (f9
. (
len f)) and
A31: (f9
.
0 )
= (
EmptyBag I) and
A32: for j be
Nat, v be
bag of I st j
< (
len f) & v
= (f
. (j
+ 1)) holds (f9
. (j
+ 1))
= ((f9
. j)
+ v);
defpred
P[
Nat] means $1
<= (
len f) implies (F
. $1)
= (f9
. $1);
now
A33: (
rng f)
c= (
Bags I) by
RELAT_1:def 19;
let k be
Nat;
assume
A34:
P[k];
assume
A35: (k
+ 1)
<= (
len f);
1
<= (k
+ 1) & (
dom f)
= (
Seg (
len f)) by
FINSEQ_1:def 3,
NAT_1: 11;
then (k
+ 1)
in (
dom f) by
A35;
then (f
. (k
+ 1))
in (
rng f) by
FUNCT_1:def 3;
then
reconsider u1 = (f
. (k
+ 1)) as
Element of (
Bags I) by
A33;
(F
. (k
+ 1))
= ((F
. k)
+ u1) by
A29,
A35,
NAT_1: 13;
hence (F
. (k
+ 1))
= (f9
. (k
+ 1)) by
A32,
A34,
A35,
NAT_1: 13;
end;
then
A37: for k be
Nat st
P[k] holds
P[(k
+ 1)];
A38:
P[
0 ] by
A28,
A31;
for k be
Nat holds
P[k] from
NAT_1:sch 2(
A38,
A37);
hence thesis by
A27,
A30;
end;
end
theorem ::
BAGORD_2:32
Th21: (
Sum (
<*> (
Bags I)))
= (
EmptyBag I)
proof
set f = (
<*> (
Bags I));
consider F be
Function of
NAT , (
Bags I) such that
A1: (
Sum f)
= (F
. (
len f)) and
A2: (F
.
0 )
= (
EmptyBag I) and for i be
Nat holds for b be
bag of I st i
< (
len f) & b
= (f
. (i
+ 1)) holds (F
. (i
+ 1))
= ((F
. i)
+ b) by
SUM;
thus thesis by
A1,
A2;
end;
registration
let I;
let b be
bag of I;
cluster
<*b*> -> (
Bags I)
-valued;
coherence
proof
(
rng
<*b*>)
=
{b} & b
in (
Bags I) by
PRE_POLY:def 12,
FINSEQ_1: 39;
hence thesis by
RELAT_1:def 19,
ZFMISC_1: 31;
end;
end
theorem ::
BAGORD_2:33
Th22: for p be (
Bags I)
-valued
FinSequence, b be
bag of I holds (
Sum (p
^
<*b*>))
= ((
Sum p)
+ b)
proof
let p be (
Bags I)
-valued
FinSequence;
let b be
bag of I;
set f = (p
^
<*b*>);
consider F be
Function of
NAT , (
Bags I) such that
A1: (
Sum f)
= (F
. (
len f)) and
A2: (F
.
0 )
= (
EmptyBag I) and
A3: for i be
Nat holds for b be
bag of I st i
< (
len f) & b
= (f
. (i
+ 1)) holds (F
. (i
+ 1))
= ((F
. i)
+ b) by
SUM;
consider F1 be
Function of
NAT , (
Bags I) such that
A4: (
Sum p)
= (F1
. (
len p)) and
A5: (F1
.
0 )
= (
EmptyBag I) and
A6: for i be
Nat holds for b be
bag of I st i
< (
len p) & b
= (p
. (i
+ 1)) holds (F1
. (i
+ 1))
= ((F1
. i)
+ b) by
SUM;
defpred
P[
Nat] means $1
<= (
len p) implies (F
. $1)
= (F1
. $1);
A7:
P[
0 ] by
A2,
A5;
A8: for i be
Nat st
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
A9:
P[i] & (i
+ 1)
<= (
len p);
then i
< (
len p)
< ((
len p)
+ 1)
= (
len f) by
FINSEQ_2: 16,
NAT_1: 13;
then
A11: i
< (
len f) by
XXREAL_0: 2;
A12: (i
+ 1)
in (
dom p) by
A9,
NAT_1: 11,
FINSEQ_3: 25;
then
reconsider b = (p
. (i
+ 1)) as
Element of (
Bags I) by
FUNCT_1: 102;
(f
. (i
+ 1))
= b by
A12,
FINSEQ_1:def 7;
hence (F
. (i
+ 1))
= ((F
. i)
+ b) by
A3,
A11
.= ((F1
. i)
+ b) by
A9,
NAT_1: 13
.= (F1
. (i
+ 1)) by
A6,
A9,
NAT_1: 13;
end;
for i be
Nat holds
P[i] from
NAT_1:sch 2(
A7,
A8);
then (
Sum p)
= (F
. (
len p)) & (
len p)
< ((
len p)
+ 1)
= (
len f) & (f
. ((
len p)
+ 1))
= b by
A4,
NAT_1: 13,
FINSEQ_2: 16,
FINSEQ_1: 42;
hence (
Sum (p
^
<*b*>))
= ((
Sum p)
+ b) by
A1,
A3;
end;
reserve b for
bag of I;
theorem ::
BAGORD_2:34
Th23: (
Sum
<*b*>)
= b
proof
thus (
Sum
<*b*>)
= (
Sum ((
<*> (
Bags I))
^
<*b*>)) by
FINSEQ_1: 34
.= ((
Sum (
<*> (
Bags I)))
+ b) by
Th22
.= ((
EmptyBag I)
+ b) by
Th21
.= b by
PRE_POLY: 53;
end;
theorem ::
BAGORD_2:35
Th24: for p,q be (
Bags I)
-valued
FinSequence holds (
Sum (p
^ q))
= ((
Sum p)
+ (
Sum q))
proof
let p,q be (
Bags I)
-valued
FinSequence;
set f = (p
^ q);
consider F be
Function of
NAT , (
Bags I) such that
A1: (
Sum f)
= (F
. (
len f)) and
A2: (F
.
0 )
= (
EmptyBag I) and
A3: for i be
Nat holds for b be
bag of I st i
< (
len f) & b
= (f
. (i
+ 1)) holds (F
. (i
+ 1))
= ((F
. i)
+ b) by
SUM;
consider F1 be
Function of
NAT , (
Bags I) such that
A4: (
Sum p)
= (F1
. (
len p)) and
A5: (F1
.
0 )
= (
EmptyBag I) and
A6: for i be
Nat holds for b be
bag of I st i
< (
len p) & b
= (p
. (i
+ 1)) holds (F1
. (i
+ 1))
= ((F1
. i)
+ b) by
SUM;
consider F2 be
Function of
NAT , (
Bags I) such that
B1: (
Sum q)
= (F2
. (
len q)) and
B2: (F2
.
0 )
= (
EmptyBag I) and
B3: for i be
Nat holds for b be
bag of I st i
< (
len q) & b
= (q
. (i
+ 1)) holds (F2
. (i
+ 1))
= ((F2
. i)
+ b) by
SUM;
defpred
P[
Nat] means $1
<= (
len p) implies (F
. $1)
= (F1
. $1);
A7:
P[
0 ] by
A2,
A5;
A8: for i be
Nat st
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
A9:
P[i] & (i
+ 1)
<= (
len p);
then i
< (
len p)
<= ((
len p)
+ (
len q))
= (
len f) by
FINSEQ_1: 22,
NAT_1: 11,
NAT_1: 13;
then
A11: i
< (
len f) by
XXREAL_0: 2;
A12: (i
+ 1)
in (
dom p) by
A9,
NAT_1: 11,
FINSEQ_3: 25;
then
reconsider b = (p
. (i
+ 1)) as
Element of (
Bags I) by
FUNCT_1: 102;
(f
. (i
+ 1))
= b by
A12,
FINSEQ_1:def 7;
hence (F
. (i
+ 1))
= ((F
. i)
+ b) by
A3,
A11
.= ((F1
. i)
+ b) by
A9,
NAT_1: 13
.= (F1
. (i
+ 1)) by
A6,
A9,
NAT_1: 13;
end;
for i be
Nat holds
P[i] from
NAT_1:sch 2(
A7,
A8);
then
A13: (
Sum p)
= (F
. (
len p)) by
A4;
defpred
Q[
Nat] means $1
<= (
len q) implies (F
. ((
len p)
+ $1))
= ((
Sum p)
+ (F2
. $1));
A14:
Q[
0 ] by
A13,
B2,
PRE_POLY: 53;
A15: for i be
Nat st
Q[i] holds
Q[(i
+ 1)]
proof
let i be
Nat;
assume
A9:
Q[i] & (i
+ 1)
<= (
len q);
then
A10: i
< (
len q) & ((
len p)
+ (
len q))
= (
len f) by
FINSEQ_1: 22,
NAT_1: 13;
A12: (i
+ 1)
in (
dom q) by
A9,
NAT_1: 11,
FINSEQ_3: 25;
then
reconsider b = (q
. (i
+ 1)) as
Element of (
Bags I) by
FUNCT_1: 102;
reconsider lp = (
len p) as
Nat;
reconsider lpi = (lp
+ i) as
Nat;
(f
. ((
len p)
+ (i
+ 1)))
= b & ((
len p)
+ (i
+ 1))
= (((
len p)
+ i)
+ 1) by
A12,
FINSEQ_1:def 7;
hence (F
. ((
len p)
+ (i
+ 1)))
= ((F
. lpi)
+ b) by
A3,
A10,
XREAL_1: 6
.= (((
Sum p)
+ (F2
. i))
+ b) by
A9,
NAT_1: 13
.= ((
Sum p)
+ ((F2
. i)
+ b)) by
RFUNCT_1: 8
.= ((
Sum p)
+ (F2
. (i
+ 1))) by
B3,
A9,
NAT_1: 13;
end;
for i be
Nat holds
Q[i] from
NAT_1:sch 2(
A14,
A15);
then (F
. ((
len p)
+ (
len q)))
= ((
Sum p)
+ (
Sum q)) by
B1;
hence (
Sum (p
^ q))
= ((
Sum p)
+ (
Sum q)) by
A1,
FINSEQ_1: 22;
end;
theorem ::
BAGORD_2:36
Th25: for p be (
Bags I)
-valued
FinSequence holds (
Sum (
<*b*>
^ p))
= (b
+ (
Sum p))
proof
let p be (
Bags I)
-valued
FinSequence;
thus (
Sum (
<*b*>
^ p))
= ((
Sum
<*b*>)
+ (
Sum p)) by
Th24
.= (b
+ (
Sum p)) by
Th23;
end;
theorem ::
BAGORD_2:37
Th26: for p be (
Bags I)
-valued
FinSequence st b
in (
rng p) holds b
divides (
Sum p)
proof
let p be (
Bags I)
-valued
FinSequence;
assume b
in (
rng p);
then
consider q,r be
FinSequence such that
A1: p
= ((q
^
<*b*>)
^ r) by
Lem9;
reconsider qb = (q
^
<*b*>), r as (
Bags I)
-valued
FinSequence by
A1,
Lem8;
qb
= qb;
then
reconsider q as (
Bags I)
-valued
FinSequence by
Lem8;
(
Sum p)
= ((
Sum (q
^
<*b*>))
+ (
Sum r))
= (((
Sum q)
+ b)
+ (
Sum r))
= (((
Sum r)
+ (
Sum q))
+ b) by
A1,
Th22,
Th24,
RFUNCT_1: 8;
hence b
divides (
Sum p) by
PRE_POLY: 50;
end;
theorem ::
BAGORD_2:38
Th27: for p be (
Bags I)
-valued
FinSequence, i be
object st i
in (
support (
Sum p)) holds ex b st b
in (
rng p) & i
in (
support b)
proof
defpred
P[
Nat] means for p be (
Bags I)
-valued
FinSequence st (
len p)
= $1 holds for i be
object st i
in (
support (
Sum p)) holds ex b st b
in (
rng p) & i
in (
support b);
A1:
P[
0 ]
proof
let p be (
Bags I)
-valued
FinSequence such that
A2: (
len p)
=
0 ;
let i be
object;
assume
Z0: i
in (
support (
Sum p));
p
=
{}
= (
<*> (
Bags I)) by
A2;
then i
in (
support (
EmptyBag I)) by
Z0,
Th21;
hence thesis;
end;
A3: for j be
Nat st
P[j] holds
P[(j
+ 1)]
proof
let j be
Nat;
assume
A4:
P[j];
let p be (
Bags I)
-valued
FinSequence such that
A2: (
len p)
= (j
+ 1);
consider w be
FinSequence, x be
set such that
A5: p
= (w
^
<*x*>) & (
len w)
= j by
A2,
TREES_2: 3;
reconsider w, xx =
<*x*> as (
Bags I)
-valued
FinSequence by
A5,
Lem8;
(
len xx)
= 1 by
FINSEQ_1: 40;
then 1
in (
dom xx) by
FINSEQ_3: 25;
then x
= (xx
. 1)
in (
Bags I) by
FUNCT_1: 102,
FINSEQ_1: 40;
then
reconsider x as
Element of (
Bags I);
(
Sum p)
= ((
Sum w)
+ x) by
A5,
Th22;
then
A6: (
support (
Sum p))
= ((
support (
Sum w))
\/ (
support x)) by
PRE_POLY: 38;
let i be
object;
assume i
in (
support (
Sum p));
per cases by
A6,
XBOOLE_0:def 3;
suppose i
in (
support (
Sum w));
then
consider b such that
A7: b
in (
rng w) & i
in (
support b) by
A4,
A5;
take b;
(
rng p)
= ((
rng w)
\/ (
rng xx)) by
A5,
FINSEQ_1: 31;
hence thesis by
A7,
XBOOLE_0:def 3;
end;
suppose
A8: i
in (
support x);
take b = x;
(
rng p)
= ((
rng w)
\/ (
rng xx)) & x
in
{x}
= (
rng xx) by
A5,
FINSEQ_1: 31,
FINSEQ_1: 39,
TARSKI:def 1;
hence thesis by
A8,
XBOOLE_0:def 3;
end;
end;
let p be (
Bags I)
-valued
FinSequence;
for j be
Nat holds
P[j] from
NAT_1:sch 2(
A1,
A3);
then
P[(
len p)];
hence thesis;
end;
definition
let I, b;
::
BAGORD_2:def8
mode
partition of b -> (
Bags I)
-valued
FinSequence means
:
PART: b
= (
Sum it );
existence
proof
take
<*b*>;
thus thesis by
Th23;
end;
end
definition
let I, b;
:: original:
<*
redefine
func
<*b*> ->
partition of b ;
coherence
proof
thus b
= (
Sum
<*b*>) by
Th23;
end;
end
definition
let R be
RelStr;
let M be
RelExtension of (
finite-MultiSet_over the
carrier of R);
let b be
Element of M;
let p be
partition of b;
::
BAGORD_2:def9
attr p is
co-ordered means for i be
Nat st i
in (
dom p) & (i
+ 1)
in (
dom p) holds for b1,b2 be
Element of M st b1
= (p
. i) & b2
= (p
. (i
+ 1)) holds b2
<= b1;
end
definition
let R be non
empty
RelStr;
let b be
bag of the
carrier of R;
let p be
partition of b;
::
BAGORD_2:def10
attr p is
ordered means (for m be
bag of the
carrier of R st m
in (
rng p) holds for x be
Element of R st (m
. x)
>
0 holds (m
. x)
= (b
. x)) & (for m be
bag of the
carrier of R st m
in (
rng p) holds for x,y be
Element of R st (m
. x)
>
0 & (m
. y)
>
0 & x
<> y holds x
## y) & (for m be
bag of the
carrier of R st m
in (
rng p) holds m
<> (
EmptyBag the
carrier of R)) & (for i be
Nat st i
in (
dom p) & (i
+ 1)
in (
dom p) holds for x be
Element of R st ((p
/. (i
+ 1))
. x)
>
0 holds ex y be
Element of R st ((p
/. i)
. y)
>
0 & x
<= y);
end
reserve R for
asymmetric
transitive non
empty
RelStr,
a,b,c for
bag of the
carrier of R,
x,y,z for
Element of R;
theorem ::
BAGORD_2:39
<*a*> is
ordered iff a
<> (
EmptyBag the
carrier of R) & for x, y st (a
. x)
>
0 & (a
. y)
>
0 & x
<> y holds x
## y
proof
hereby
assume
Z0:
<*a*> is
ordered;
a
in
{a}
= (
rng
<*a*>) by
TARSKI:def 1,
FINSEQ_1: 39;
hence a
<> (
EmptyBag the
carrier of R) & for x, y st (a
. x)
>
0 & (a
. y)
>
0 & x
<> y holds x
## y by
Z0;
end;
assume
Z3: a
<> (
EmptyBag the
carrier of R);
assume
Z4: for x, y st (a
. x)
>
0 & (a
. y)
>
0 & x
<> y holds x
## y;
set p =
<*a*>;
hereby
let m be
bag of the
carrier of R;
assume m
in (
rng p);
then m
in
{a} by
FINSEQ_1: 39;
hence for x be
Element of R st (m
. x)
>
0 holds (m
. x)
= (a
. x) by
TARSKI:def 1;
end;
hereby
let m be
bag of the
carrier of R;
assume m
in (
rng p);
then m
in
{a} by
FINSEQ_1: 39;
then m
= a by
TARSKI:def 1;
hence for x,y be
Element of R st (m
. x)
>
0 & (m
. y)
>
0 & x
<> y holds x
## y by
Z4;
end;
hereby
let m be
bag of the
carrier of R;
assume m
in (
rng p);
then m
in
{a} by
FINSEQ_1: 39;
hence m
<> (
EmptyBag the
carrier of R) by
Z3,
TARSKI:def 1;
end;
let i be
Nat;
assume i
in (
dom p) & (i
+ 1)
in (
dom p);
then 1
<= i
< (i
+ 1)
<= (
len p)
= 1 by
FINSEQ_1: 40,
FINSEQ_3: 25,
NAT_1: 13;
hence thesis by
XXREAL_0: 2;
end;
theorem ::
BAGORD_2:40
Th28: for p be (
Bags I)
-valued
FinSequence holds for a,b be
bag of I holds (
<*a*>
^ p) is
partition of b iff a
divides b & p is
partition of (b
-' a)
proof
let p be (
Bags I)
-valued
FinSequence;
let a,b be
bag of I;
thus (
<*a*>
^ p) is
partition of b implies a
divides b & p is
partition of (b
-' a)
proof
assume b
= (
Sum (
<*a*>
^ p));
then
A1: b
= (a
+ (
Sum p)) by
Th25;
hence a
divides b by
PRE_POLY: 50;
thus (b
-' a)
= (
Sum p) by
A1,
PRE_POLY: 48;
end;
assume
Z1: a
divides b;
assume (b
-' a)
= (
Sum p);
then ((
Sum p)
+ a)
= ((b
-' a)
+ a)
= b by
Z1,
PRE_POLY: 47;
hence b
= (
Sum (
<*a*>
^ p)) by
Th25;
end;
reserve p for
partition of (b
-' a),
q for
partition of b;
theorem ::
BAGORD_2:41
Th30: q
= (
<*a*>
^ p) & q is
ordered implies p is
ordered
proof
assume
Z1: q
= (
<*a*>
^ p);
assume
Z2: q is
ordered;
hereby
let m be
bag of the
carrier of R;
assume
A0: m
in (
rng p);
then
A1: m
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
XBOOLE_0:def 3,
FINSEQ_1: 31;
let x be
Element of R;
assume
A2: (m
. x)
>
0 ;
m
divides (
Sum p)
= (b
-' a)
divides b by
A0,
Th26,
PART,
Lem3;
then (b
. x)
= (m
. x)
<= ((b
-' a)
. x)
<= (b
. x) by
A1,
A2,
Z2,
PRE_POLY:def 11;
hence (m
. x)
= ((b
-' a)
. x) by
XXREAL_0: 1;
end;
hereby
let m be
bag of the
carrier of R;
assume m
in (
rng p);
then m
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
FINSEQ_1: 31,
XBOOLE_0:def 3;
hence for x,y be
Element of R st (m
. x)
>
0 & (m
. y)
>
0 & x
<> y holds x
## y by
Z2;
end;
hereby
let m be
bag of the
carrier of R;
assume m
in (
rng p);
then m
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
FINSEQ_1: 31,
XBOOLE_0:def 3;
hence m
<> (
EmptyBag the
carrier of R) by
Z2;
end;
let i be
Nat;
assume
A1: i
in (
dom p) & (i
+ 1)
in (
dom p);
A2: (
len
<*a*>)
= 1 by
FINSEQ_1: 40;
then
A3: (q
. (1
+ i))
= (p
. i) & (q
. (1
+ (i
+ 1)))
= (p
. (i
+ 1)) by
Z1,
A1,
FINSEQ_1:def 7;
A4: (1
+ i)
in (
dom q) & ((1
+ i)
+ 1)
= (1
+ (i
+ 1))
in (
dom q) by
Z1,
A1,
A2,
FINSEQ_1: 28;
then (q
. (1
+ i))
= (q
/. (1
+ i)) & (p
/. i)
= (p
. i) & (q
. (1
+ (i
+ 1)))
= (q
/. ((1
+ i)
+ 1)) & (p
. (i
+ 1))
= (p
/. (i
+ 1)) by
A1,
PARTFUN1:def 6;
hence thesis by
Z2,
A3,
A4;
end;
definition
let I;
let m be
bag of I;
let J be
set;
::
BAGORD_2:def11
func m
| J ->
bag of I means
:
BAR: for i be
object st i
in I holds (i
in J implies (it
. i)
= (m
. i)) & ( not i
in J implies (it
. i)
=
0 );
existence
proof
defpred
C[
object] means $1
in J;
deffunc
F(
object) = (m
. $1);
deffunc
G(
object) =
0 ;
consider f be
Function such that
A1: (
dom f)
= I & for x be
object st x
in I holds (
C[x] implies (f
. x)
=
F(x)) & ( not
C[x] implies (f
. x)
=
G(x)) from
PARTFUN1:sch 1;
(
rng f)
c=
NAT
proof
let x be
object;
assume x
in (
rng f);
then
consider i be
object such that
A2: i
in (
dom f) & x
= (f
. i) by
FUNCT_1:def 3;
x
=
F(i) or x
=
G(i) by
A1,
A2;
hence thesis by
ORDINAL1:def 12;
end;
then
reconsider f as
Function of I,
NAT by
A1,
FUNCT_2: 2;
f is
finite-support
proof
(
support f)
c= (
support m)
proof
let x be
object;
assume x
in (
support f);
then
A3: (f
. x)
<>
0 by
PRE_POLY:def 7;
then x
in (
dom f) by
FUNCT_1:def 2;
then (f
. x)
= (m
. x) by
A1,
A3;
hence thesis by
A3,
PRE_POLY:def 7;
end;
hence (
support f) is
finite;
end;
then
reconsider f as
bag of I;
take f;
thus thesis by
A1;
end;
uniqueness
proof
let b1,b2 be
bag of I such that
A1: for i be
object st i
in I holds (i
in J implies (b1
. i)
= (m
. i)) & ( not i
in J implies (b1
. i)
=
0 ) and
A2: for i be
object st i
in I holds (i
in J implies (b2
. i)
= (m
. i)) & ( not i
in J implies (b2
. i)
=
0 );
let i be
object;
assume
A3: i
in I;
per cases ;
suppose i
in J;
then (b1
. i)
= (m
. i)
= (b2
. i) by
A1,
A2,
A3;
hence thesis;
end;
suppose not i
in J;
then (b1
. i)
=
0
= (b2
. i) by
A1,
A2,
A3;
hence thesis;
end;
end;
end
reserve J for
set,
m for
bag of I;
theorem ::
BAGORD_2:42
Th44: (
support (m
| J))
= (J
/\ (
support m))
proof
set f = (m
| J);
thus (
support f)
c= (J
/\ (
support m))
proof
let x be
object;
assume x
in (
support f);
then
A3: (f
. x)
<>
0 by
PRE_POLY:def 7;
then
A4: x
in (
dom f)
= I by
PARTFUN1:def 2,
FUNCT_1:def 2;
then
A5: x
in J by
BAR,
A3;
then (f
. x)
= (m
. x) by
BAR,
A4;
then x
in (
support m) by
A3,
PRE_POLY:def 7;
hence thesis by
A5,
XBOOLE_0:def 4;
end;
let x be
object;
assume x
in (J
/\ (
support m));
then
A1: x
in J & x
in (
support m) by
XBOOLE_0:def 4;
then
A2: (m
. x)
<>
0 by
PRE_POLY:def 7;
then x
in (
dom m)
= I by
PARTFUN1:def 2,
FUNCT_1:def 2;
then (f
. x)
= (m
. x) by
A1,
BAR;
hence thesis by
A2,
PRE_POLY:def 7;
end;
theorem ::
BAGORD_2:43
((m
| J)
+ (m
| (I
\ J)))
= m
proof
let i be
object;
assume
A1: i
in I;
A3: (((m
| J)
+ (m
| (I
\ J)))
. i)
= (((m
| J)
. i)
+ ((m
| (I
\ J))
. i)) by
PRE_POLY:def 5;
per cases ;
suppose
A2: i
in J;
then not i
in (I
\ J) by
XBOOLE_0:def 5;
then ((m
| J)
. i)
= (m
. i) & ((m
| (I
\ J))
. i)
=
0 by
A1,
A2,
BAR;
hence thesis by
A3;
end;
suppose
A2: not i
in J;
then i
in (I
\ J) by
A1,
XBOOLE_0:def 5;
then ((m
| J)
. i)
=
0 & ((m
| (I
\ J))
. i)
= (m
. i) by
A2,
BAR;
hence thesis by
A3;
end;
end;
theorem ::
BAGORD_2:44
Th43: (m
| J)
divides m
proof
let i be
object;
per cases ;
suppose
A1: not i
in I;
(
dom (m
| J))
= I & (
dom m)
= I by
PARTFUN1:def 2;
hence thesis by
A1,
FUNCT_1:def 2;
end;
suppose
A2: i
in I;
per cases ;
suppose i
in J;
hence thesis by
A2,
BAR;
end;
suppose not i
in J;
hence thesis by
A2,
BAR;
end;
end;
end;
theorem ::
BAGORD_2:45
(
support m)
c= J implies (m
| J)
= m
proof
assume
A1: (
support m)
c= J;
let i be
object;
assume
A2: i
in I;
per cases ;
suppose i
in J;
hence thesis by
A2,
BAR;
end;
suppose not i
in J;
then ((m
| J)
. i)
=
0 & not i
in (
support m) by
A1,
A2,
BAR;
hence thesis by
PRE_POLY:def 7;
end;
end;
theorem ::
BAGORD_2:46
Th27A: (
support (m
-' (m
| J)))
= ((
support m)
\ J)
proof
thus (
support (m
-' (m
| J)))
c= ((
support m)
\ J)
proof
let x be
object;
assume x
in (
support (m
-' (m
| J)));
then ((m
-' (m
| J))
. x)
<>
0 by
PRE_POLY:def 7;
then ((m
. x)
-' ((m
| J)
. x))
<>
0 by
PRE_POLY:def 6;
then ((m
. x)
-' ((m
| J)
. x))
>
0 ;
then ((m
. x)
- ((m
| J)
. x))
>
0 by
XREAL_0:def 2;
then (m
. x)
> ((m
| J)
. x) by
XREAL_1: 47;
then (m
. x)
<> ((m
| J)
. x) & x
in (
dom m)
= I & (m
. x)
>
0 by
PARTFUN1:def 2,
FUNCT_1:def 2;
then not x
in J & x
in (
support m) by
BAR,
PRE_POLY:def 7;
hence x
in ((
support m)
\ J) by
XBOOLE_0:def 5;
end;
let x be
object;
assume x
in ((
support m)
\ J);
then
A1: x
in (
support m) & not x
in J by
XBOOLE_0:def 5;
then
A2: (m
. x)
<>
0 by
PRE_POLY:def 7;
then x
in (
dom m)
= I by
PARTFUN1:def 2,
FUNCT_1:def 2;
then ((m
| J)
. x)
=
0 by
A1,
BAR;
then ((m
-' (m
| J))
. x)
= ((m
. x)
-' ((m
| J)
. x))
<>
0 by
A2,
NAT_D: 40,
PRE_POLY:def 6;
hence thesis by
PRE_POLY:def 7;
end;
theorem ::
BAGORD_2:47
Th31: q is
ordered & q
= (
<*a*>
^ p) & (a
. x)
>
0 implies (a
. x)
= (b
. x)
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
assume
Z2: (a
. x)
>
0 ;
a
in
{a}
= (
rng
<*a*>) by
TARSKI:def 1,
FINSEQ_1: 39;
then a
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
XBOOLE_0:def 3,
FINSEQ_1: 31;
hence thesis by
Z0,
Z2;
end;
theorem ::
BAGORD_2:48
Th32: q is
ordered & q
= (
<*a*>
^ p) & (a
. x)
>
0 & (a
. y)
>
0 & x
<> y implies x
## y
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
assume
Z2: (a
. x)
>
0 & (a
. y)
>
0 ;
a
in
{a}
= (
rng
<*a*>) by
TARSKI:def 1,
FINSEQ_1: 39;
then a
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
XBOOLE_0:def 3,
FINSEQ_1: 31;
hence thesis by
Z0,
Z2;
end;
theorem ::
BAGORD_2:49
Th32A: q is
ordered & q
= (
<*a*>
^ p) implies a
<> (
EmptyBag the
carrier of R)
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
a
in
{a}
= (
rng
<*a*>) by
TARSKI:def 1,
FINSEQ_1: 39;
then a
in ((
rng
<*a*>)
\/ (
rng p))
= (
rng q) by
Z1,
XBOOLE_0:def 3,
FINSEQ_1: 31;
hence thesis by
Z0;
end;
theorem ::
BAGORD_2:50
for c be
bag of the
carrier of R, r be (
Bags the
carrier of R)
-valued
FinSequence st q is
ordered & q
= (
<*a, c*>
^ r) & (c
. y)
>
0 holds ex x st (a
. x)
>
0 & y
<= x
proof
let c be
bag of the
carrier of R;
let r be (
Bags the
carrier of R)
-valued
FinSequence;
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a, c*>
^ r);
assume
Z2: (c
. y)
>
0 ;
(
len
<*a, c*>)
= 2 by
FINSEQ_1: 44;
then
A1: 1
in (
dom
<*a, c*>) & 2
in (
dom
<*a, c*>) & (
dom
<*a, c*>)
c= (
dom q) by
Z1,
FINSEQ_1: 26,
FINSEQ_3: 25;
(q
/. 1)
= (q
. 1)
= (
<*a, c*>
. 1)
= a & (q
/. (1
+ 1))
= (q
. 2)
= (
<*a, c*>
. 2)
= c by
Z1,
A1,
PARTFUN1:def 6,
FINSEQ_1:def 7,
FINSEQ_1: 44;
hence thesis by
Z0,
Z2,
A1;
end;
theorem ::
BAGORD_2:51
x
in I & (for y st y
in I & y
<> x holds x
## y) implies x
is_maximal_in I
proof
assume
Z0: x
in I;
assume
Z1: for y st y
in I & y
<> x holds x
## y;
not ex y st y
in I & x
< y
proof
let y;
assume y
in I & x
<= y & x
<> y;
then x
## y & x
<= y by
Z1;
hence contradiction;
end;
hence x
is_maximal_in I by
Z0,
WAYBEL_4: 55;
end;
theorem ::
BAGORD_2:52
Th36: q is
ordered & q
= (
<*a*>
^ p) & c
in (
rng p) & (c
. x)
>
0 implies ex y st (a
. y)
>
0 & x
<= y
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
assume c
in (
rng p);
then
consider i be
object such that
A1: i
in (
dom p) & c
= (p
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A1;
A2: 1
<= i & (p
. i)
= (p
/. i) by
A1,
FINSEQ_3: 25,
PARTFUN1:def 6;
defpred
P[
Nat] means $1
in (
dom p) implies for x st ((p
/. $1)
. x)
>
0 holds ex y st (a
. y)
>
0 & x
<= y;
A5: (
len
<*a*>)
= 1 & (
dom
<*a*>)
c= (
dom q) by
Z1,
FINSEQ_1: 26,
FINSEQ_1: 40;
A3:
P[1]
proof
assume
A4: 1
in (
dom p);
then
A6: (1
+ 1)
in (
dom q) by
Z1,
A5,
FINSEQ_1: 28;
B0: 1
in (
dom
<*a*>) by
A5,
FINSEQ_3: 25;
then 1
in (
dom q) & (q
. 1)
= (
<*a*>
. 1)
= a by
Z1,
A5,
FINSEQ_1:def 7,
FINSEQ_1: 40;
then (q
/. 1)
= a & (q
/. 2)
= (q
. 2)
= (p
. 1)
= (p
/. 1) by
Z1,
A4,
A5,
A6,
FINSEQ_1:def 7,
PARTFUN1:def 6;
hence thesis by
Z0,
A6,
A5,
B0;
end;
A8: for i be
Nat st i
>= 1 &
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
B1: i
>= 1 &
P[i] & (i
+ 1)
in (
dom p);
then i
< (i
+ 1)
<= (
len p) by
NAT_1: 13,
FINSEQ_3: 25;
then
BB: i
<= (
len p) by
XXREAL_0: 2;
then
B3: i
in (
dom p) by
B1,
FINSEQ_3: 25;
B4: (1
+ i)
in (
dom q) & ((1
+ i)
+ 1)
in (
dom q) by
Z1,
A5,
B1,
BB,
FINSEQ_3: 25,
FINSEQ_1: 28;
B5: (q
/. (1
+ i))
= (q
. (1
+ i))
= (p
. i)
= (p
/. i) & (q
/. ((1
+ i)
+ 1))
= (q
. ((1
+ i)
+ 1))
= (p
. (i
+ 1))
= (p
/. (i
+ 1)) by
Z1,
A5,
B1,
B3,
FINSEQ_1: 28,
FINSEQ_1:def 7,
PARTFUN1:def 6;
let x;
assume ((p
/. (i
+ 1))
. x)
>
0 ;
then
consider y such that
B6: ((p
/. i)
. y)
>
0 & x
<= y by
Z0,
B4,
B5;
consider z such that
B7: (a
. z)
>
0 & y
<= z by
BB,
B1,
FINSEQ_3: 25,
B6;
take z;
thus (a
. z)
>
0 & x
<= z by
B6,
B7,
ORDERS_2: 3;
end;
for i be
Nat st i
>= 1 holds
P[i] from
NAT_1:sch 8(
A3,
A8);
hence thesis by
A1,
A2;
end;
theorem ::
BAGORD_2:53
Th34: q is
ordered & q
= (
<*a*>
^ p) implies (x
is_maximal_in (
support b) iff (a
. x)
>
0 )
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
(
rng p)
c= (
Bags the
carrier of R) by
RELAT_1:def 19;
then
reconsider p as
FinSequence of (
Bags the
carrier of R) by
FINSEQ_1:def 4;
set I = the
carrier of R;
hereby
assume x
is_maximal_in (
support b);
then
A7: x
in (
support b) & not ex y st y
in (
support b) & x
< y by
WAYBEL_4: 55;
then x
in (
support (
Sum q)) by
PART;
then
consider d be
bag of the
carrier of R such that
A8: d
in (
rng q) & x
in (
support d) by
Th27;
consider i be
object such that
A9: i
in (
dom q) & d
= (q
. i) by
A8,
FUNCT_1:def 3;
reconsider i as
Nat by
A9;
1
<= i by
A9,
FINSEQ_3: 25;
per cases by
XXREAL_0: 1;
suppose i
= 1;
then d
= a by
Z1,
A9,
FINSEQ_1: 41;
then (a
. x)
<>
0 by
A8,
PRE_POLY:def 7;
hence (a
. x)
>
0 ;
end;
suppose i
> 1;
then i
>= (1
+ 1) by
NAT_1: 13;
then
consider k be
Nat such that
A10: i
= ((1
+ 1)
+ k) by
NAT_1: 10;
1
<= (1
+ k)
<= ((1
+ k)
+ 1)
= i
<= (
len q) by
A9,
A10,
NAT_1: 11,
FINSEQ_3: 25;
then 1
<= (1
+ k)
<= (
len q) by
XXREAL_0: 2;
then
A11: (1
+ k)
in (
dom q) by
FINSEQ_3: 25;
then
A12: (q
/. i)
= (q
. i) & (q
/. (1
+ k))
= (q
. (1
+ k)) by
A9,
PARTFUN1:def 6;
(d
. x)
<>
0 by
A8,
PRE_POLY:def 7;
then (d
. x)
>
0 & i
= ((1
+ k)
+ 1) by
A10;
then
consider y such that
A13: ((q
/. (1
+ k))
. y)
>
0 & x
<= y by
Z0,
A9,
A11,
A12;
(q
. (1
+ k))
in (
rng q) by
A11,
FUNCT_1:def 3;
then y
in (
support (q
/. (1
+ k)))
c= (
support (
Sum q))
= (
support b) by
A13,
A12,
Th26,
PART,
BAGORDER: 21,
PRE_POLY:def 7;
hence (a
. x)
>
0 by
A7,
A13,
Lem2;
end;
end;
assume
B0: (a
. x)
>
0 ;
then
B1: x
in (
support a) by
PRE_POLY:def 7;
a
in
{a}
= (
rng
<*a*>)
c= (
rng q) by
Z1,
TARSKI:def 1,
FINSEQ_1: 39,
FINSEQ_1: 29;
then
B4: a
divides (
Sum q)
= b by
Th26,
PART;
then
AA: (
support a)
c= (
support b) by
BAGORDER: 21;
not ex y st y
in (
support b) & x
< y
proof
let y;
assume
B3: y
in (
support b) & x
<= y & x
<> y;
per cases ;
suppose (a
. y)
>
0 ;
then x
## y by
Z0,
Z1,
B0,
B3,
Th32;
hence contradiction by
B3;
end;
suppose
B5: (a
. y)
=
0 ;
consider d be
bag of the
carrier of R such that
B6: d
in (
rng q) & y
in (
support d) by
B4,
B3,
Th27;
B7: (d
. y)
<>
0 by
B6,
PRE_POLY:def 7;
then not d
in
{a} &
{a}
= (
rng
<*a*>) & (
rng q)
= ((
rng
<*a*>)
\/ (
rng p)) by
Z1,
B5,
TARSKI:def 1,
FINSEQ_1: 31,
FINSEQ_1: 39;
then (d
. y)
>
0 & d
in (
rng p) by
B6,
B7,
XBOOLE_0:def 3;
then
consider z such that
B8: (a
. z)
>
0 & y
<= z by
Z0,
Z1,
Th36;
x
<= z & x
## z by
Z0,
Z1,
B0,
B3,
B8,
ORDERS_2: 3,
Th32;
hence contradiction;
end;
end;
hence x
is_maximal_in (
support b) by
B1,
AA,
WAYBEL_4: 55;
end;
theorem ::
BAGORD_2:54
Th40: q is
ordered & q
= (
<*a*>
^ p) implies a
= (b
| { x : x
is_maximal_in (
support b) })
proof
assume
Z0: q is
ordered;
assume
Z1: q
= (
<*a*>
^ p);
let y;
set J = { x : x
is_maximal_in (
support b) };
per cases ;
suppose
A0: y
in J;
then
consider x such that
A1: y
= x & x
is_maximal_in (
support b);
(a
. y)
>
0 by
Z0,
Z1,
A1,
Th34;
hence (a
. y)
= (b
. y) by
Z0,
Z1,
Th31
.= ((b
| J)
. y) by
A0,
BAR;
end;
suppose
A2: not y
in J;
then not y
is_maximal_in (
support b);
then (a
. y)
<=
0 by
Z0,
Z1,
Th34;
hence (a
. y)
=
0
.= ((b
| J)
. y) by
A2,
BAR;
end;
end;
theorem ::
BAGORD_2:55
Lem10: for p be (
Bags I)
-valued
FinSequence st (
Sum p)
= (
EmptyBag I) & for a be
bag of I st a
in (
rng p) holds a
<> (
EmptyBag I) holds p
=
{}
proof
let p be (
Bags I)
-valued
FinSequence;
assume
Z0: (
Sum p)
= (
EmptyBag I);
assume
Z1: for a be
bag of I st a
in (
rng p) holds a
<> (
EmptyBag I);
assume p
<>
{} ;
then
consider a be
object such that
A1: a
in (
rng p) by
XBOOLE_0: 7;
(
rng p)
c= (
Bags I) by
RELAT_1:def 19;
then
reconsider a as
Element of (
Bags I) by
A1;
consider x be
object such that
A2: x
in I & (a
. x)
<> ((
EmptyBag I)
. x) by
A1,
Z1,
PBOOLE:def 10;
A4: ((
EmptyBag I)
. x)
=
0 by
A2,
FUNCOP_1: 7;
then
A3: (a
. x)
>
0 by
A2;
thus thesis by
A4,
A3,
Z0,
A1,
Th26,
PRE_POLY:def 11;
end;
theorem ::
BAGORD_2:56
Lem11: for a,b be
bag of I st a
<> (
EmptyBag I) holds (a
+ b)
<> (
EmptyBag I)
proof
let a,b be
bag of I;
given i be
object such that
A1: i
in I & (a
. i)
<> ((
EmptyBag I)
. i);
take i;
thus i
in I by
A1;
((
EmptyBag I)
. i)
=
0 by
A1,
FUNCOP_1: 7;
then ((a
. i)
+ (b
. i))
<> ((
EmptyBag I)
. i) by
A1;
hence thesis by
PRE_POLY:def 5;
end;
theorem ::
BAGORD_2:57
for p,q be
partition of b st p is
ordered & q is
ordered holds p
= q
proof
let p,q be
partition of b;
defpred
P[
Nat] means for b, q st (
len q)
= $1 & q is
ordered holds for p be
partition of b st p is
ordered holds q
= p;
A1:
P[
0 ]
proof
let b, q;
assume (
len q)
=
0 & q is
ordered;
then
A3: b
= (
Sum q) & (
Sum (
<*> (
Bags the
carrier of R)))
= (
EmptyBag the
carrier of R) & q
=
{} by
PART,
Th21;
let p be
partition of b;
assume
A4: p is
ordered;
(
Sum p)
= b by
PART;
hence q
= p by
A3,
A4,
Lem10;
end;
A5: for i be
Nat st
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
A6:
P[i];
let b, q;
assume
A7: (
len q)
= (i
+ 1) & q is
ordered;
then q
<>
{} & q is
FinSequence of (
Bags the
carrier of R) by
RELAT_1:def 19,
FINSEQ_1:def 4;
then
consider w be
FinSequence of (
Bags the
carrier of R), n be
Element of (
Bags the
carrier of R) such that
A8: q
= (
<*n*>
^ w) by
FINSEQ_2: 130;
reconsider w as
partition of (b
-' n) by
A8,
Th28;
A9: b
= (
Sum q)
= (n
+ (
Sum w))
<> (
EmptyBag the
carrier of R) by
A8,
A7,
Th32A,
Th25,
Lem11,
PART;
let p be
partition of b;
assume
A10: p is
ordered;
(
Sum p)
= b & (
rng p)
c= (
Bags the
carrier of R) by
PART,
RELAT_1:def 19;
then p
<> (
<*> (
Bags the
carrier of R)) & p is
FinSequence of (
Bags the
carrier of R) by
A9,
Th21,
FINSEQ_1:def 4;
then
consider u be
FinSequence of (
Bags the
carrier of R), m be
Element of (
Bags the
carrier of R) such that
A11: p
= (
<*m*>
^ u) by
FINSEQ_2: 130;
reconsider u as
partition of (b
-' m) by
A11,
Th28;
u
= u & w
= w;
then
A12: m
= (b
| { x : x
is_maximal_in (
support b) })
= n by
A10,
A11,
A7,
A8,
Th40;
A13: w is
ordered & u is
ordered by
A10,
A11,
A7,
A8,
Th30;
(
len q)
= ((
len
<*n*>)
+ (
len w))
= (1
+ (
len w)) by
A8,
FINSEQ_1: 22,
FINSEQ_1: 40;
hence thesis by
A6,
A7,
A8,
A11,
A12,
A13;
end;
for i be
Nat holds
P[i] from
NAT_1:sch 2(
A1,
A5);
then
P[(
len p)];
hence thesis;
end;
definition
let I;
let a,b be
bag of I;
:: original:
[
redefine
func
[a,b] ->
Element of
[:(
Bags I), (
Bags I):] ;
coherence
proof
a
in (
Bags I) & b
in (
Bags I) by
PRE_POLY:def 12;
hence thesis by
ZFMISC_1: 87;
end;
end
theorem ::
BAGORD_2:58
Th42: a
<> (
EmptyBag the
carrier of R) implies { x : x
is_maximal_in (
support a) }
<>
{}
proof
set I = the
carrier of R;
given x such that
A1: (a
. x)
<> ((
EmptyBag I)
. x);
((
EmptyBag I)
. x)
=
0 by
FUNCOP_1: 7;
then x
in (
support a) by
A1,
PRE_POLY:def 7;
then
consider x such that
A2: x
is_maximal_in (
support a) by
Th12;
x
in { y : y
is_maximal_in (
support a) } by
A2;
hence thesis;
end;
definition
let R, b;
::
BAGORD_2:def12
func
OrderedPartition b -> (
Bags the
carrier of R)
-valued
FinSequence means
:
OP: ex F,G be
Function of
NAT , (
Bags the
carrier of R) st (F
.
0 )
= b & (G
.
0 )
= (
EmptyBag the
carrier of R) & (for i be
Nat holds (G
. (i
+ 1))
= ((F
. i)
| { x : x
is_maximal_in (
support (F
. i)) }) & (F
. (i
+ 1))
= ((F
. i)
-' (G
. (i
+ 1)))) & ex i be
Nat st (F
. i)
= (
EmptyBag the
carrier of R) & it
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> (
EmptyBag the
carrier of R);
existence
proof
set I = the
carrier of R;
deffunc
S(
bag of I) = { x : x
is_maximal_in (
support $1) };
deffunc
h(
Nat,
Element of
[:(
Bags I), (
Bags I):]) =
[(($2
`1 )
-' (($2
`1 )
|
S(`1))), (($2
`1 )
|
S(`1))];
consider f be
Function of
NAT ,
[:(
Bags I), (
Bags I):] such that
A1: (f
.
0 )
=
[b, (
EmptyBag I)] & for i be
Nat holds (f
. (i
+ 1))
=
h(i,.) from
NAT_1:sch 12;
defpred
P[
Nat] means ex i be
Nat st (
card (
support ((f
. i)
`1 )))
= $1;
defpred
Q[
Nat] means (
card (
support ((f
. $1)
`1 )))
=
0 ;
A2: ex k be
Nat st
P[k]
proof
take k = (
card (
support ((f
.
0 )
`1 )));
take i =
0 ;
thus thesis;
end;
A3: for k be
Nat st k
<>
0 &
P[k] holds ex n be
Nat st n
< k &
P[n]
proof
let k be
Nat;
assume
Z0: k
<>
0 ;
given i be
Nat such that
Z1: (
card (
support ((f
. i)
`1 )))
= k;
((f
. i)
`1 )
<> (
EmptyBag I) by
Z0,
Z1;
then
B1:
S(`1)
<>
{} by
Th42;
(f
. (i
+ 1))
=
h(i,.) by
A1;
then
B2: (
support ((f
. (i
+ 1))
`1 ))
= ((
support ((f
. i)
`1 ))
\
S(`1)) by
Th27A;
S(`1)
c= (
support ((f
. i)
`1 ))
proof
let x be
object;
assume x
in
S(`1);
then ex y st x
= y & y
is_maximal_in (
support ((f
. i)
`1 ));
hence thesis by
WAYBEL_4: 55;
end;
then
reconsider S =
S(`1) as
finite
Subset of (
support ((f
. i)
`1 ));
take n = (
card (
support ((f
. (i
+ 1))
`1 )));
(
card S)
<>
0 by
B1;
then n
= (k
- (
card S)) & (
card S)
>
0 by
Z1,
B2,
CARD_2: 44;
hence n
< k by
XREAL_1: 44;
thus
P[n];
end;
P[
0 ] from
NAT_1:sch 7(
A2,
A3);
then
A4: ex i be
Nat st
Q[i];
consider i be
Nat such that
A5:
Q[i] & for n be
Nat st
Q[n] holds i
<= n from
NAT_1:sch 5(
A4);
(
Seg i)
c=
NAT
= (
dom (
pr2 f)) by
FUNCT_2:def 1;
then (
dom ((
pr2 f)
| (
Seg i)))
= (
Seg i) by
RELAT_1: 62;
then
reconsider p = ((
pr2 f)
| (
Seg i)) as (
Bags the
carrier of R)
-valued
FinSequence by
FINSEQ_1:def 2;
take p;
take F = (
pr1 f);
take G = (
pr2 f);
thus (F
.
0 )
= ((f
.
0 )
`1 ) by
FUNCT_2:def 5
.= b by
A1;
thus (G
.
0 )
= ((f
.
0 )
`2 ) by
FUNCT_2:def 6
.= (
EmptyBag I) by
A1;
hereby
let i be
Nat;
reconsider j = i as
Element of
NAT by
ORDINAL1:def 12;
A6: (G
. (i
+ 1))
= ((f
. (i
+ 1))
`2 ) by
FUNCT_2:def 6
.= (
h(i,.)
`2 ) by
A1
.= (((f
. j)
`1 )
|
S(`1));
((f
. j)
`1 )
= (F
. i) by
FUNCT_2:def 5;
hence (G
. (i
+ 1))
= ((F
. i)
|
S(.)) by
A6;
thus (F
. (i
+ 1))
= ((f
. (i
+ 1))
`1 ) by
FUNCT_2:def 5
.= (
h(i,.)
`1 ) by
A1
.= (((f
. j)
`1 )
-' (G
. (i
+ 1))) by
A6
.= ((F
. i)
-' (G
. (i
+ 1))) by
FUNCT_2:def 5;
end;
take i;
reconsider j = i as
Element of
NAT by
ORDINAL1:def 12;
(
support ((f
. i)
`1 ))
=
{} by
A5;
then ((f
. j)
`1 )
= (
EmptyBag I) by
PRE_POLY: 81;
hence (F
. i)
= (
EmptyBag I) by
FUNCT_2:def 5;
thus p
= (G
| (
Seg i));
let k be
Nat;
reconsider j = k as
Element of
NAT by
ORDINAL1:def 12;
assume k
< i;
then not
Q[k] by
A5;
then ((f
. j)
`1 )
<> (
EmptyBag I);
hence (F
. k)
<> (
EmptyBag I) by
FUNCT_2:def 5;
end;
uniqueness
proof
let p1,p2 be (
Bags the
carrier of R)
-valued
FinSequence;
given F1,G1 be
Function of
NAT , (
Bags the
carrier of R) such that
A1: (F1
.
0 )
= b & (G1
.
0 )
= (
EmptyBag the
carrier of R) & (for i be
Nat holds (G1
. (i
+ 1))
= ((F1
. i)
| { x : x
is_maximal_in (
support (F1
. i)) }) & (F1
. (i
+ 1))
= ((F1
. i)
-' (G1
. (i
+ 1)))) & ex i be
Nat st (F1
. i)
= (
EmptyBag the
carrier of R) & p1
= (G1
| (
Seg i)) & for j be
Nat st j
< i holds (F1
. j)
<> (
EmptyBag the
carrier of R);
given F2,G2 be
Function of
NAT , (
Bags the
carrier of R) such that
A2: (F2
.
0 )
= b & (G2
.
0 )
= (
EmptyBag the
carrier of R) & (for i be
Nat holds (G2
. (i
+ 1))
= ((F2
. i)
| { x : x
is_maximal_in (
support (F2
. i)) }) & (F2
. (i
+ 1))
= ((F2
. i)
-' (G2
. (i
+ 1)))) & ex i be
Nat st (F2
. i)
= (
EmptyBag the
carrier of R) & p2
= (G2
| (
Seg i)) & for j be
Nat st j
< i holds (F2
. j)
<> (
EmptyBag the
carrier of R);
defpred
P[
Nat] means (G1
. $1)
= (G2
. $1) & (F1
. $1)
= (F2
. $1);
A3:
P[
0 ] by
A1,
A2;
A4: for i be
Nat st
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
A5:
P[i];
hence (G1
. (i
+ 1))
= ((F2
. i)
| { x : x
is_maximal_in (
support (F2
. i)) }) by
A1
.= (G2
. (i
+ 1)) by
A2;
hence (F1
. (i
+ 1))
= ((F2
. i)
-' (G2
. (i
+ 1))) by
A1,
A5
.= (F2
. (i
+ 1)) by
A2;
end;
A6: for i be
Nat holds
P[i] from
NAT_1:sch 2(
A3,
A4);
A7: F1
= F2
proof
let i be
Element of
NAT ;
thus (F1
. i)
= (F2
. i) by
A6;
end;
A8: G1
= G2
proof
let i be
Element of
NAT ;
thus (G1
. i)
= (G2
. i) by
A6;
end;
consider i1 be
Nat such that
A9: (F1
. i1)
= (
EmptyBag the
carrier of R) & p1
= (G1
| (
Seg i1)) & for j be
Nat st j
< i1 holds (F1
. j)
<> (
EmptyBag the
carrier of R) by
A1;
consider i2 be
Nat such that
AA: (F1
. i2)
= (
EmptyBag the
carrier of R) & p2
= (G1
| (
Seg i2)) & for j be
Nat st j
< i2 holds (F1
. j)
<> (
EmptyBag the
carrier of R) by
A2,
A7,
A8;
i1
<= i2
<= i1 by
A9,
AA;
hence p1
= p2 by
A9,
AA,
XXREAL_0: 1;
end;
end
definition
let R, b;
:: original:
OrderedPartition
redefine
func
OrderedPartition b ->
partition of b ;
coherence
proof
set p = (
OrderedPartition b);
consider F,G be
Function of
NAT , (
Bags the
carrier of R) such that
A1: (F
.
0 )
= b & (G
.
0 )
= (
EmptyBag the
carrier of R) & (for i be
Nat holds (G
. (i
+ 1))
= ((F
. i)
| { x : x
is_maximal_in (
support (F
. i)) }) & (F
. (i
+ 1))
= ((F
. i)
-' (G
. (i
+ 1)))) & ex i be
Nat st (F
. i)
= (
EmptyBag the
carrier of R) & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> (
EmptyBag the
carrier of R) by
OP;
consider i be
Nat such that
A2: (F
. i)
= (
EmptyBag the
carrier of R) & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> (
EmptyBag the
carrier of R) by
A1;
defpred
P[
Nat] means $1
<= i implies b
= ((F
. $1)
+ (
Sum (p
| $1)));
set I = the
carrier of R;
A3:
P[
0 ]
proof
(p
|
0 )
= (
<*> (
Bags I));
then (
Sum (p
|
0 ))
= (
EmptyBag I) by
Th21;
hence
0
<= i implies b
= ((F
.
0 )
+ (
Sum (p
|
0 ))) by
A1,
PRE_POLY: 53;
end;
(
dom G)
=
NAT by
FUNCT_2:def 1;
then (
dom p)
= (
Seg i) & i
in
NAT by
A2,
RELAT_1: 62,
ORDINAL1:def 12;
then
A5: (
len p)
= i by
FINSEQ_1:def 3;
A4: for j be
Nat st
P[j] holds
P[(j
+ 1)]
proof
let j be
Nat;
assume
B1:
P[j] & (j
+ 1)
<= i;
(
rng p)
c= (
Bags I) by
RELAT_1:def 19;
then
reconsider q = p as
FinSequence of (
Bags I) by
FINSEQ_1:def 4;
B2: (q
| (j
+ 1))
= ((q
| j)
^
<*(q
/. (j
+ 1))*>) by
B1,
A5,
FINSEQ_5: 82;
(j
+ 1)
in (
dom p) by
A5,
B1,
NAT_1: 11,
FINSEQ_3: 25;
then
B4: (q
/. (j
+ 1))
= (p
. (j
+ 1))
= (G
. (j
+ 1)) by
A2,
PARTFUN1:def 6,
FUNCT_1: 47;
(G
. (j
+ 1))
= ((F
. j)
| { x : x
is_maximal_in (
support (F
. j)) }) by
A1;
then (F
. (j
+ 1))
= ((F
. j)
-' (G
. (j
+ 1))) & (G
. (j
+ 1))
divides (F
. j) by
A1,
Th43;
then ((F
. (j
+ 1))
+ (G
. (j
+ 1)))
= (F
. j) by
PRE_POLY: 47;
hence b
= ((F
. (j
+ 1))
+ ((G
. (j
+ 1))
+ (
Sum (p
| j)))) by
B1,
NAT_1: 13,
RFUNCT_1: 8
.= ((F
. (j
+ 1))
+ (
Sum (p
| (j
+ 1)))) by
B2,
B4,
Th22;
end;
for j be
Nat holds
P[j] from
NAT_1:sch 2(
A3,
A4);
then
P[(
len p)] & (p
| (
len p))
= p by
FINSEQ_1: 58;
hence b
= (
Sum p) by
A2,
A5,
PRE_POLY: 53;
end;
end
registration
let R, b;
cluster (
OrderedPartition b) ->
ordered;
coherence
proof
let p be
partition of b such that
A0: p
= (
OrderedPartition b);
consider F,G be
Function of
NAT , (
Bags the
carrier of R) such that
A1: (F
.
0 )
= b & (G
.
0 )
= (
EmptyBag the
carrier of R) & (for i be
Nat holds (G
. (i
+ 1))
= ((F
. i)
| { x : x
is_maximal_in (
support (F
. i)) }) & (F
. (i
+ 1))
= ((F
. i)
-' (G
. (i
+ 1)))) & ex i be
Nat st (F
. i)
= (
EmptyBag the
carrier of R) & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> (
EmptyBag the
carrier of R) by
OP,
A0;
consider i be
Nat such that
A2: (F
. i)
= (
EmptyBag the
carrier of R) & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> (
EmptyBag the
carrier of R) by
A1;
set I = the
carrier of R;
(
dom G)
=
NAT by
FUNCT_2:def 1;
then (
dom p)
= (
Seg i) & i
in
NAT by
A2,
RELAT_1: 62,
ORDINAL1:def 12;
then
A3: (
len p)
= i by
FINSEQ_1:def 3;
defpred
P[
Nat] means for x st ((F
. $1)
. x)
>
0 holds ((F
. $1)
. x)
= (b
. x);
A4:
P[
0 ] by
A1;
A5: for j be
Nat st
P[j] holds
P[(j
+ 1)]
proof
let j be
Nat;
assume
A6:
P[j];
let x;
assume
A7: ((F
. (j
+ 1))
. x)
>
0 ;
set S = { y : y
is_maximal_in (
support (F
. j)) };
(F
. (j
+ 1))
= ((F
. j)
-' (G
. (j
+ 1))) & (G
. (j
+ 1))
= ((F
. j)
| S) by
A1;
then
A8: ((F
. (j
+ 1))
. x)
= (((F
. j)
. x)
-' (((F
. j)
| S)
. x)) by
PRE_POLY:def 6;
per cases ;
suppose x
in S;
then (((F
. j)
| S)
. x)
= ((F
. j)
. x) by
BAR;
hence thesis by
A7,
A8,
XREAL_1: 232;
end;
suppose not x
in S;
then (((F
. j)
| S)
. x)
=
0 by
BAR;
then ((F
. (j
+ 1))
. x)
= ((F
. j)
. x) by
A8,
NAT_D: 40;
hence thesis by
A6,
A7;
end;
end;
A9: for j be
Nat holds
P[j] from
NAT_1:sch 2(
A4,
A5);
hereby
let a;
assume a
in (
rng p);
then
consider j be
object such that
B1: j
in (
dom p) & a
= (p
. j) by
FUNCT_1:def 3;
reconsider j as
Nat by
B1;
consider k be
Nat such that
B2: j
= (1
+ k) by
B1,
FINSEQ_3: 25,
NAT_1: 10;
set S = { x : x
is_maximal_in (
support (F
. k)) };
B3: a
= (G
. j)
= ((F
. k)
| S) by
A1,
B2,
B1,
FUNCT_1: 47;
let x;
assume
B4: (a
. x)
>
0 ;
then x
in S by
B3,
BAR;
then (a
. x)
= ((F
. k)
. x) by
B3,
BAR;
hence (a
. x)
= (b
. x) by
A9,
B4;
end;
hereby
let a;
assume a
in (
rng p);
then
consider j be
object such that
B1: j
in (
dom p) & a
= (p
. j) by
FUNCT_1:def 3;
reconsider j as
Nat by
B1;
consider k be
Nat such that
B2: j
= (1
+ k) by
B1,
FINSEQ_3: 25,
NAT_1: 10;
B3: a
= (G
. j)
= ((F
. k)
| { x : x
is_maximal_in (
support (F
. k)) }) by
A1,
B2,
B1,
FUNCT_1: 47;
{ x : x
is_maximal_in (
support (F
. k)) }
c= (
support (F
. k))
proof
let z be
object;
assume z
in { x : x
is_maximal_in (
support (F
. k)) };
then ex x st z
= x & x
is_maximal_in (
support (F
. k));
hence thesis by
WAYBEL_4: 55;
end;
then ((
support (F
. k))
/\ { x : x
is_maximal_in (
support (F
. k)) })
= { y : y
is_maximal_in (
support (F
. k)) } by
XBOOLE_1: 28;
then
B4: (
support a)
= { x : x
is_maximal_in (
support (F
. k)) } by
B3,
Th44;
let x, y;
assume
B5: (a
. x)
>
0 & (a
. y)
>
0 & x
<> y;
then x
in (
support a) by
PRE_POLY:def 7;
then
consider z such that
B6: x
= z & z
is_maximal_in (
support (F
. k)) by
B4;
y
in (
support a) by
B5,
PRE_POLY:def 7;
then
consider u be
Element of R such that
B7: y
= u & u
is_maximal_in (
support (F
. k)) by
B4;
x
in (
support (F
. k)) & y
in (
support (F
. k)) by
B6,
B7,
WAYBEL_4: 55;
then not x
< y & not y
< x by
B6,
B7,
WAYBEL_4: 55;
hence x
## y by
Lem2;
end;
hereby
let a;
assume a
in (
rng p);
then
consider j be
object such that
B1: j
in (
dom p) & a
= (p
. j) by
FUNCT_1:def 3;
reconsider j as
Nat by
B1;
consider k be
Nat such that
B2: j
= (1
+ k) by
B1,
FINSEQ_3: 25,
NAT_1: 10;
B3: a
= (G
. j)
= ((F
. k)
| { x : x
is_maximal_in (
support (F
. k)) }) by
A1,
B2,
B1,
FUNCT_1: 47;
k
< j
<= i by
A3,
B2,
B1,
NAT_1: 13,
FINSEQ_3: 25;
then k
< i by
XXREAL_0: 2;
then
B4: { x : x
is_maximal_in (
support (F
. k)) }
<>
{} by
A2,
Th42;
{ x : x
is_maximal_in (
support (F
. k)) }
c= (
support (F
. k))
proof
let z be
object;
assume z
in { x : x
is_maximal_in (
support (F
. k)) };
then ex x st z
= x & x
is_maximal_in (
support (F
. k));
hence thesis by
WAYBEL_4: 55;
end;
then ((
support (F
. k))
/\ { x : x
is_maximal_in (
support (F
. k)) })
= { y : y
is_maximal_in (
support (F
. k)) } by
XBOOLE_1: 28;
then (
support a)
= { x : x
is_maximal_in (
support (F
. k)) } by
B3,
Th44;
hence a
<> (
EmptyBag the
carrier of R) by
B4;
end;
let j be
Nat;
assume
C1: j
in (
dom p) & (j
+ 1)
in (
dom p);
then
consider k be
Nat such that
B2: j
= (1
+ k) by
NAT_1: 10,
FINSEQ_3: 25;
let x;
assume
C2: ((p
/. (j
+ 1))
. x)
>
0 ;
set S = { y : y
is_maximal_in (
support (F
. j)) };
set T = { y : y
is_maximal_in (
support (F
. k)) };
C4: (p
/. (j
+ 1))
= (p
. (j
+ 1))
= (G
. (j
+ 1))
= ((F
. j)
| S) & (p
/. j)
= (p
. j)
= (G
. j)
= ((F
. k)
| T) & (F
. j)
= ((F
. k)
-' (G
. j)) by
C1,
B2,
A1,
FUNCT_1: 47,
PARTFUN1:def 6;
then x
in S by
C2,
BAR;
then
consider y such that
C5: x
= y & y
is_maximal_in (
support (F
. j));
C6: x
in (
support (F
. j))
c= (
support (F
. k)) by
C4,
C5,
WAYBEL_4: 55,
PRE_POLY: 39;
T
c= (
support (F
. k))
proof
let u be
object;
assume u
in T;
then ex z st u
= z & z
is_maximal_in (
support (F
. k));
hence thesis by
WAYBEL_4: 55;
end;
then ((
support (F
. k))
/\ T)
= T by
XBOOLE_1: 28;
then
D2: (
support (p
/. j))
= T by
C4,
Th44;
(
support (F
. j))
= ((
support (F
. k))
\ T) by
C4,
Th27A;
then not x
in T by
C6,
XBOOLE_0:def 5;
then not x
is_maximal_in (
support (F
. k));
then
consider z such that
C7: z
in (
support (F
. k)) & x
< z by
C6,
WAYBEL_4: 55;
take z;
not z
in (
support (F
. j)) & (
support (F
. j))
= ((
support (F
. k))
\ T) by
C4,
C5,
C7,
Th27A,
WAYBEL_4: 55;
then z
in T by
C7,
XBOOLE_0:def 5;
then ((p
/. j)
. z)
<>
0 by
D2,
PRE_POLY:def 7;
hence ((p
/. j)
. z)
>
0 ;
thus x
<= z by
C7,
Lem2;
end;
end
theorem ::
BAGORD_2:59
b
= (
EmptyBag the
carrier of R) iff (
OrderedPartition b)
=
{}
proof
set I = the
carrier of R;
set E = (
EmptyBag I);
set p = (
OrderedPartition b);
consider F,G be
Function of
NAT , (
Bags the
carrier of R) such that
A1: (F
.
0 )
= b & (G
.
0 )
= E & (for i be
Nat holds (G
. (i
+ 1))
= ((F
. i)
| { x : x
is_maximal_in (
support (F
. i)) }) & (F
. (i
+ 1))
= ((F
. i)
-' (G
. (i
+ 1)))) & ex i be
Nat st (F
. i)
= E & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> E by
OP;
consider i be
Nat such that
A2: (F
. i)
= E & p
= (G
| (
Seg i)) & for j be
Nat st j
< i holds (F
. j)
<> E by
A1;
hereby
assume b
= E;
then i
<=
0 by
A1,
A2;
then i
=
0 ;
hence p
=
{} by
A2;
end;
assume p
=
{} ;
then p
= (
<*> (
Bags I));
then (
Sum p)
= E by
Th21;
hence thesis by
PART;
end;
definition
let R;
::
BAGORD_2:def13
func
PrecM R ->
strict
RelExtension of (
finite-MultiSet_over the
carrier of R) means
:
PM: for m,n be
Element of it holds m
<= n iff m
<> n & for x st (m
. x)
>
0 holds (m
. x)
< (n
. x) or ex y st (n
. y)
>
0 & x
<= y;
existence
proof
set I = the
carrier of R;
set M = (
finite-MultiSet_over I);
defpred
R[
bag of I,
bag of I] means $1
<> $2 & for x st ($1
. x)
>
0 holds ($1
. x)
< ($2
. x) or ex y st ($2
. y)
>
0 & x
<= y;
consider N be
strict
RelExtension of M such that
A1: for m,n be
Element of N holds m
<= n iff
R[m, n] from
RelEx;
take N;
thus thesis by
A1;
end;
uniqueness
proof
let N1,N2 be
strict
RelExtension of (
finite-MultiSet_over the
carrier of R) such that
A1: for m,n be
Element of N1 holds m
<= n iff m
<> n & for x st (m
. x)
>
0 holds (m
. x)
< (n
. x) or ex y st (n
. y)
>
0 & x
<= y and
A2: for m,n be
Element of N2 holds m
<= n iff m
<> n & for x st (m
. x)
>
0 holds (m
. x)
< (n
. x) or ex y st (n
. y)
>
0 & x
<= y;
for m,n be
Element of N1 holds for x,y be
Element of N2 st m
= x & n
= y holds m
<= n iff x
<= y
proof
let m,n be
Element of N1;
let k,l be
Element of N2;
assume
Z0: m
= k;
assume
Z1: n
= l;
m
<= n iff m
<> n & for x st (m
. x)
>
0 holds (m
. x)
< (n
. x) or ex y st (n
. y)
>
0 & x
<= y by
A1;
hence thesis by
A2,
Z0,
Z1;
end;
hence thesis by
Th4;
end;
end
registration
let R;
cluster (
PrecM R) ->
asymmetric
transitive;
coherence
proof
set RR = the
InternalRel of (
PrecM R);
thus
A0: (
PrecM R) is
asymmetric
proof
let a,b be
object;
assume a
in the
carrier of (
PrecM R) & b
in the
carrier of (
PrecM R);
then
reconsider m = a, n = b as
Element of (
PrecM R);
assume
[a, b]
in RR &
[b, a]
in RR;
then
A0: m
<= n & n
<= m by
ORDERS_2:def 5;
then m
<> n & (for x st (m
. x)
>
0 holds (m
. x)
< (n
. x) or ex y st (n
. y)
>
0 & x
<= y) & (for x st (n
. x)
>
0 holds (n
. x)
< (m
. x) or ex y st (m
. y)
>
0 & x
<= y) by
PM;
then
consider x such that
A2: (m
. x)
<> (n
. x) by
PBOOLE:def 21;
set X = { y : (m
. y)
>
0 & x
<= y };
ex y st (m
. y)
>
0 & x
<= y
proof
per cases by
A2,
XXREAL_0: 1;
suppose (m
. x)
< (n
. x);
hence ex y st (m
. y)
>
0 & x
<= y by
A0,
PM;
end;
suppose (n
. x)
< (m
. x);
then
consider y such that
A5: (n
. y)
>
0 & x
<= y by
A0,
PM;
per cases by
A0,
PM;
suppose (n
. y)
<= (m
. y);
hence ex y st (m
. y)
>
0 & x
<= y by
A5;
end;
suppose ex z st (m
. z)
>
0 & y
<= z;
hence ex y st (m
. y)
>
0 & x
<= y by
A5,
ORDERS_2: 3;
end;
end;
end;
then
consider y such that
A6: (m
. y)
>
0 & x
<= y;
A7: y
in X by
A6;
X
c= (
support m)
proof
let z be
object;
assume z
in X;
then ex y st z
= y & (m
. y)
>
0 & x
<= y;
hence thesis by
PRE_POLY:def 7;
end;
then
consider y such that
A8: y
is_maximal_in X by
A7,
Th12;
y
in X by
A8,
WAYBEL_4: 55;
then
consider z such that
A9: y
= z & (m
. z)
>
0 & x
<= z;
per cases by
A0,
PM,
A9;
suppose (m
. z)
< (n
. z);
then
consider u be
Element of R such that
A10: (m
. u)
>
0 & z
<= u by
A0,
PM;
x
<= u by
A9,
A10,
ORDERS_2: 3;
then u
in X & y
< u by
A9,
A10,
Lem2;
hence contradiction by
A8,
WAYBEL_4: 55;
end;
suppose ex u be
Element of R st (n
. u)
>
0 & z
<= u;
then
consider u be
Element of R such that
A11: (n
. u)
>
0 & z
<= u;
per cases by
A0,
PM;
suppose (n
. u)
<= (m
. u);
then (m
. u)
>
0 & x
<= u by
A9,
A11,
ORDERS_2: 3;
then u
in X & y
< u by
A9,
A11,
Lem2;
hence contradiction by
A8,
WAYBEL_4: 55;
end;
suppose ex v be
Element of R st (m
. v)
>
0 & u
<= v;
then
consider v be
Element of R such that
A12: (m
. v)
>
0 & u
<= v;
A13: z
<= v by
A11,
A12,
ORDERS_2: 3;
then x
<= v by
A9,
ORDERS_2: 3;
then v
in X & y
< v by
A9,
A12,
A13,
Lem2;
hence contradiction by
A8,
WAYBEL_4: 55;
end;
end;
end;
thus (
PrecM R) is
transitive
proof
let a,b,c be
object;
assume a
in the
carrier of (
PrecM R) & b
in the
carrier of (
PrecM R) & c
in the
carrier of (
PrecM R);
assume
A4:
[a, b]
in RR &
[b, c]
in RR;
then
reconsider a, b, c as
Element of (
PrecM R) by
ZFMISC_1: 87;
A6: a
<= b
<= c by
A4,
ORDERS_2:def 5;
A5:
now
let x;
assume (a
. x)
>
0 ;
per cases by
A6,
PM;
suppose
A4: (a
. x)
< (b
. x);
then (b
. x)
< (c
. x) or ex y st (c
. y)
>
0 & x
<= y by
A6,
PM;
hence (a
. x)
< (c
. x) or ex y st (c
. y)
>
0 & x
<= y by
A4,
XXREAL_0: 2;
end;
suppose ex y st (b
. y)
>
0 & x
<= y;
then
consider y such that
B1: (b
. y)
>
0 & x
<= y;
per cases by
A6,
PM;
suppose (b
. y)
<= (c
. y);
hence (a
. x)
< (c
. x) or ex y st (c
. y)
>
0 & x
<= y by
B1;
end;
suppose ex z st (c
. z)
>
0 & y
<= z;
then
consider z such that
B2: (c
. z)
>
0 & y
<= z;
thus (a
. x)
< (c
. x) or ex y st (c
. y)
>
0 & x
<= y by
B2,
B1,
ORDERS_2: 3;
end;
end;
end;
a
<> c by
A4,
A0,
PREFER_1: 22;
then a
<= c by
A5,
PM;
hence thesis by
ORDERS_2:def 5;
end;
end;
end
definition
let I;
let R be
Relation of I, I;
::
BAGORD_2:def14
func
LexOrder (I,R) ->
Relation of (I
* ) means
:
LO: for p,q be I
-valued
FinSequence holds
[p, q]
in it iff p
c< q or ex k be
Nat st k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n);
existence
proof
defpred
R[
Element of (I
* ),
Element of (I
* )] means $1
c< $2 or ex k be
Nat st k
in (
dom $1) & k
in (
dom $2) &
[($1
. k), ($2
. k)]
in R & for n be
Nat st 1
<= n
< k holds ($1
. n)
= ($2
. n);
consider R be
Relation of (I
* ) such that
A1: for b1,b2 be
Element of (I
* ) holds
[b1, b2]
in R iff
R[b1, b2] from
RELSET_1:sch 2;
take R;
let b1,b2 be I
-valued
FinSequence;
(
rng b1)
c= I & (
rng b2)
c= I by
RELAT_1:def 19;
then b1 is
FinSequence of I & b2 is
FinSequence of I by
FINSEQ_1:def 4;
then b1
in (I
* ) & b2
in (I
* ) by
FINSEQ_1:def 11;
hence thesis by
A1;
end;
uniqueness
proof
let R1,R2 be
Relation of (I
* ) such that
A1: for p,q be I
-valued
FinSequence holds
[p, q]
in R1 iff p
c< q or ex k be
Nat st k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n) and
A2: for p,q be I
-valued
FinSequence holds
[p, q]
in R2 iff p
c< q or ex k be
Nat st k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n);
let p,q be
Element of (I
* );
[p, q]
in R1 iff p
c< q or ex k be
Nat st k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n) by
A1;
hence thesis by
A2;
end;
end
registration
let I;
let R be
transitive
Relation of I;
cluster (
LexOrder (I,R)) ->
transitive;
coherence
proof
set Q = (
LexOrder (I,R));
let a,b,c be
object;
assume a
in (
field Q) & b
in (
field Q) & c
in (
field Q);
assume
A1:
[a, b]
in Q &
[b, c]
in Q;
then
reconsider a, b, c as
Element of (I
* ) by
ZFMISC_1: 87;
per cases by
A1,
LO;
suppose a
c< b & b
c< c;
then a
c< c by
XBOOLE_1: 56;
hence thesis by
LO;
end;
suppose
A2: a
c< b & ex k be
Nat st k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
then
consider k be
Nat such that
A3: k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
per cases ;
suppose
A4: (
len a)
< k;
k
<= (
len c) by
A3,
FINSEQ_3: 25;
then
A5: (
len a)
< (
len c) by
A4,
XXREAL_0: 2;
for n be
Nat st n
in (
dom a) holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume
A6: n
in (
dom a);
then n
<= (
len a) by
FINSEQ_3: 25;
then 1
<= n
< k by
A4,
A6,
XXREAL_0: 2,
FINSEQ_3: 25;
then (b
. n)
= (c
. n) by
A3;
hence thesis by
A2,
A6,
Lem12;
end;
then a
c< c by
A5,
Lem12;
hence thesis by
LO;
end;
suppose
A7: (
len a)
>= k;
1
<= k by
A3,
FINSEQ_3: 25;
then
A8: k
in (
dom a) by
A7,
FINSEQ_3: 25;
then
A9:
[(a
. k), (c
. k)]
in R by
A2,
A3,
Lem12;
for n be
Nat st 1
<= n
< k holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume
A10: 1
<= n
< k;
then n
< (
len a) by
A7,
XXREAL_0: 2;
then n
in (
dom a) by
A10,
FINSEQ_3: 25;
then (a
. n)
= (b
. n) by
A2,
Lem12;
hence thesis by
A10,
A3;
end;
hence thesis by
A3,
A8,
A9,
LO;
end;
end;
suppose
A12: b
c< c & ex k be
Nat st k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n);
then
consider k be
Nat such that
A11: k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n);
(
dom b)
c= (
dom c) by
A12,
XBOOLE_0:def 8,
XTUPLE_0: 8;
then
A13: k
in (
dom c) &
[(a
. k), (c
. k)]
in R by
A12,
A11,
Lem12;
for n be
Nat st 1
<= n
< k holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume
A14: 1
<= n
< k;
k
<= (
len b) by
A11,
FINSEQ_3: 25;
then n
< (
len b) by
A14,
XXREAL_0: 2;
then (b
. n)
= (c
. n) by
A12,
Lem12,
A14,
FINSEQ_3: 25;
hence thesis by
A11,
A14;
end;
hence thesis by
A11,
A13,
LO;
end;
suppose
A15: (ex k be
Nat st k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n)) & ex k be
Nat st k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
then
consider k1 be
Nat such that
A16: k1
in (
dom a) & k1
in (
dom b) &
[(a
. k1), (b
. k1)]
in R & for n be
Nat st 1
<= n
< k1 holds (a
. n)
= (b
. n);
consider k2 be
Nat such that
A17: k2
in (
dom b) & k2
in (
dom c) &
[(b
. k2), (c
. k2)]
in R & for n be
Nat st 1
<= n
< k2 holds (b
. n)
= (c
. n) by
A15;
per cases by
XXREAL_0: 1;
suppose
A18: k1
< k2;
k2
<= (
len c) by
A17,
FINSEQ_3: 25;
then 1
<= k1
< (
len c) by
A16,
A18,
FINSEQ_3: 25,
XXREAL_0: 2;
then
A19: k1
in (
dom c) &
[(a
. k1), (c
. k1)]
in R by
A16,
A17,
A18,
FINSEQ_3: 25;
for n be
Nat st 1
<= n
< k1 holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume 1
<= n
< k1;
then (a
. n)
= (b
. n) & 1
<= n
< k2 by
A16,
A18,
XXREAL_0: 2;
hence thesis by
A17;
end;
hence thesis by
A16,
A19,
LO;
end;
suppose
A20: k1
= k2;
then
A21:
[(a
. k1), (c
. k1)]
in R by
A16,
A17,
RELAT_2: 31;
for n be
Nat st 1
<= n
< k1 holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume 1
<= n
< k1;
then (a
. n)
= (b
. n) & (b
. n)
= (c
. n) by
A16,
A17,
A20;
hence thesis;
end;
hence thesis by
A20,
A16,
A17,
A21,
LO;
end;
suppose
A22: k1
> k2;
k1
<= (
len a) by
A16,
FINSEQ_3: 25;
then 1
<= k2
< (
len a) by
A17,
A22,
FINSEQ_3: 25,
XXREAL_0: 2;
then
A19: k2
in (
dom a) &
[(a
. k2), (c
. k2)]
in R by
A16,
A17,
A22,
FINSEQ_3: 25;
for n be
Nat st 1
<= n
< k2 holds (a
. n)
= (c
. n)
proof
let n be
Nat;
assume 1
<= n
< k2;
then (c
. n)
= (b
. n) & 1
<= n
< k1 by
A17,
A22,
XXREAL_0: 2;
hence thesis by
A16;
end;
hence thesis by
A17,
A19,
LO;
end;
end;
end;
end
registration
let I;
let R be
asymmetric
Relation of I;
cluster (
LexOrder (I,R)) ->
asymmetric;
coherence
proof
set Q = (
LexOrder (I,R));
let a,b be
object;
assume a
in (
field Q) & b
in (
field Q);
assume
A1:
[a, b]
in Q &
[b, a]
in Q;
then
reconsider a, b as
Element of (I
* ) by
ZFMISC_1: 87;
set c = a;
per cases by
A1,
LO;
suppose a
c< b & b
c< c;
hence thesis;
end;
suppose
A2: a
c< b & ex k be
Nat st k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
then
consider k be
Nat such that
A3: k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
[(a
. k), (c
. k)]
in R by
A2,
A3,
Lem12;
hence thesis by
PREFER_1: 22;
end;
suppose
A12: b
c< c & ex k be
Nat st k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n);
then
consider k be
Nat such that
A11: k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n);
k
in (
dom c) &
[(a
. k), (c
. k)]
in R by
A12,
A11,
Lem12;
hence thesis by
PREFER_1: 22;
end;
suppose
A15: (ex k be
Nat st k
in (
dom a) & k
in (
dom b) &
[(a
. k), (b
. k)]
in R & for n be
Nat st 1
<= n
< k holds (a
. n)
= (b
. n)) & ex k be
Nat st k
in (
dom b) & k
in (
dom c) &
[(b
. k), (c
. k)]
in R & for n be
Nat st 1
<= n
< k holds (b
. n)
= (c
. n);
then
consider k1 be
Nat such that
A16: k1
in (
dom a) & k1
in (
dom b) &
[(a
. k1), (b
. k1)]
in R & for n be
Nat st 1
<= n
< k1 holds (a
. n)
= (b
. n);
consider k2 be
Nat such that
A17: k2
in (
dom b) & k2
in (
dom c) &
[(b
. k2), (c
. k2)]
in R & for n be
Nat st 1
<= n
< k2 holds (b
. n)
= (c
. n) by
A15;
per cases by
XXREAL_0: 1;
suppose
A18: k1
< k2;
k2
<= (
len c) by
A17,
FINSEQ_3: 25;
then 1
<= k1
< (
len c) by
A16,
A18,
FINSEQ_3: 25,
XXREAL_0: 2;
then k1
in (
dom c) &
[(a
. k1), (c
. k1)]
in R by
A16,
A17,
A18;
hence thesis by
PREFER_1: 22;
end;
suppose k1
= k2;
hence thesis by
A16,
A17,
PREFER_1: 22;
end;
suppose
A22: k1
> k2;
k1
<= (
len a) by
A16,
FINSEQ_3: 25;
then 1
<= k2
< (
len a) by
A17,
A22,
FINSEQ_3: 25,
XXREAL_0: 2;
then k2
in (
dom a) &
[(a
. k2), (c
. k2)]
in R by
A16,
A17,
A22;
hence thesis by
PREFER_1: 22;
end;
end;
end;
end
theorem ::
BAGORD_2:60
for R be
asymmetric
Relation of I holds for p,q,r be I
-valued
FinSequence holds
[p, q]
in (
LexOrder (I,R)) iff
[(r
^ p), (r
^ q)]
in (
LexOrder (I,R))
proof
let R be
asymmetric
Relation of I;
let p,q,r be I
-valued
FinSequence;
hereby
assume
[p, q]
in (
LexOrder (I,R));
per cases by
LO;
suppose p
c< q;
then (r
^ p)
c= (r
^ q) & (r
^ p)
<> (r
^ q) by
FINSEQ_6: 13,
FINSEQ_1: 33,
XBOOLE_0:def 8;
then (r
^ p)
c< (r
^ q) by
XBOOLE_0:def 8;
hence
[(r
^ p), (r
^ q)]
in (
LexOrder (I,R)) by
LO;
end;
suppose ex k be
Nat st k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n);
then
consider k be
Nat such that
A1: k
in (
dom p) & k
in (
dom q) &
[(p
. k), (q
. k)]
in R & for n be
Nat st 1
<= n
< k holds (p
. n)
= (q
. n);
set i = (
len r);
set j = (i
+ k);
A2: j
in (
dom (r
^ p)) & j
in (
dom (r
^ q)) by
A1,
FINSEQ_1: 28;
A3: ((r
^ p)
. j)
= (p
. k) & ((r
^ q)
. j)
= (q
. k) by
A1,
FINSEQ_1:def 7;
for n be
Nat st 1
<= n
< j holds ((r
^ p)
. n)
= ((r
^ q)
. n)
proof
let n be
Nat;
assume
A4: 1
<= n
< j;
per cases by
NAT_1: 13;
suppose n
<= i;
then n
in (
dom r) by
A4,
FINSEQ_3: 25;
then ((r
^ p)
. n)
= (r
. n)
= ((r
^ q)
. n) by
FINSEQ_1:def 7;
hence thesis;
end;
suppose (i
+ 1)
<= n;
then
consider m be
Nat such that
A5: n
= ((i
+ 1)
+ m) by
NAT_1: 10;
A5A: n
= (i
+ (1
+ m)) by
A5;
then
A6: 1
<= (1
+ m)
< k by
A4,
NAT_1: 11,
XREAL_1: 6;
k
<= (
len p) & k
<= (
len q) by
A1,
FINSEQ_3: 25;
then 1
<= (1
+ m)
<= (
len p) & (1
+ m)
<= (
len q) by
A6,
XXREAL_0: 2;
then (1
+ m)
in (
dom p) & (1
+ m)
in (
dom q) by
FINSEQ_3: 25;
then ((r
^ p)
. n)
= (p
. (1
+ m)) & ((r
^ q)
. n)
= (q
. (1
+ m)) by
A5A,
FINSEQ_1:def 7;
hence thesis by
A1,
A6;
end;
end;
hence
[(r
^ p), (r
^ q)]
in (
LexOrder (I,R)) by
LO,
A1,
A2,
A3;
end;
end;
assume
[(r
^ p), (r
^ q)]
in (
LexOrder (I,R));
per cases by
LO;
suppose (r
^ p)
c< (r
^ q);
then p
c< q by
Lem13;
hence
[p, q]
in (
LexOrder (I,R)) by
LO;
end;
suppose ex k be
Nat st k
in (
dom (r
^ p)) & k
in (
dom (r
^ q)) &
[((r
^ p)
. k), ((r
^ q)
. k)]
in R & for n be
Nat st 1
<= n
< k holds ((r
^ p)
. n)
= ((r
^ q)
. n);
then
consider k be
Nat such that
A1: k
in (
dom (r
^ p)) & k
in (
dom (r
^ q)) &
[((r
^ p)
. k), ((r
^ q)
. k)]
in R & for n be
Nat st 1
<= n
< k holds ((r
^ p)
. n)
= ((r
^ q)
. n);
set i = (
len r);
A3: 1
<= k by
A1,
FINSEQ_3: 25;
now
assume k
<= i;
then k
in (
dom r) by
A3,
FINSEQ_3: 25;
then ((r
^ p)
. k)
= (r
. k)
= ((r
^ q)
. k) by
FINSEQ_1:def 7;
hence contradiction by
A1,
PREFER_1: 22;
end;
then k
>= (i
+ 1) by
NAT_1: 13;
then
consider j be
Nat such that
A4: k
= ((i
+ 1)
+ j) by
NAT_1: 10;
A5: k
= (i
+ (1
+ j)) by
A4;
k
<= (
len (r
^ p))
= (i
+ (
len p)) & k
<= (
len (r
^ q))
= (i
+ (
len q)) by
A1,
FINSEQ_3: 25,
FINSEQ_1: 22;
then
A9: 1
<= (1
+ j)
<= (
len p) & (1
+ j)
<= (
len q) by
A5,
NAT_1: 11,
XREAL_1: 6;
then
A6: (1
+ j)
in (
dom p) & (1
+ j)
in (
dom q) by
FINSEQ_3: 25;
then
A7: ((r
^ p)
. k)
= (p
. (1
+ j)) & ((r
^ q)
. k)
= (q
. (1
+ j)) by
A5,
FINSEQ_1:def 7;
for n be
Nat st 1
<= n
< (1
+ j) holds (p
. n)
= (q
. n)
proof
let n be
Nat;
assume
A8: 1
<= n
< (1
+ j);
then n
< (
len p) & n
< (
len q) by
A9,
XXREAL_0: 2;
then n
in (
dom p) & n
in (
dom q) by
A8,
FINSEQ_3: 25;
then (p
. n)
= ((r
^ p)
. (i
+ n)) & (q
. n)
= ((r
^ q)
. (i
+ n)) & 1
<= (i
+ n)
< k by
FINSEQ_1:def 7,
NAT_1: 12,
XREAL_1: 6,
A5,
A8;
hence thesis by
A1;
end;
hence thesis by
LO,
A1,
A6,
A7;
end;
end;
definition
let R;
::
BAGORD_2:def15
func
PrecPrecM R ->
strict
RelExtension of (
finite-MultiSet_over the
carrier of R) means
:
PPM: for m,n be
Element of it holds m
<= n iff
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R)));
existence
proof
set I = the
carrier of R;
set M = (
finite-MultiSet_over I);
defpred
R[
bag of I,
bag of I] means
[(
OrderedPartition $1), (
OrderedPartition $2)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R)));
consider N be
strict
RelExtension of M such that
A1: for m,n be
Element of N holds m
<= n iff
R[m, n] from
RelEx;
take N;
thus thesis by
A1;
end;
uniqueness
proof
let N1,N2 be
strict
RelExtension of (
finite-MultiSet_over the
carrier of R) such that
A1: for m,n be
Element of N1 holds m
<= n iff
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) and
A2: for m,n be
Element of N2 holds m
<= n iff
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R)));
for m,n be
Element of N1 holds for x,y be
Element of N2 st m
= x & n
= y holds m
<= n iff x
<= y
proof
let m,n be
Element of N1;
let k,l be
Element of N2;
assume
Z0: m
= k;
assume
Z1: n
= l;
m
<= n iff
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) by
A1;
hence thesis by
A2,
Z0,
Z1;
end;
hence thesis by
Th4;
end;
end
registration
let R;
cluster (
PrecPrecM R) ->
asymmetric
transitive;
coherence
proof
set Q = the
InternalRel of (
PrecPrecM R);
thus (
PrecPrecM R) is
asymmetric
proof
let a,b be
object;
assume a
in the
carrier of (
PrecPrecM R) & b
in the
carrier of (
PrecPrecM R);
then
reconsider m = a, n = b as
Element of (
PrecPrecM R);
assume
[a, b]
in Q &
[b, a]
in Q;
then m
<= n
<= m by
ORDERS_2:def 5;
then
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) &
[(
OrderedPartition n), (
OrderedPartition m)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) by
PPM;
hence thesis by
PREFER_1: 22;
end;
let a,b,c be
object;
assume a
in the
carrier of (
PrecPrecM R) & b
in the
carrier of (
PrecPrecM R) & c
in the
carrier of (
PrecPrecM R);
then
reconsider m = a, n = b, o = c as
Element of (
PrecPrecM R);
assume
[a, b]
in Q &
[b, c]
in Q;
then m
<= n
<= o by
ORDERS_2:def 5;
then
[(
OrderedPartition m), (
OrderedPartition n)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) &
[(
OrderedPartition n), (
OrderedPartition o)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) by
PPM;
then
[(
OrderedPartition m), (
OrderedPartition o)]
in (
LexOrder (the
carrier of (
PrecM R),the
InternalRel of (
PrecM R))) by
RELAT_2: 31;
then m
<= o by
PPM;
hence thesis by
ORDERS_2:def 5;
end;
end
theorem ::
BAGORD_2:61
for a,b be
Element of (
DershowitzMannaOrder R) st a
<= b holds b
<> (
EmptyBag the
carrier of R)
proof
set DM = (
DershowitzMannaOrder R);
set I = the
carrier of R;
set E = (
EmptyBag I);
let a,b be
Element of DM;
assume
Z0: a
<= b;
per cases ;
suppose a
= E;
hence b
<> E by
Z0;
end;
suppose
A1: a
<> E;
E
divides a by
PRE_POLY: 59;
then
[E, a]
in (
DivOrder I)
c= the
InternalRel of DM by
A1,
DO,
Th16;
hence thesis by
Z0,
ORDERS_2:def 5;
end;
end;
theorem ::
BAGORD_2:62
for a,b,c,d be
Element of (
DershowitzMannaOrder R) holds for e be
bag of the
carrier of R st a
<= b & e
divides a & e
divides b holds c
= (a
-' e) & d
= (b
-' e) implies c
<= d
proof
let a,b,c,d be
Element of (
DershowitzMannaOrder R);
let e be
bag of the
carrier of R;
assume
Z1: a
<= b;
assume
Z2: e
divides a;
assume
Z3: e
divides b;
assume
Z4: c
= (a
-' e);
assume d
= (b
-' e);
then
A0: a
= (c
+ e) & b
= (d
+ e) & a
<> b by
Z1,
Z2,
Z3,
Z4,
PRE_POLY: 47;
for x st (c
. x)
> (d
. x) holds ex y st x
<= y & (c
. y)
< (d
. y)
proof
let x;
assume (c
. x)
> (d
. x);
then (a
. x)
= ((c
. x)
+ (e
. x))
> ((d
. x)
+ (e
. x))
= (b
. x) by
A0,
PRE_POLY:def 5,
XREAL_1: 6;
then
consider y such that
A2: x
<= y & (a
. y)
< (b
. y) by
Z1,
HO;
take y;
(a
. y)
= ((c
. y)
+ (e
. y)) & (b
. y)
= ((d
. y)
+ (e
. y)) by
A0,
PRE_POLY:def 5;
hence thesis by
A2,
XREAL_1: 6;
end;
hence c
<= d by
A0,
HO;
end;
theorem ::
BAGORD_2:63
Lem14: for p be (
Bags I)
-valued
FinSequence, x be
object st x
in I & ((
Sum p)
. x)
>
0 holds ex i be
Nat st i
in (
dom p) & ((p
/. i)
. x)
>
0
proof
let p be (
Bags I)
-valued
FinSequence;
let x be
object;
assume
Z0: x
in I;
assume
Z1: ((
Sum p)
. x)
>
0 ;
defpred
P[
object] means for p be (
Bags I)
-valued
FinSequence st p
= $1 & ((
Sum p)
. x)
>
0 holds ex i be
Nat st i
in (
dom p) & ((p
/. i)
. x)
>
0 ;
A1:
P[
{} ]
proof
let p be (
Bags I)
-valued
FinSequence;
assume p
=
{} ;
then p
= (
<*> (
Bags I));
then (
Sum p)
= (
EmptyBag I) by
Th21;
hence thesis by
Z0,
FUNCOP_1: 7;
end;
A2: for p be
FinSequence, a be
object st
P[p] holds
P[(p
^
<*a*>)]
proof
let p be
FinSequence;
let a be
object;
assume
Z0:
P[p];
let q be (
Bags I)
-valued
FinSequence;
assume
A3: q
= (p
^
<*a*>);
then
reconsider p, aa =
<*a*> as (
Bags I)
-valued
FinSequence by
Lem8;
(
len aa)
= 1 by
FINSEQ_1: 40;
then 1
in (
dom aa) by
FINSEQ_3: 25;
then (aa
. 1)
in (
Bags I) by
FUNCT_1: 102;
then
reconsider a as
Element of (
Bags I) by
FINSEQ_1: 40;
assume ((
Sum q)
. x)
>
0 ;
then (((
Sum p)
. x)
+ (a
. x))
= (((
Sum p)
+ a)
. x)
>
0 by
Th22,
A3,
PRE_POLY:def 5;
per cases ;
suppose
A4: (a
. x)
>
0 ;
take i = ((
len p)
+ 1);
(
len q)
= ((
len p)
+ 1)
>= 1 by
A3,
NAT_1: 11,
FINSEQ_2: 16;
hence i
in (
dom q) by
FINSEQ_3: 25;
then (q
/. i)
= (q
. i) by
PARTFUN1:def 6;
hence thesis by
A4,
A3,
FINSEQ_1: 42;
end;
suppose ((
Sum p)
. x)
>
0 ;
then
consider i be
Nat such that
A5: i
in (
dom p) & ((p
/. i)
. x)
>
0 by
Z0;
take i;
A6: (
dom p)
c= (
dom q) by
A3,
FINSEQ_1: 26;
hence i
in (
dom q) by
A5;
(q
/. i)
= (q
. i)
= (p
. i) by
A3,
A5,
A6,
FINSEQ_1:def 7,
PARTFUN1:def 6;
hence ((q
/. i)
. x)
>
0 by
PARTFUN1:def 6,
A5;
end;
end;
for p be
FinSequence holds
P[p] from
FINSEQ_1:sch 3(
A1,
A2);
hence thesis by
Z1;
end;
theorem ::
BAGORD_2:64
q is
ordered & ((q
/. 1)
. x)
=
0 & (b
. x)
>
0 implies ex y st ((q
/. 1)
. y)
>
0 & x
<= y
proof
assume
Z0: q is
ordered;
assume
Z2: ((q
/. 1)
. x)
=
0 ;
assume
Z3: (b
. x)
>
0 ;
defpred
P[
Nat] means $1
in (
dom q) implies for x st ((q
/. $1)
. x)
>
0 holds ex y st ((q
/. 1)
. y)
>
0 & x
<= y;
A1:
P[2]
proof
assume
A2: 2
in (
dom q);
then 2
<= (
len q) by
FINSEQ_3: 25;
then 1
<= (
len q) by
XXREAL_0: 2;
then 1
in (
dom q) & 2
= (1
+ 1) by
FINSEQ_3: 25;
hence thesis by
A2,
Z0;
end;
A3: for i be
Nat st 2
<= i &
P[i] holds
P[(i
+ 1)]
proof
let i be
Nat;
assume
A4: 2
<= i &
P[i] & (i
+ 1)
in (
dom q);
then i
<= (i
+ 1)
<= (
len q) by
NAT_1: 11,
FINSEQ_3: 25;
then
A0: 1
<= i
<= (
len q) by
A4,
XXREAL_0: 2;
then
A5: i
in (
dom q) by
FINSEQ_3: 25;
let x;
assume ((q
/. (i
+ 1))
. x)
>
0 ;
then
consider y such that
A6: ((q
/. i)
. y)
>
0 & x
<= y by
Z0,
A4,
A5;
consider z such that
A7: ((q
/. 1)
. z)
>
0 & y
<= z by
A4,
A0,
A6,
FINSEQ_3: 25;
take z;
thus ((q
/. 1)
. z)
>
0 by
A7;
thus x
<= z by
A6,
A7,
ORDERS_2: 3;
end;
A8: for i be
Nat st i
>= 2 holds
P[i] from
NAT_1:sch 8(
A1,
A3);
b
= (
Sum q) by
PART;
then
consider i be
Nat such that
A9: i
in (
dom q) & ((q
/. i)
. x)
>
0 by
Z3,
Lem14;
1
<= i & i
<> 1 by
A9,
Z2,
FINSEQ_3: 25;
then 1
< i by
XXREAL_0: 1;
then (1
+ 1)
<= i by
NAT_1: 13;
hence thesis by
A8,
A9;
end;