:: Kuratowski - Zorn Lemma
:: by Wojciech A. Trybulec and Grzegorz Bancerek
::
:: Received September 19, 1989
:: Copyright (c) 1990-2016 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies STRUCT_0, RELAT_1, XBOOLE_0, PARTFUN1, RELAT_2, ORDERS_1,
SUBSET_1, XXREAL_0, ARYTM_3, TREES_2, TARSKI, WELLORD1, FUNCT_1,
ZFMISC_1, ORDERS_2, CARD_1;
notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, RELAT_1, RELAT_2, FUNCT_1,
RELSET_1, PARTFUN1, CARD_1, WELLORD1, DOMAIN_1, STRUCT_0, ORDERS_1;
constructors RELAT_2, WELLORD1, PARTFUN1, DOMAIN_1, ORDERS_1, PRE_TOPC,
RELSET_1, SETFAM_1;
registrations XBOOLE_0, SUBSET_1, RELSET_1, STRUCT_0, PARTFUN1, CARD_1,
RELAT_2;
requirements BOOLE, SUBSET, NUMERALS;
definitions RELAT_2, TARSKI, WELLORD1, STRUCT_0, XBOOLE_0, ORDERS_1;
equalities RELAT_1, WELLORD1, STRUCT_0, ORDERS_1;
expansions RELAT_2, TARSKI, WELLORD1, XBOOLE_0, ORDERS_1;
theorems RELAT_1, RELAT_2, TARSKI, WELLORD1, ZFMISC_1, XBOOLE_0, XBOOLE_1,
PARTFUN1, ORDERS_1, XTUPLE_0;
schemes XFAMILY;
begin :: Original ORDERS_1
reserve X,Y,x,y for set;
definition
struct(1-sorted) RelStr (# carrier -> set, InternalRel -> Relation of the
carrier #);
end;
registration
let X be non empty set;
let R be Relation of X;
cluster RelStr(#X,R#) -> non empty;
coherence;
end;
definition
let A be RelStr;
attr A is total means
:Def1:
the InternalRel of A is total;
attr A is reflexive means
:Def2:
the InternalRel of A is_reflexive_in the carrier of A;
attr A is transitive means
:Def3:
the InternalRel of A is_transitive_in the carrier of A;
attr A is antisymmetric means
:Def4:
the InternalRel of A is_antisymmetric_in the carrier of A;
end;
registration
cluster reflexive transitive antisymmetric strict total 1-element for RelStr;
existence
proof
set R = the Order of {{}};
take L = RelStr(#{{}},R#);
A1: field R = the carrier of L by ORDERS_1:12;
hence the InternalRel of L is_reflexive_in the carrier of L by
RELAT_2:def 9;
thus the InternalRel of L is_transitive_in the carrier of L by A1,
RELAT_2:def 16;
thus the InternalRel of L is_antisymmetric_in the carrier of L by A1,
RELAT_2:def 12;
thus L is strict;
thus the InternalRel of L is total;
thus the carrier of L is 1-element;
end;
end;
registration
cluster reflexive -> total for RelStr;
coherence
proof
let L be RelStr;
assume L is reflexive;
then the InternalRel of L is_reflexive_in the carrier of L;
then dom the InternalRel of L = the carrier of L by ORDERS_1:13;
hence the InternalRel of L is total by PARTFUN1:def 2;
end;
end;
definition
mode Poset is reflexive transitive antisymmetric RelStr;
end;
registration
let A be total RelStr;
cluster the InternalRel of A -> total;
coherence by Def1;
end;
registration
let A be reflexive RelStr;
cluster the InternalRel of A -> reflexive;
coherence
proof
set R = the InternalRel of A;
R is_reflexive_in the carrier of A by Def2;
then
A1: field R = the carrier of A by ORDERS_1:13;
the InternalRel of A is_reflexive_in the carrier of A by Def2;
hence thesis by A1;
end;
end;
registration
let A be total antisymmetric RelStr;
cluster the InternalRel of A -> antisymmetric;
coherence
proof
set R = the InternalRel of A;
field R = the carrier of A & the InternalRel of A is_antisymmetric_in
the carrier of A by Def4,ORDERS_1:12;
hence thesis;
end;
end;
registration
let A be total transitive RelStr;
cluster the InternalRel of A -> transitive;
coherence
proof
set R = the InternalRel of A;
field R = the carrier of A & the InternalRel of A is_transitive_in the
carrier of A by Def3,ORDERS_1:12;
hence thesis;
end;
end;
registration
let X be set;
let O be total reflexive Relation of X;
cluster RelStr(#X,O#) -> reflexive;
coherence
proof
set A = RelStr(#X,O#);
field O = X by ORDERS_1:12;
hence the InternalRel of A is_reflexive_in the carrier of A by
RELAT_2:def 9;
end;
end;
registration
let X be set;
let O be total transitive Relation of X;
cluster RelStr(#X,O#) -> transitive;
coherence
proof
set A = RelStr(#X,O#);
field O = X by ORDERS_1:12;
hence the InternalRel of A is_transitive_in the carrier of A by
RELAT_2:def 16;
end;
end;
registration
let X be set;
let O be total antisymmetric Relation of X;
cluster RelStr(#X,O#) -> antisymmetric;
coherence
proof
set A = RelStr(#X,O#);
field O = X by ORDERS_1:12;
hence the InternalRel of A is_antisymmetric_in the carrier of A by
RELAT_2:def 12;
end;
end;
reserve A for non empty Poset;
reserve a,a1,a2,a3,b,c for Element of A;
reserve S,T for Subset of A;
Lm1: x in S implies x is Element of A;
definition
let A be RelStr;
let a1,a2 be Element of A;
pred a1 <= a2 means
[a1,a2] in the InternalRel of A;
end;
notation
let A be RelStr;
let a1,a2 be Element of A;
synonym a2 >= a1 for a1 <= a2;
end;
definition
let A be RelStr;
let a1,a2 be Element of A;
pred a1 < a2 means
a1 <= a2 & a1 <> a2;
irreflexivity;
end;
notation
let A be RelStr;
let a1,a2 be Element of A;
synonym a2 > a1 for a1 < a2;
end;
theorem Th1:
for A being reflexive non empty RelStr, a being Element of A holds a <= a
proof
let A be reflexive non empty RelStr, a be Element of A;
the InternalRel of A is_reflexive_in the carrier of A by Def2;
then [a,a] in the InternalRel of A;
hence thesis;
end;
definition
let A be reflexive non empty RelStr;
let a1,a2 be Element of A;
redefine pred a1 <= a2;
reflexivity by Th1;
end;
theorem Th2:
for A being antisymmetric RelStr, a1,a2 being Element of A st a1
<= a2 & a2 <= a1 holds a1 = a2
proof
let A be antisymmetric RelStr, a1,a2 be Element of A;
assume that
A1: [a1,a2] in the InternalRel of A and
A2: [a2,a1] in the InternalRel of A;
A3: the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
a1 in the carrier of A by A1,ZFMISC_1:87;
hence thesis by A1,A2,A3;
end;
theorem Th3:
for A being transitive RelStr, a1,a2,a3 being Element of A holds
a1 <= a2 & a2 <= a3 implies a1 <= a3
proof
let A be transitive RelStr, a1,a2,a3 be Element of A;
assume that
A1: [a1,a2] in the InternalRel of A and
A2: [a2,a3] in the InternalRel of A;
A3: the InternalRel of A is_transitive_in the carrier of A by Def3;
a1 in the carrier of A by A1,ZFMISC_1:87;
hence [a1,a3] in the InternalRel of A by A1,A2,A3;
end;
theorem Th4:
for A being antisymmetric RelStr, a1,a2 being Element of A holds
not(a1 < a2 & a2 < a1)
by Th2;
theorem Th5:
for A being transitive antisymmetric RelStr for a1,a2,a3 being
Element of A holds a1 < a2 & a2 < a3 implies a1 < a3
by Th3,Th4;
theorem Th6:
for A being antisymmetric RelStr, a1,a2 being Element of A holds
a1 <= a2 implies not a2 < a1
by Th2;
theorem Th7:
for A being transitive antisymmetric RelStr for a1,a2,a3 being
Element of A holds a1 < a2 & a2 <= a3 or a1 <= a2 & a2 < a3 implies a1 < a3
by Th2,Th3;
::
:: Chains.
::
definition
let A be RelStr;
let IT be Subset of A;
attr IT is strongly_connected means
:Def7:
the InternalRel of A is_strongly_connected_in IT;
end;
registration
let A be RelStr;
cluster empty -> strongly_connected for Subset of A;
coherence
proof let S be Subset of A;
assume S is empty;
then
A1: S = {}A;
let x1,x2 be object;
thus thesis by A1;
end;
end;
registration
let A be RelStr;
cluster strongly_connected for Subset of A;
existence
proof
take {}A;
thus thesis;
end;
end;
definition
let A be RelStr;
mode Chain of A is strongly_connected Subset of A;
end;
theorem Th8:
for A being non empty reflexive RelStr for a being Element of A
holds {a} is Chain of A
proof
let A be non empty reflexive RelStr, a be Element of A;
A1: the InternalRel of A is_reflexive_in the carrier of A by Def2;
{a} is strongly_connected
proof
let x1,x2 be object;
assume x1 in {a} & x2 in {a};
then x1 = a & x2 = a by TARSKI:def 1;
hence thesis by A1;
end;
hence thesis;
end;
theorem Th9:
for A being non empty reflexive RelStr, a1,a2 being Element of A
holds {a1,a2} is Chain of A iff a1 <= a2 or a2 <= a1
proof
let A be non empty reflexive RelStr, a1,a2 be Element of A;
A1: a2 <= a2;
thus {a1,a2} is Chain of A implies a1 <= a2 or a2 <= a1
proof
assume {a1,a2} is Chain of A;
then
A2: the InternalRel of A is_strongly_connected_in {a1,a2} by Def7;
a1 in {a1,a2} & a2 in {a1,a2} by TARSKI:def 2;
then
[a1,a2] in the InternalRel of A or [a2,a1] in the InternalRel of A by A2;
hence thesis;
end;
assume
A3: a1 <= a2 or a2 <= a1;
A4: a1 <= a1;
{a1,a2} is strongly_connected
proof
let x,y be object;
assume
A5: x in {a1,a2} & y in {a1,a2};
now
per cases by A5,TARSKI:def 2;
suppose
x = a1 & y = a1;
hence thesis by A4;
end;
suppose
x = a1 & y = a2;
hence thesis by A3;
end;
suppose
x = a2 & y = a1;
hence thesis by A3;
end;
suppose
x = a2 & y = a2;
hence thesis by A1;
end;
end;
hence thesis;
end;
hence thesis;
end;
theorem
for A being RelStr, C being Chain of A, S being Subset of A holds S c=
C implies S is Chain of A
proof
let A be RelStr, C be Chain of A, S be Subset of A;
assume
A1: S c= C;
the InternalRel of A is_strongly_connected_in C by Def7;
then the InternalRel of A is_strongly_connected_in S by A1;
hence thesis by Def7;
end;
theorem Th11:
for A being reflexive RelStr, a1,a2 being Element of A holds (ex
C being Chain of A st a1 in C & a2 in C) iff a1 <= a2 or a2 <= a1
proof
let A be reflexive RelStr;
let a1,a2 be Element of A;
thus (ex C being Chain of A st a1 in C & a2 in C) implies a1 <= a2 or a2 <=
a1
proof
given C being Chain of A such that
A1: a1 in C & a2 in C;
the InternalRel of A is_strongly_connected_in C by Def7;
then
[a1,a2] in the InternalRel of A or [a2,a1] in the InternalRel of A by A1;
hence thesis;
end;
assume
A2: a1 <= a2 or a2 <= a1;
then
[a1,a2] in the InternalRel of A or [a2,a1] in the InternalRel of A;
then reconsider B = A as non empty reflexive RelStr;
reconsider b1 = a1, b2 = a2 as Element of B;
reconsider Y = {b1,b2} as Chain of A by A2,Th9;
take Y;
thus thesis by TARSKI:def 2;
end;
theorem Th12:
for A being reflexive antisymmetric RelStr, a1,a2 being Element
of A holds (ex C being Chain of A st a1 in C & a2 in C) iff (a1 < a2 iff not a2
<= a1)
by Th6,Th11;
theorem Th13:
for A being RelStr, T being Subset of A holds the InternalRel of
A well_orders T implies T is Chain of A
by ORDERS_1:7,Def7;
::
:: Upper and lower cones.
::
definition
let A;
let S;
func UpperCone(S) -> Subset of A equals
{a1 : for a2 st a2 in S holds a2 <
a1};
coherence
proof
set T = {a1 : for a2 st a2 in S holds a2 < a1};
T c= the carrier of A
proof
let x be object;
assume x in T;
then ex a1 st x = a1 & for a2 st a2 in S holds a2 < a1;
hence thesis;
end;
hence thesis;
end;
end;
definition
let A;
let S;
func LowerCone(S) -> Subset of A equals
{a1 : for a2 st a2 in S holds a1 <
a2};
coherence
proof
set T = {a1 : for a2 st a2 in S holds a1 < a2};
T c= the carrier of A
proof
let x be object;
assume x in T;
then ex a1 st x = a1 & for a2 st a2 in S holds a1 < a2;
hence thesis;
end;
hence thesis;
end;
end;
theorem Th14:
UpperCone({}(A)) = the carrier of A
proof
thus UpperCone({}(A)) c= the carrier of A;
let x be object;
assume x in the carrier of A;
then reconsider a = x as Element of A;
for a2 st a2 in {}(A) holds a2 < a;
hence thesis;
end;
theorem
UpperCone([#](A)) = {}
proof
thus UpperCone([#](A)) c= {}
proof
let x be object;
assume x in UpperCone([#](A));
then ex a st x = a & for a2 st a2 in [#](A) holds a2 < a;
hence thesis;
end;
thus thesis;
end;
theorem
LowerCone({}(A)) = the carrier of A
proof
thus LowerCone({}(A)) c= the carrier of A;
let x be object;
assume x in the carrier of A;
then reconsider a = x as Element of A;
for a2 st a2 in {}(A) holds a < a2;
hence thesis;
end;
theorem
LowerCone([#](A)) = {}
proof
thus LowerCone([#](A)) c= {}
proof
let x be object;
assume x in LowerCone([#](A));
then ex a st x = a & for a2 st a2 in [#](A) holds a < a2;
hence thesis;
end;
thus thesis;
end;
theorem Th18:
a in S implies not a in UpperCone(S)
proof
assume that
A1: a in S and
A2: a in UpperCone(S);
ex a1 st a1 = a & for a2 st a2 in S holds a2 < a1 by A2;
hence thesis by A1;
end;
theorem
not a in UpperCone{a}
proof
a in {a} by TARSKI:def 1;
hence thesis by Th18;
end;
theorem Th20:
a in S implies not a in LowerCone(S)
proof
assume that
A1: a in S and
A2: a in LowerCone(S);
ex a1 st a1 = a & for a2 st a2 in S holds a1 < a2 by A2;
hence thesis by A1;
end;
theorem Th21:
not a in LowerCone{a}
proof
a in {a} by TARSKI:def 1;
hence thesis by Th20;
end;
theorem
c < a iff a in UpperCone{c}
proof
thus c < a implies a in UpperCone{c}
proof
assume c < a;
then for b holds b in {c} implies b < a by TARSKI:def 1;
hence thesis;
end;
assume a in UpperCone{c};
then
A1: ex a1 st a1 = a & for a2 st a2 in {c} holds a2 < a1;
c in {c} by TARSKI:def 1;
hence thesis by A1;
end;
theorem Th23:
a < c iff a in LowerCone{c}
proof
thus a < c implies a in LowerCone{c}
proof
assume a < c;
then for b holds b in {c} implies a < b by TARSKI:def 1;
hence thesis;
end;
assume a in LowerCone{c};
then
A1: ex a1 st a1 = a & for a2 st a2 in {c} holds a1 < a2;
c in {c} by TARSKI:def 1;
hence thesis by A1;
end;
::
:: Initial segments.
::
definition
let A;
let S;
let a;
func InitSegm(S,a) -> Subset of A equals
LowerCone{a} /\ S;
correctness;
end;
definition
let A;
let S;
mode Initial_Segm of S -> Subset of A means
:Def11:
ex a st a in S & it = InitSegm(S,a) if S <> {} otherwise it = {};
existence
proof
now
set x = the Element of S;
assume S <> {};
then reconsider x as Element of A by Lm1;
take T = InitSegm(S,x);
thus S <> {} implies ex a st a in S & T = InitSegm(S,a);
thus S = {} implies T = {};
end;
hence thesis;
end;
consistency;
end;
theorem Th24:
a in InitSegm(S,b) iff a < b & a in S
proof
a in InitSegm(S,b) iff a in LowerCone{b} & a in S by XBOOLE_0:def 4;
hence thesis by Th23;
end;
theorem
InitSegm({}(A),a) = {};
theorem Th26:
not a in InitSegm(S,a)
proof
assume not thesis;
then a in LowerCone{a} by XBOOLE_0:def 4;
then
A1: ex a1 st a = a1 & for a2 st a2 in {a} holds a1 < a2;
a in {a} by TARSKI:def 1;
hence thesis by A1;
end;
theorem
a1 < a2 implies InitSegm(S,a1) c= InitSegm(S,a2)
proof
assume
A1: a1 < a2;
let x be object;
assume
A2: x in InitSegm(S,a1);
then x in LowerCone{a1} by XBOOLE_0:def 4;
then consider a such that
A3: a = x and
A4: for b st b in {a1} holds a < b;
a1 in {a1} by TARSKI:def 1;
then a < a1 by A4;
then a < a2 by A1,Th5;
then for b holds b in {a2} implies a < b by TARSKI:def 1;
then
A5: x in LowerCone{a2} by A3;
x in S by A2,XBOOLE_0:def 4;
hence thesis by A5,XBOOLE_0:def 4;
end;
theorem Th28:
S c= T implies InitSegm(S,a) c= InitSegm(T,a)
proof
assume
A1: S c= T;
let x be object;
assume x in InitSegm(S,a);
then x in S & x in LowerCone{a} by XBOOLE_0:def 4;
hence thesis by A1,XBOOLE_0:def 4;
end;
theorem Th29:
for I being Initial_Segm of S holds I c= S
proof
let I be Initial_Segm of S;
per cases;
suppose
S = {};
hence thesis by Def11;
end;
suppose
S <> {};
then ex a st a in S & I = InitSegm(S,a) by Def11;
hence thesis by XBOOLE_1:17;
end;
end;
theorem Th30:
S <> {} iff not S is Initial_Segm of S
proof
thus S <> {} implies not S is Initial_Segm of S
proof
assume S <> {} & S is Initial_Segm of S;
then consider a such that
A1: a in S & S = InitSegm(S,a) by Def11;
a in LowerCone{a} by A1,XBOOLE_0:def 4;
hence thesis by Th21;
end;
thus thesis by Def11;
end;
theorem Th31:
S <> {} & S is Initial_Segm of T implies not T is Initial_Segm of S
proof
assume that
A1: S <> {} and
A2: S is Initial_Segm of T and
A3: T is Initial_Segm of S;
now
per cases;
suppose
S = {};
hence thesis by A1;
end;
suppose
T = {};
hence thesis by A1,A2,Def11;
end;
suppose
A4: S <> {} & T <> {};
then consider a2 such that
A5: a2 in T and
A6: S = InitSegm(T,a2) by A2,Def11;
consider a1 such that
A7: a1 in S and
A8: T = InitSegm(S,a1) by A3,A4,Def11;
a1 in LowerCone{a2} by A7,A6,XBOOLE_0:def 4;
then
A9: ex a st a = a1 & for b st b in {a2} holds a < b;
a2 in LowerCone{a1} by A8,A5,XBOOLE_0:def 4;
then
A10: ex a3 st a3 = a2 & for b st b in {a1} holds a3 < b;
a1 in {a1} by TARSKI:def 1;
then
A11: a2 < a1 by A10;
a2 in {a2} by TARSKI:def 1;
then a1 < a2 by A9;
hence thesis by A11,Th4;
end;
end;
hence thesis;
end;
theorem Th32:
a1 < a2 & a1 in S & a2 in T & T is Initial_Segm of S implies a1 in T
proof
assume that
A1: a1 < a2 and
A2: a1 in S and
A3: a2 in T and
A4: T is Initial_Segm of S;
consider a such that
a in S and
A5: T = InitSegm(S,a) by A2,A4,Def11;
now
let b;
assume b in {a};
then
A6: b = a by TARSKI:def 1;
a2 in LowerCone{a} by A3,A5,XBOOLE_0:def 4;
then
A7: ex a3 st a3 = a2 & for c st c in {a} holds a3 < c;
a in {a} by TARSKI:def 1;
then a2 < a by A7;
hence a1 < b by A1,A6,Th5;
end;
then a1 in LowerCone{a};
hence thesis by A2,A5,XBOOLE_0:def 4;
end;
theorem Th33:
a in S & S is Initial_Segm of T implies InitSegm(S,a) = InitSegm (T,a)
proof
assume that
A1: a in S and
A2: S is Initial_Segm of T;
A3: S c= T by A2,Th29;
thus InitSegm(S,a) c= InitSegm(T,a)
proof
let x be object;
assume x in InitSegm(S,a);
then x in LowerCone{a} & x in S by XBOOLE_0:def 4;
hence thesis by A3,XBOOLE_0:def 4;
end;
let x be object;
assume
A4: x in InitSegm(T,a);
then
A5: x in LowerCone{a} by XBOOLE_0:def 4;
then consider a1 such that
A6: x = a1 and
A7: for a2 st a2 in {a} holds a1 < a2;
A8: a1 in T by A4,A6,XBOOLE_0:def 4;
a in {a} by TARSKI:def 1;
then a1 < a by A7;
then x in S by A1,A2,A6,A8,Th32;
hence thesis by A5,XBOOLE_0:def 4;
end;
theorem
S c= T & the InternalRel of A well_orders T & (for a1,a2 st a2 in S &
a1 < a2 holds a1 in S) implies S = T or S is Initial_Segm of T
proof
assume that
A1: S c= T and
A2: the InternalRel of A well_orders T and
A3: for a1,a2 st a2 in S & a1 < a2 holds a1 in S and
A4: S <> T;
per cases;
case
T <> {};
set Y = T \ S;
not T c= S by A1,A4;
then Y <> {} by XBOOLE_1:37;
then consider x being object such that
A5: x in Y and
A6: for y being object st y in Y holds [x,y] in the InternalRel of A
by A2,WELLORD1:5
,XBOOLE_1:36;
reconsider x as Element of A by A5;
take x;
thus
A7: x in T by A5,XBOOLE_0:def 5;
S = LowerCone{x} /\ T
proof
thus S c= LowerCone{x} /\ T
proof
let y be object;
assume
A8: y in S;
then reconsider a = y as Element of A;
now
let a1;
assume that
A9: a1 in {x} and
A10: not a < a1;
A11: a1 = x by A9,TARSKI:def 1;
then
A12: a1 <> a by A5,A8,XBOOLE_0:def 5;
T is Chain of A by A2,Th13;
then a1 <= a by A1,A7,A8,A10,A11,Th12;
then a1 < a by A12;
then a1 in S by A3,A8;
hence contradiction by A5,A11,XBOOLE_0:def 5;
end;
then y in {a1 : for a2 st a2 in {x} holds a1 < a2};
hence thesis by A1,A8,XBOOLE_0:def 4;
end;
let y be object;
assume
A13: y in LowerCone{x} /\ T;
then y in LowerCone{x} by XBOOLE_0:def 4;
then consider a such that
A14: a = y and
A15: for a2 st a2 in {x} holds a < a2;
A16: now
assume y in Y;
then [x,y] in the InternalRel of A by A6;
then
A17: x <= a by A14;
x in {x} by TARSKI:def 1;
hence contradiction by A15,A17,Th6;
end;
y in T by A13,XBOOLE_0:def 4;
hence thesis by A16,XBOOLE_0:def 5;
end;
hence thesis;
end;
case
T = {};
hence thesis by A1;
end;
end;
theorem Th35:
S c= T & the InternalRel of A well_orders T & (for a1,a2 st a2
in S & a1 in T & a1 < a2 holds a1 in S) implies S = T or S is Initial_Segm of T
proof
assume that
A1: S c= T and
A2: the InternalRel of A well_orders T and
A3: for a1,a2 st a2 in S & a1 in T & a1 < a2 holds a1 in S and
A4: S <> T;
per cases;
case
T <> {};
set Y = T \ S;
not T c= S by A1,A4;
then Y <> {} by XBOOLE_1:37;
then consider x being object such that
A5: x in Y and
A6: for y being object st y in Y holds [x,y] in the InternalRel of A
by A2,WELLORD1:5
,XBOOLE_1:36;
reconsider x as Element of A by A5;
take x;
thus
A7: x in T by A5,XBOOLE_0:def 5;
S = LowerCone{x} /\ T
proof
thus S c= LowerCone{x} /\ T
proof
let y be object;
assume
A8: y in S;
then reconsider a = y as Element of A;
now
let a1;
assume that
A9: a1 in {x} and
A10: not a < a1;
A11: a1 = x by A9,TARSKI:def 1;
then
A12: a1 <> a by A5,A8,XBOOLE_0:def 5;
T is Chain of A by A2,Th13;
then a1 <= a by A1,A7,A8,A10,A11,Th12;
then a1 < a by A12;
then a1 in S by A3,A7,A8,A11;
hence contradiction by A5,A11,XBOOLE_0:def 5;
end;
then y in {a1 : for a2 st a2 in {x} holds a1 < a2};
hence thesis by A1,A8,XBOOLE_0:def 4;
end;
let y be object;
assume
A13: y in LowerCone{x} /\ T;
then y in LowerCone{x} by XBOOLE_0:def 4;
then consider a such that
A14: a = y and
A15: for a2 st a2 in {x} holds a < a2;
A16: now
assume y in Y;
then [x,y] in the InternalRel of A by A6;
then
A17: x <= a by A14;
x in {x} by TARSKI:def 1;
hence contradiction by A15,A17,Th6;
end;
y in T by A13,XBOOLE_0:def 4;
hence thesis by A16,XBOOLE_0:def 5;
end;
hence thesis;
end;
case
T = {};
hence thesis by A1;
end;
end;
::
:: Chains of choice function of BOOL of partially ordered sets.
::
reserve f for Choice_Function of BOOL(the carrier of A);
definition
let A;
let f;
mode Chain of f -> Chain of A means
:Def12:
it <> {} & the InternalRel of A
well_orders it & for a st a in it holds f.UpperCone(InitSegm(it,a)) = a;
existence
proof
set AC = the carrier of A;
AC in BOOL AC & not {} in BOOL AC by ORDERS_1:1,2;
then reconsider aa = f.AC as Element of A by ORDERS_1:89;
reconsider X = {aa} as Chain of A by Th8;
take X;
thus X <> {};
A1: the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
the InternalRel of A is_reflexive_in the carrier of A & the
InternalRel of A is_transitive_in the carrier of A by Def2,Def3;
hence the InternalRel of A is_reflexive_in X & the InternalRel of A
is_transitive_in X & the InternalRel of A is_antisymmetric_in X by A1;
the InternalRel of A is_strongly_connected_in X by Def7;
hence the InternalRel of A is_connected_in X;
thus the InternalRel of A is_well_founded_in X
proof
reconsider x = aa as set;
let Y;
assume that
A2: Y c= X and
A3: Y <> {};
take x;
Y = X by A2,A3,ZFMISC_1:33;
hence x in Y by TARSKI:def 1;
thus (the InternalRel of A)-Seg(x) /\ Y c= {}
proof
let y be object;
assume
A4: y in (the InternalRel of A)-Seg(x) /\ Y;
then y in Y by XBOOLE_0:def 4;
then
A5: y = aa by A2,TARSKI:def 1;
y in (the InternalRel of A)-Seg(x) by A4,XBOOLE_0:def 4;
hence thesis by A5,WELLORD1:1;
end;
thus thesis;
end;
let a;
assume a in X;
then
A6: a = aa by TARSKI:def 1;
LowerCone{a} /\ X c= {}(A)
proof
let x be object;
assume
A7: x in LowerCone{a} /\ X;
then x in LowerCone{a} by XBOOLE_0:def 4;
then
A8: ex a1 st x = a1 & for a2 st a2 in {a} holds a1 < a2;
x in X by A7,XBOOLE_0:def 4;
hence thesis by A6,A8;
end;
then LowerCone{a} /\ X = {}(A);
hence thesis by A6,Th14;
end;
end;
reserve fC,fC1,fC2 for Chain of f;
theorem Th36:
{f.(the carrier of A)} is Chain of f
proof
set AC = the carrier of A;
AC in BOOL AC & not {} in BOOL AC by ORDERS_1:1,2;
then reconsider aa = f.AC as Element of A by ORDERS_1:89;
reconsider X = {aa} as Chain of A by Th8;
A1: the InternalRel of A is_well_founded_in X
proof
reconsider x = aa as set;
let Y;
assume that
A2: Y c= X and
A3: Y <> {};
take x;
Y = X by A2,A3,ZFMISC_1:33;
hence x in Y by TARSKI:def 1;
thus (the InternalRel of A)-Seg(x) /\ Y c= {}
proof
let y be object;
assume
A4: y in (the InternalRel of A)-Seg(x) /\ Y;
then y in Y by XBOOLE_0:def 4;
then
A5: y = aa by A2,TARSKI:def 1;
y in (the InternalRel of A)-Seg(x) by A4,XBOOLE_0:def 4;
hence thesis by A5,WELLORD1:1;
end;
thus thesis;
end;
A6: for a st a in X holds f.UpperCone(InitSegm(X,a)) = a
proof
let a;
assume a in X;
then
A7: a = aa by TARSKI:def 1;
LowerCone{a} /\ X c= {}(A)
proof
let x be object;
assume
A8: x in LowerCone{a} /\ X;
then x in LowerCone{a} by XBOOLE_0:def 4;
then
A9: ex a1 st x = a1 & for a2 st a2 in {a} holds a1 < a2;
x in X by A8,XBOOLE_0:def 4;
hence thesis by A7,A9;
end;
then LowerCone{a} /\ X = {}(A);
hence thesis by A7,Th14;
end;
the InternalRel of A is_strongly_connected_in X by Def7;
then
A10: the InternalRel of A is_connected_in X;
the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
then
A11: the InternalRel of A is_antisymmetric_in X;
the InternalRel of A is_transitive_in the carrier of A by Def3;
then
A12: the InternalRel of A is_transitive_in X;
the InternalRel of A is_reflexive_in the carrier of A by Def2;
then the InternalRel of A is_reflexive_in X;
then the InternalRel of A well_orders X by A12,A11,A10,A1;
hence thesis by A6,Def12;
end;
theorem Th37:
f.(the carrier of A) in fC
proof
the InternalRel of A well_orders fC & fC <> {} by Def12;
then consider x being object such that
A1: x in fC and
A2: for y being object st y in fC holds [x,y] in the InternalRel of A
by WELLORD1:5;
reconsider x as Element of A by A1;
A3: now
set y = the Element of LowerCone{x} /\ fC;
assume
A4: LowerCone{x} /\ fC <> {}(A);
then reconsider a = y as Element of A by Lm1;
a in LowerCone{x} by A4,XBOOLE_0:def 4;
then
A5: ex a1 st a = a1 & for a2 st a2 in {x} holds a1 < a2;
y in fC by A4,XBOOLE_0:def 4;
then [x,y] in the InternalRel of A by A2;
then
A6: x <= a;
x in {x} by TARSKI:def 1;
hence contradiction by A6,A5,Th6;
end;
LowerCone{x} /\ fC = InitSegm(fC,x);
then f.UpperCone(LowerCone{x} /\ fC) = x by A1,Def12;
hence thesis by A1,A3,Th14;
end;
theorem Th38:
a in fC & b = f.(the carrier of A) implies b <= a
proof
assume that
A1: a in fC and
A2: b = f.(the carrier of A);
the InternalRel of A well_orders fC & fC <> {} by Def12;
then consider x being object such that
A3: x in fC and
A4: for y being object st y in fC holds [x,y] in the InternalRel of A
by WELLORD1:5;
reconsider x as Element of A by A3;
A5: now
set y = the Element of LowerCone{x} /\ fC;
assume
A6: LowerCone{x} /\ fC <> {}(A);
then reconsider a = y as Element of A by Lm1;
a in LowerCone{x} by A6,XBOOLE_0:def 4;
then
A7: ex a1 st a = a1 & for a2 st a2 in {x} holds a1 < a2;
y in fC by A6,XBOOLE_0:def 4;
then [x,y] in the InternalRel of A by A4;
then
A8: x <= a;
x in {x} by TARSKI:def 1;
hence contradiction by A8,A7,Th6;
end;
LowerCone{x} /\ fC = InitSegm(fC,x);
then f.UpperCone(LowerCone{x} /\ fC) = x by A3,Def12;
then
A9: f.(the carrier of A) = x by A5,Th14;
[x,a] in the InternalRel of A by A1,A4;
hence thesis by A2,A9;
end;
theorem
a = f.(the carrier of A) implies InitSegm(fC,a) = {}
proof
set x = the Element of LowerCone{a} /\ fC;
assume
A1: a = f.(the carrier of A);
then
A2: a in fC by Th37;
assume
A3: InitSegm(fC,a) <> {};
then reconsider b = x as Element of A by Lm1;
x in LowerCone{a} by A3,XBOOLE_0:def 4;
then
A4: ex a1 st a1 = b & for a2 st a2 in {a} holds a1 < a2;
a in {a} by TARSKI:def 1;
then
A5: b < a by A4;
A6: x in fC by A3,XBOOLE_0:def 4;
then a <= b by A1,Th38;
hence contradiction by A2,A6,A5,Th12;
end;
theorem
fC1 meets fC2
proof
f.(the carrier of A) in fC1 & f.(the carrier of A) in fC2 by Th37;
hence thesis by XBOOLE_0:3;
end;
theorem Th41:
fC1 <> fC2 implies (fC1 is Initial_Segm of fC2 iff not fC2 is
Initial_Segm of fC1)
proof
assume
A1: fC1 <> fC2;
set N = {a : a in fC1 /\ fC2 & InitSegm(fC1,a) = InitSegm(fC2,a)};
A2: N c= fC1
proof
let x be object;
assume x in N;
then
ex a st a = x & a in fC1 /\ fC2 & InitSegm(fC1,a) = InitSegm(fC2,a);
hence thesis by XBOOLE_0:def 4;
end;
then reconsider N as Subset of A by XBOOLE_1:1;
A3: N c= fC2
proof
let x be object;
assume x in N;
then ex a st a = x & a in fC1 /\ fC2 & InitSegm(fC1,a) = InitSegm(fC2,a);
hence thesis by XBOOLE_0:def 4;
end;
A4: now
let a1,a2;
assume that
A5: a2 in N and
A6: a1 in fC1 and
A7: a1 < a2;
A8: ex a st a = a2 & a in fC1 /\ fC2 & InitSegm(fC1,a) = InitSegm(fC2,a) by A5;
A9: InitSegm(fC1,a1) = InitSegm(fC2,a1)
proof
thus InitSegm(fC1,a1) c= InitSegm(fC2,a1)
proof
let x be object;
assume
A10: x in InitSegm(fC1,a1);
then reconsider b = x as Element of A;
A11: b in fC1 by A10,Th24;
A12: b < a1 by A10,Th24;
then b < a2 by A7,Th5;
then b in InitSegm(fC1,a2) by A11,Th24;
then b in fC2 by A8,Th24;
hence thesis by A12,Th24;
end;
let x be object;
assume
A13: x in InitSegm(fC2,a1);
then reconsider b = x as Element of A;
A14: b in fC2 by A13,Th24;
A15: b < a1 by A13,Th24;
then b < a2 by A7,Th5;
then b in InitSegm(fC2,a2) by A14,Th24;
then b in fC1 by A8,Th24;
hence thesis by A15,Th24;
end;
a1 in InitSegm(fC2,a2) by A6,A7,A8,Th24;
then a1 in fC2 by XBOOLE_0:def 4;
then a1 in fC1 /\ fC2 by A6,XBOOLE_0:def 4;
hence a1 in N by A9;
end;
A16: now
let a1,a2;
assume that
A17: a2 in N and
A18: a1 in fC2 and
A19: a1 < a2;
A20: ex a st a = a2 & a in fC1 /\ fC2 & InitSegm(fC1,a) = InitSegm(fC2,a)
by A17;
A21: InitSegm(fC1,a1) = InitSegm(fC2,a1)
proof
thus InitSegm(fC1,a1) c= InitSegm(fC2,a1)
proof
let x be object;
assume
A22: x in InitSegm(fC1,a1);
then reconsider b = x as Element of A;
A23: b in fC1 by A22,Th24;
A24: b < a1 by A22,Th24;
then b < a2 by A19,Th5;
then b in InitSegm(fC1,a2) by A23,Th24;
then b in fC2 by A20,Th24;
hence thesis by A24,Th24;
end;
let x be object;
assume
A25: x in InitSegm(fC2,a1);
then reconsider b = x as Element of A;
A26: b in fC2 by A25,Th24;
A27: b < a1 by A25,Th24;
then b < a2 by A19,Th5;
then b in InitSegm(fC2,a2) by A26,Th24;
then b in fC1 by A20,Th24;
hence thesis by A27,Th24;
end;
a1 in InitSegm(fC1,a2) by A18,A19,A20,Th24;
then a1 in fC1 by XBOOLE_0:def 4;
then a1 in fC1 /\ fC2 by A18,XBOOLE_0:def 4;
hence a1 in N by A21;
end;
A28: the InternalRel of A well_orders fC1 & the InternalRel of A well_orders
fC2 by Def12;
now
per cases by A2,A4,A28,A3,A16,Th35;
suppose
A29: N is Initial_Segm of fC1 & N = fC2;
fC1 <> {} by Def12;
hence thesis by A29,Th31;
end;
suppose
A30: N is Initial_Segm of fC2 & N = fC1;
fC2 <> {} by Def12;
hence thesis by A30,Th31;
end;
suppose
N = fC1 & N = fC2;
hence thesis by A1;
end;
suppose
A31: N is Initial_Segm of fC1 & N is Initial_Segm of fC2;
fC2 <> {} by Def12;
then consider b such that
A32: b in fC2 and
A33: N = InitSegm(fC2,b) by A31,Def11;
fC1 <> {} by Def12;
then consider a such that
A34: a in fC1 and
A35: N = InitSegm(fC1,a) by A31,Def11;
A36: a = f.UpperCone(InitSegm(fC2,b)) by A34,A35,A33,Def12
.= b by A32,Def12;
then a in fC1 /\ fC2 by A34,A32,XBOOLE_0:def 4;
then a in N by A35,A33,A36;
hence thesis by A35,Th26;
end;
end;
hence thesis;
end;
theorem Th42:
fC1 c< fC2 iff fC1 is Initial_Segm of fC2
proof
thus fC1 c< fC2 implies fC1 is Initial_Segm of fC2
proof
assume
A1: fC1 c< fC2;
now
assume
A2: fC2 is Initial_Segm of fC1;
fC1 <> {} by Def12;
then ex a st a in fC1 & fC2 = InitSegm(fC1,a) by A2,Def11;
then fC2 c= fC1 by XBOOLE_1:17;
hence contradiction by A1,XBOOLE_0:def 8;
end;
hence thesis by A1,Th41;
end;
assume
A3: fC1 is Initial_Segm of fC2;
A4: fC2 <> {} by Def12;
then ex a st a in fC2 & fC1 = InitSegm(fC2,a) by A3,Def11;
then
A5: fC1 c= fC2 by XBOOLE_1:17;
fC1 <> fC2 by A3,A4,Th30;
hence thesis by A5;
end;
definition
let A;
let f;
func Chains f -> set means
:Def13:
x in it iff x is Chain of f;
existence
proof
defpred P[set] means $1 is Chain of f;
consider X such that
A1: for x holds x in X iff x in bool(the carrier of A) & P[x] from
XFAMILY:sch 1;
take X;
let x;
thus x in X implies x is Chain of f by A1;
assume x is Chain of f;
hence thesis by A1;
end;
uniqueness
proof
let D1,D2 be set;
assume
A2: for x holds x in D1 iff x is Chain of f;
assume
A3: for x holds x in D2 iff x is Chain of f;
thus D1 c= D2
proof
let x be object;
assume x in D1;
then x is Chain of f by A2;
hence thesis by A3;
end;
let x be object;
assume x in D2;
then x is Chain of f by A3;
hence thesis by A2;
end;
end;
registration
let A;
let f;
cluster Chains f -> non empty;
coherence
proof
set x = the Chain of f;
x in Chains f by Def13;
hence thesis;
end;
end;
Lm2: union(Chains(f)) is Subset of A
proof
now
let X;
assume X in Chains(f);
then X is Chain of f by Def13;
hence X c= the carrier of A;
end;
hence thesis by ZFMISC_1:76;
end;
Lm3: union(Chains(f)) is Chain of A
proof
reconsider C = union(Chains(f)) as Subset of A by Lm2;
the InternalRel of A is_strongly_connected_in C
proof
let x,y be object;
assume that
A1: x in C and
A2: y in C;
consider X such that
A3: x in X and
A4: X in Chains(f) by A1,TARSKI:def 4;
consider Y such that
A5: y in Y and
A6: Y in Chains(f) by A2,TARSKI:def 4;
reconsider X,Y as Chain of f by A4,A6,Def13;
A7: the InternalRel of A is_strongly_connected_in X by Def7;
A8: the InternalRel of A is_strongly_connected_in Y by Def7;
now
per cases;
suppose
X = Y;
hence thesis by A3,A5,A7;
end;
suppose
A9: X <> Y;
now
per cases by A9,Th41;
suppose
X is Initial_Segm of Y;
then X c< Y by Th42;
then X c= Y;
hence thesis by A3,A5,A8;
end;
suppose
Y is Initial_Segm of X;
then Y c< X by Th42;
then Y c= X;
hence thesis by A3,A5,A7;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
hence thesis by Def7;
end;
theorem Th43:
union(Chains(f)) <> {}
proof
{f.(the carrier of A)} is Chain of f by Th36;
then {f.(the carrier of A)} in Chains(f) by Def13;
hence thesis by ORDERS_1:6;
end;
theorem Th44:
fC <> union(Chains(f)) & S = union(Chains(f)) implies fC is Initial_Segm of S
proof
assume that
A1: fC <> union(Chains(f)) and
A2: S = union(Chains(f));
set x = the Element of S \ fC;
fC in Chains(f) by Def13;
then fC c= union(Chains(f)) by ZFMISC_1:74;
then not union(Chains(f)) c= fC by A1;
then
A3: S \ fC <> {} by A2,XBOOLE_1:37;
then
A4: not x in fC by XBOOLE_0:def 5;
x in S by A3,XBOOLE_0:def 5;
then consider X such that
A5: x in X and
A6: X in Chains(f) by A2,TARSKI:def 4;
reconsider X as Chain of f by A6,Def13;
not X c= fC by A3,A5,XBOOLE_0:def 5;
then not X c< fC;
then not X is Initial_Segm of fC by Th42;
then fC is Initial_Segm of X by A5,A4,Th41;
then consider a such that
A7: a in X and
A8: fC = InitSegm(X,a) by A5,Def11;
A9: X c= S by A2,A6,ZFMISC_1:74;
InitSegm(S,a) = InitSegm(X,a)
proof
thus InitSegm(S,a) c= InitSegm(X,a)
proof
let x be object;
assume
A10: x in InitSegm(S,a);
then
A11: x in LowerCone{a} by XBOOLE_0:def 4;
then consider b such that
A12: b = x and
A13: for a2 st a2 in {a} holds b < a2;
b in S by A10,A12,XBOOLE_0:def 4;
then consider Y such that
A14: b in Y and
A15: Y in Chains(f) by A2,TARSKI:def 4;
reconsider Y as Chain of f by A15,Def13;
a in {a} by TARSKI:def 1;
then
A16: b < a by A13;
now
per cases;
suppose
X = Y;
hence thesis by A11,A12,A14,XBOOLE_0:def 4;
end;
suppose
A17: X <> Y;
now
per cases by A17,Th41;
suppose
X is Initial_Segm of Y;
then x in X by A7,A12,A16,A14,Th32;
hence thesis by A11,XBOOLE_0:def 4;
end;
suppose
Y is Initial_Segm of X;
then Y c< X by Th42;
then Y c= X;
hence thesis by A11,A12,A14,XBOOLE_0:def 4;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
let x be object;
assume x in InitSegm(X,a);
then x in LowerCone{a} & x in X by XBOOLE_0:def 4;
hence thesis by A9,XBOOLE_0:def 4;
end;
hence thesis by A7,A8,A9,Def11;
end;
theorem Th45:
union(Chains(f)) is Chain of f
proof
reconsider C = union(Chains(f)) as Chain of A by Lm3;
A1: now
let a;
assume a in C;
then consider X such that
A2: a in X and
A3: X in Chains(f) by TARSKI:def 4;
reconsider X as Chain of f by A3,Def13;
now
InitSegm(C,a) = InitSegm(X,a) by A2,Th33,Th44;
hence f.UpperCone(InitSegm(C,a)) = a by A2,Def12;
end;
hence f.UpperCone(InitSegm(C,a)) = a;
end;
A4: the InternalRel of A well_orders C
proof
A5: the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
the InternalRel of A is_reflexive_in the carrier of A & the
InternalRel of A is_transitive_in the carrier of A by Def2,Def3;
hence the InternalRel of A is_reflexive_in C & the InternalRel of A
is_transitive_in C & the InternalRel of A is_antisymmetric_in C by A5;
the InternalRel of A is_strongly_connected_in C by Def7;
hence the InternalRel of A is_connected_in C;
let Y;
set x = the Element of Y;
assume that
A6: Y c= C and
A7: Y <> {};
x in C by A6,A7;
then consider X such that
A8: x in X and
A9: X in Chains(f) by TARSKI:def 4;
reconsider X as Chain of f by A9,Def13;
A10: the InternalRel of A well_orders X by Def12;
X /\ Y <> {} by A7,A8,XBOOLE_0:def 4;
then consider a being object such that
A11: a in X /\ Y and
A12: for x being object st x in X /\ Y holds [a,x] in the InternalRel of A
by A10,WELLORD1:5
,XBOOLE_1:17;
take a;
thus a in Y by A11,XBOOLE_0:def 4;
reconsider aa = a as Element of A by A11;
thus (the InternalRel of A)-Seg(a) /\ Y c= {}
proof
let y be object;
assume
A13: y in (the InternalRel of A)-Seg(a) /\ Y;
then
A14: y in Y by XBOOLE_0:def 4;
then y in C by A6;
then reconsider b = y as Element of A;
A15: y in (the InternalRel of A)-Seg(a) by A13,XBOOLE_0:def 4;
then
A16: y <> a by WELLORD1:1;
[y,a] in the InternalRel of A by A15,WELLORD1:1;
then
A17: b <= aa;
now
per cases;
suppose
A18: X <> C;
a in X & b < aa by A11,A16,A17,XBOOLE_0:def 4;
hence y in X by A6,A14,A18,Th32,Th44;
end;
suppose
X = C;
hence y in X by A6,A14;
end;
end;
then y in X /\ Y by A14,XBOOLE_0:def 4;
then [a,y] in the InternalRel of A by A12;
then aa <= b;
hence thesis by A16,A17,Th2;
end;
thus thesis;
end;
C <> {} by Th43;
hence thesis by A4,A1,Def12;
end;
begin :: From original ORDERS_2
reserve R for Relation,
A for non empty Poset,
C for Chain of A,
S for Subset of A,
a,a1,a2,b,c1,c2 for Element of A;
::
:: Orders.
::
theorem Th46:
field((the InternalRel of A) |_2 S) = S
proof
set P = (the InternalRel of A) |_2 S;
thus field P c= S by WELLORD1:13;
thus S c= field P
proof
let x be object;
assume
A1: x in S;
then
A2: [x,x] in [:S,S:] by ZFMISC_1:87;
the InternalRel of A is_reflexive_in the carrier of A by Def2;
then [x,x] in the InternalRel of A by A1;
then [x,x] in P by A2,XBOOLE_0:def 4;
then x in dom P by XTUPLE_0:def 12;
hence thesis by XBOOLE_0:def 3;
end;
end;
theorem
(the InternalRel of A) |_2 S is being_linear-order implies S is Chain of A
proof
assume (the InternalRel of A) |_2 S is being_linear-order;
then
A1: (the InternalRel of A) |_2 S is connected;
field((the InternalRel of A) |_2 S) = S by Th46;
then
A2: (the InternalRel of A) |_2 S is_connected_in S by A1;
S is strongly_connected
proof
let x,y be object;
assume
A3: x in S & y in S;
then reconsider a = x, b = y as Element of A;
now
per cases;
suppose
x = y;
then a <= b;
hence thesis;
end;
suppose
x <> y;
then [x,y] in (the InternalRel of A) |_2 S or [y,x] in (the
InternalRel of A) |_2 S by A2,A3;
hence thesis by XBOOLE_0:def 4;
end;
end;
hence thesis;
end;
hence thesis;
end;
theorem
(the InternalRel of A) |_2 C is being_linear-order
proof
set P = (the InternalRel of A) |_2 C;
A1: P is_connected_in C
proof
let x,y be object;
assume
A2: x in C & y in C;
then
A3: [x,y] in [:C,C:] & [y,x] in [:C,C:] by ZFMISC_1:87;
the InternalRel of A is_strongly_connected_in C by Def7;
then
[x,y] in the InternalRel of A or [y,x] in the InternalRel of A by A2;
hence thesis by A3,XBOOLE_0:def 4;
end;
the InternalRel of A is being_partial-order;
then P is being_partial-order by ORDERS_1:26;
hence P is reflexive & P is transitive & P is antisymmetric;
C = field P by Th46;
hence thesis by A1;
end;
theorem
the InternalRel of A linearly_orders S implies S is Chain of A
by ORDERS_1:7,Def7;
theorem
the InternalRel of A linearly_orders C
proof
A1: the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
the InternalRel of A is_reflexive_in the carrier of A & the InternalRel
of A is_transitive_in the carrier of A by Def2,Def3;
hence the InternalRel of A is_reflexive_in C & the InternalRel of A
is_transitive_in C & the InternalRel of A is_antisymmetric_in C by A1;
the InternalRel of A is_strongly_connected_in C by Def7;
hence thesis;
end;
theorem
a is_minimal_in the InternalRel of A iff for b holds not b < a
proof
A1: the carrier of A = field(the InternalRel of A) by ORDERS_1:15;
thus a is_minimal_in the InternalRel of A implies for b holds not b < a
proof
assume
A2: a is_minimal_in the InternalRel of A;
let b;
a = b or not [b,a] in the InternalRel of A by A1,A2;
then a = b or not b <= a;
hence thesis;
end;
assume
A3: for b holds not b < a;
thus a in field(the InternalRel of A) by A1;
let y;
assume that
A4: y in field(the InternalRel of A) and
A5: y <> a and
A6: [y,a] in the InternalRel of A;
reconsider b = y as Element of A by A4,ORDERS_1:15;
b <= a by A6;
then b < a by A5;
hence thesis by A3;
end;
theorem
a is_maximal_in the InternalRel of A iff for b holds not a < b
proof
A1: the carrier of A = field(the InternalRel of A) by ORDERS_1:15;
thus a is_maximal_in the InternalRel of A implies for b holds not a < b
proof
assume
A2: a is_maximal_in the InternalRel of A;
let b;
a = b or not [a,b] in the InternalRel of A by A1,A2;
then a = b or not a <= b;
hence thesis;
end;
assume
A3: for b holds not a < b;
thus a in field(the InternalRel of A) by A1;
let y;
assume that
A4: y in field(the InternalRel of A) and
A5: y <> a and
A6: [a,y] in the InternalRel of A;
reconsider b = y as Element of A by A4,ORDERS_1:15;
a <= b by A6;
then a < b by A5;
hence thesis by A3;
end;
theorem
a is_superior_of the InternalRel of A iff for b st a <> b holds b < a
proof
A1: the carrier of A = field(the InternalRel of A) by ORDERS_1:15;
thus a is_superior_of the InternalRel of A implies for b st a <> b holds b <
a
proof
assume
A2: a is_superior_of the InternalRel of A;
let b;
assume
A3: a <> b;
then [b,a] in the InternalRel of A by A1,A2;
then b <= a;
hence thesis by A3;
end;
assume
A4: for b st a <> b holds b < a;
thus a in field(the InternalRel of A) by A1;
let y;
assume y in field(the InternalRel of A);
then reconsider b = y as Element of A by ORDERS_1:15;
assume y <> a;
then b < a by A4;
then b <= a;
hence thesis;
end;
theorem
a is_inferior_of the InternalRel of A iff for b st a <> b holds a < b
proof
A1: the carrier of A = field(the InternalRel of A) by ORDERS_1:15;
thus a is_inferior_of the InternalRel of A implies for b st a <> b holds a <
b
proof
assume
A2: a is_inferior_of the InternalRel of A;
let b;
assume
A3: a <> b;
then [a,b] in the InternalRel of A by A1,A2;
then a <= b;
hence thesis by A3;
end;
assume
A4: for b st a <> b holds a < b;
thus a in field(the InternalRel of A) by A1;
let y;
assume y in field(the InternalRel of A);
then reconsider b = y as Element of A by ORDERS_1:15;
assume y <> a;
then a < b by A4;
then a <= b;
hence thesis;
end;
Lm4: R well_orders X & Y c= X implies R well_orders Y
proof
assume that
A1: R well_orders X and
A2: Y c= X;
A3: R is_antisymmetric_in X & R is_connected_in X by A1;
A4: R is_well_founded_in X by A1;
R is_reflexive_in X & R is_transitive_in X by A1;
hence R is_reflexive_in Y & R is_transitive_in Y & R is_antisymmetric_in Y &
R is_connected_in Y by A2,A3;
let Z be set;
assume that
A5: Z c= Y and
A6: Z <> {};
Z c= X by A2,A5;
hence thesis by A6,A4;
end;
::
:: Kuratowski - Zorn Lemma.
::
theorem Th55:
(for C ex a st for b st b in C holds b <= a) implies ex a st
for b holds not a < b
proof
set f = the Choice_Function of BOOL(the carrier of A);
reconsider F = union(Chains(f)) as Chain of f by Th45;
assume for C ex a st for b st b in C holds b <= a;
then consider a such that
A1: for b st b in F holds b <= a;
take a;
let b;
assume
A2: a < b;
now
let a1;
assume a1 in F;
then a1 <= a by A1;
hence a1 < b by A2,Th7;
end;
then b in {a1 : for a2 st a2 in F holds a2 < a1};
then not UpperCone(F) in {{}} by TARSKI:def 1;
then
A3: UpperCone(F) in BOOL(the carrier of A) by XBOOLE_0:def 5;
not {} in BOOL(the carrier of A) by ORDERS_1:1;
then
A4: f.UpperCone(F) in UpperCone(F) by A3,ORDERS_1:89;
then reconsider c = f.UpperCone(F) as Element of A;
reconsider Z = F \/ {c} as Subset of A;
A5: ex c11 being Element of A st c11 = c & for a2 st a2 in F holds a2 < c11
by A4;
A6: the InternalRel of A is_connected_in Z
proof
let x,y be object;
assume
A7: x in Z & y in Z;
then reconsider x1 = x, y1 = y as Element of A;
now
per cases by A7,XBOOLE_0:def 3;
suppose
x1 in F & y1 in F;
then x1 <= y1 or y1 <= x1 by Th11;
hence thesis;
end;
suppose
A8: x1 in F & y1 in {c};
then y1 = c by TARSKI:def 1;
then x1 < y1 by A5,A8;
then x1 <= y1;
hence thesis;
end;
suppose
A9: x1 in {c} & y1 in F;
then x1 = c by TARSKI:def 1;
then y1 < x1 by A5,A9;
then y1 <= x1;
hence thesis;
end;
suppose
A10: x1 in {c} & y1 in {c};
then x1 = c by TARSKI:def 1;
hence thesis by A10,TARSKI:def 1;
end;
end;
hence thesis;
end;
A11: now
let a1;
assume
A12: a1 in Z;
now
per cases;
suppose
A13: a1 = c;
InitSegm(Z,c) = F
proof
thus InitSegm(Z,c) c= F
proof
let x be object;
assume that
A14: x in InitSegm(Z,c) and
A15: not x in F;
x in Z by A14,XBOOLE_0:def 4;
then x in {c} by A15,XBOOLE_0:def 3;
then
A16: x = c by TARSKI:def 1;
x in LowerCone{c} by A14,XBOOLE_0:def 4;
hence contradiction by A16,Th21;
end;
let x be object;
assume
A17: x in F;
then reconsider y = x as Element of A;
y < c by A5,A17;
then
A18: x in LowerCone{c} by Th23;
x in Z by A17,XBOOLE_0:def 3;
hence thesis by A18,XBOOLE_0:def 4;
end;
hence f.UpperCone(InitSegm(Z,a1)) = a1 by A13;
end;
suppose
a1 <> c;
then not a1 in {c} by TARSKI:def 1;
then
A19: a1 in F by A12,XBOOLE_0:def 3;
A20: InitSegm(Z,a1) c= InitSegm(F,a1)
proof
let x be object;
assume
A21: x in InitSegm(Z,a1);
then
A22: x in LowerCone{a1} by XBOOLE_0:def 4;
now
assume
A23: not x in F;
x in Z by A21,XBOOLE_0:def 4;
then x in {c} by A23,XBOOLE_0:def 3;
then x = c by TARSKI:def 1;
then
A24: ex c1 st c1 = c & for c2 st c2 in {a1} holds c1 < c2 by A22;
A25: a1 < c by A5,A19;
a1 in {a1} by TARSKI:def 1;
then c < a1 by A24;
hence contradiction by A25,Th4;
end;
hence thesis by A22,XBOOLE_0:def 4;
end;
InitSegm(F,a1) c= InitSegm(Z,a1) by Th28,XBOOLE_1:7;
then InitSegm(Z,a1) = InitSegm(F,a1) by A20;
hence f.UpperCone(InitSegm(Z,a1)) = a1 by A19,Def12;
end;
end;
hence f.UpperCone(InitSegm(Z,a1)) = a1;
end;
the InternalRel of A is_reflexive_in the carrier of A by Def2;
then
A26: the InternalRel of A is_reflexive_in Z;
then the InternalRel of A is_strongly_connected_in Z by A6,ORDERS_1:7;
then
A27: Z is Chain of A by Def7;
A28: the InternalRel of A is_well_founded_in Z
proof
let Y;
assume that
A29: Y c= Z and
A30: Y <> {};
now
per cases;
case
A31: Y = {c};
take x = c;
thus x in Y by A31,TARSKI:def 1;
assume (the InternalRel of A)-Seg(x) meets Y;
then consider x9 being object such that
A32: x9 in (the InternalRel of A)-Seg(x) and
A33: x9 in Y by XBOOLE_0:3;
x9 = c by A31,A33,TARSKI:def 1;
hence contradiction by A32,WELLORD1:1;
end;
case
A34: Y <> {c};
set X = Y \ {c};
A35: now
assume X = {};
then Y c= {c} by XBOOLE_1:37;
hence contradiction by A30,A34,ZFMISC_1:33;
end;
A36: X c= F
proof
let x be object;
assume that
A37: x in X and
A38: not x in F;
x in Y by A37;
then x in {c} by A29,A38,XBOOLE_0:def 3;
hence thesis by A37,XBOOLE_0:def 5;
end;
the InternalRel of A well_orders F by Def12;
then the InternalRel of A well_orders X by A36,Lm4;
then the InternalRel of A is_well_founded_in X;
then consider x being object such that
A39: x in X and
A40: (the InternalRel of A)-Seg(x) misses X by A35;
take x9 = x;
thus x9 in Y by A39;
A41: (the InternalRel of A)-Seg(x) /\ X = {} by A40;
now
per cases;
suppose
A42: c in Y;
A43: now
x9 in F by A36,A39;
then reconsider x99 = x9 as Element of A;
assume
A44: c in (the InternalRel of A)-Seg(x9);
then [c,x9] in the InternalRel of A by WELLORD1:1;
then
A45: c <= x99;
A46: x99 < c by A5,A36,A39;
c <> x99 by A44,WELLORD1:1;
then c < x99 by A45;
hence contradiction by A46,Th4;
end;
A47: now
set x = the Element of (the InternalRel of A)-Seg(x9) /\ {c };
assume
A48: (the InternalRel of A)-Seg(x9) /\ {c} <> {};
then x in {c} by XBOOLE_0:def 4;
then x = c by TARSKI:def 1;
hence contradiction by A43,A48,XBOOLE_0:def 4;
end;
{c} c= Y by A42,ZFMISC_1:31;
then Y = X \/ {c} by XBOOLE_1:45;
then (the InternalRel of A)-Seg(x9) /\ Y = {} \/ {} by A41,A47,
XBOOLE_1:23
.= {};
hence (the InternalRel of A)-Seg(x9) misses Y;
end;
suppose
not c in Y;
then Y misses {c} by ZFMISC_1:50;
hence (the InternalRel of A)-Seg(x9) misses Y by A40,XBOOLE_1:83;
end;
end;
hence (the InternalRel of A)-Seg(x9) misses Y;
end;
end;
hence thesis;
end;
the InternalRel of A is_transitive_in the carrier of A by Def3;
then
A49: the InternalRel of A is_transitive_in Z;
the InternalRel of A is_antisymmetric_in the carrier of A by Def4;
then the InternalRel of A is_antisymmetric_in Z;
then the InternalRel of A well_orders Z by A26,A49,A6,A28;
then reconsider Z as Chain of f by A27,A11,Def12;
c in {c} by TARSKI:def 1;
then
A50: c in Z by XBOOLE_0:def 3;
Z in Chains(f) by Def13;
then c in F by A50,TARSKI:def 4;
hence thesis by A5;
end;
theorem
(for C ex a st for b st b in C holds a <= b) implies ex a st for b
holds not b < a
proof
set X = the carrier of A;
set R = (the InternalRel of A)~;
A1: dom R = dom the InternalRel of A by RELAT_2:12
.= X by PARTFUN1:def 2;
A2: for a,b being Element of A holds [a,b] in R iff b <= a
by RELAT_1:def 7;
reconsider R as Order of the carrier of A by A1,PARTFUN1:def 2;
set B = RelStr (# the carrier of A, R #);
assume
A3: for C ex a st for b st b in C holds a <= b;
for E being Chain of B ex e being Element of B st for f being Element of
B st f in E holds f <= e
proof
let E be Chain of B;
reconsider C = E as Subset of A;
the InternalRel of A is_strongly_connected_in C
proof
let x,y be object;
assume
A4: x in C & y in C;
then reconsider e = x, f = y as Element of B;
reconsider e1 = e, f1 = f as Element of A;
A5: e <= f or f <= e by A4,Th11;
now
per cases by A5;
suppose
[e,f] in R;
then f1 <= e1 by A2;
hence thesis;
end;
suppose
[f,e] in R;
then e1 <= f1 by A2;
hence thesis;
end;
end;
hence thesis;
end;
then reconsider C as Chain of A by Def7;
consider a such that
A6: for b st b in C holds a <= b by A3;
reconsider e = a as Element of B;
take e;
let f be Element of B;
reconsider b = f as Element of A;
assume f in E;
then a <= b by A6;
then [f,e] in R by A2;
hence thesis;
end;
then consider e being Element of B such that
A7: for f being Element of B holds not e < f by Th55;
reconsider d = e as Element of A;
take d;
let b;
reconsider f = b as Element of B;
assume
A8: b < d;
then b <= d;
then [e,f] in R by A2;
then e <= f;
then e < f by A8;
hence thesis by A7;
end;
:: from YELLOW14, 2009.07.26, A.T.
registration
cluster strict empty for RelStr;
existence
proof
take R = RelStr (#{},the Relation of {}#);
thus R is strict;
thus the carrier of R is empty;
end;
end;