:: On the Many Sorted Closure Operator and the Many Sorted Closure
:: System
:: by Artur Korni{\l}owicz
::
:: Received February 7, 1996
:: Copyright (c) 1996-2021 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 PBOOLE, FUNCT_1, RELAT_1, TARSKI, FUNCT_4, FUNCOP_1, XBOOLE_0,
SUBSET_1, FINSEQ_4, PARTFUN1, FUNCT_6, MEMBER_1, MSUALG_3, FINSET_1,
ZFMISC_1, RELAT_2, MSAFREE2, BINOP_1, YELLOW_6, STRUCT_0, MSUALG_1,
CLOSURE2, MSSUBFAM, SETFAM_1, CLOSURE1, SETLIM_2;
notations TARSKI, XBOOLE_0, SUBSET_1, STRUCT_0, SETFAM_1, RELAT_1, FUNCT_1,
FINSET_1, PARTFUN1, FUNCT_2, FUNCOP_1, FUNCT_4, PBOOLE, FUNCT_6,
MSUALG_1, MSUALG_3, PRALG_1, MSSUBFAM;
constructors SETFAM_1, PZFMISC1, MSSUBFAM, PRALG_1, MSUALG_3, RELSET_1,
FUNCT_4, FUNCT_6;
registrations SUBSET_1, FUNCT_1, RELSET_1, FUNCOP_1, FINSET_1, PBOOLE,
MSSUBFAM, MSUALG_1, RELAT_1, PRALG_1;
requirements SUBSET, BOOLE;
definitions XBOOLE_0, FUNCT_1, MSSUBFAM, MSUALG_3, PBOOLE, FINSET_1, TARSKI;
equalities XBOOLE_0, FUNCOP_1;
expansions XBOOLE_0, FUNCT_1, MSUALG_1, PBOOLE, TARSKI;
theorems FUNCOP_1, FUNCT_1, FUNCT_2, FUNCT_4, MBOOLEAN, MSSUBFAM, MSUALG_3,
PBOOLE, PZFMISC1, TARSKI, ZFMISC_1, PRALG_1, XBOOLE_0, PARTFUN1, RELAT_1;
schemes MSSUBFAM, PBOOLE, XBOOLE_0;
begin :: Preliminaries
reserve i, x, I for set,
A, M for ManySortedSet of I,
f for Function,
F for ManySortedFunction of I;
scheme
MSSUBSET { I() -> set, A() -> non-empty ManySortedSet of I(), B() ->
ManySortedSet of I(), P[set] } : (for X being ManySortedSet of I() holds X in A
() iff X in B() & P[X]) implies A() c= B() proof
assume
A1: for X being ManySortedSet of I() holds X in A() iff X in B() & P[X];
consider K being ManySortedSet of I() such that
A2: K in A() by PBOOLE:134;
let i be object such that
A3: i in I();
let x be object such that
A4: x in A().i;
dom (K +* (i .--> x)) = I() by A3,PZFMISC1:1;
then reconsider X = K +* (i .--> x) as ManySortedSet of I() by PARTFUN1:def 2
,RELAT_1:def 18;
A5: dom (i .--> x) = {i};
i in {i} by TARSKI:def 1;
then
A6: X.i = (i .--> x).i by A5,FUNCT_4:13
.= x by FUNCOP_1:72;
X in A()
proof
let s be object such that
A7: s in I();
per cases;
suppose
s = i;
hence thesis by A4,A6;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then X.s = K.s by FUNCT_4:11;
hence thesis by A2,A7;
end;
end;
then X in B() by A1;
hence thesis by A3,A6;
end;
theorem Th1:
for X being non empty set for x, y being set st x c= y holds { t
where t is Element of X : y c= t } c= { z where z is Element of X : x c= z }
proof
let X be non empty set, x, y be set such that
A1: x c= y;
let a be object;
reconsider aa=a as set by TARSKI:1;
assume a in { t where t is Element of X : y c= t };
then
A2: ex b be Element of X st b = a & y c= b;
then x c= aa by A1;
hence thesis by A2;
end;
theorem
(ex A st A in M) implies M is non-empty;
registration
let I, F, A;
cluster F..A -> total for I-defined Function;
coherence;
end;
Lm1: now
let I;
let A, B be non-empty ManySortedSet of I;
let F be ManySortedFunction of A, B;
let X be Element of A;
thus F..X is Element of B
proof
let i be object such that
A1: i in I;
reconsider g = F.i as Function;
g is Function of A.i, B.i & X.i is Element of A.i
by A1,PBOOLE:def 14,def 15; then
dom F = I & g.(X.i) in B.i by A1,FUNCT_2:5,PARTFUN1:def 2;
hence thesis by A1,PRALG_1:def 20;
end;
end;
definition
let I;
let A, B be non-empty ManySortedSet of I;
let F be ManySortedFunction of A, B;
let X be Element of A;
redefine func F..X -> Element of B;
coherence by Lm1;
end;
theorem
for A, X being ManySortedSet of I
for B being non-empty ManySortedSet of I
for F being ManySortedFunction of A, B st X in A holds F..X in B
proof
let A, X be ManySortedSet of I;
let B be non-empty ManySortedSet of I;
let F be ManySortedFunction of A, B such that
A1: X in A;
let i be object such that
A2: i in I;
reconsider g = F.i as Function;
A3: g is Function of A.i, B.i by A2,PBOOLE:def 15;
X.i in A.i by A1,A2;
then dom F = I & g.(X.i) in B.i by A2,A3,FUNCT_2:5,PARTFUN1:def 2;
hence thesis by A2,PRALG_1:def 20;
end;
theorem Th4:
for F, G being ManySortedFunction of I for A being ManySortedSet
of I st A in doms G holds F..(G..A) = (F ** G)..A
proof
let F, G be ManySortedFunction of I;
reconsider FG = F ** G as ManySortedFunction of I by MSSUBFAM:15;
A3: dom FG = I by PARTFUN1:def 2;
let A be ManySortedSet of I such that
A4: A in doms G;
A5: now
let i be object;
reconsider f = F.i as Function;
reconsider g = G.i as Function;
reconsider fg = (F**G).i as Function;
assume
A6: i in I;
then dom g = (doms G).i by MSSUBFAM:14;
then
A7: A.i in dom g by A4,A6;
(G..A).i = g.(A.i) by A6,PRALG_1:def 20;
hence (F..(G..A)).i = f.(g.(A.i)) by A6,PRALG_1:def 20
.= (f*g).(A.i) by A7,FUNCT_1:13
.= fg.(A.i) by A3,A6,PBOOLE:def 19
.= ((F ** G)..A).i by A3,A6,PRALG_1:def 20;
end;
FG..A is ManySortedSet of I;
hence thesis by A5,PBOOLE:3;
end;
theorem
F is "1-1" implies for A, B being ManySortedSet of I st A in doms F &
B in doms F & F..A = F..B holds A = B
proof
assume
A1: F is "1-1";
let A, B be ManySortedSet of I such that
A2: A in doms F & B in doms F and
A3: F..A = F..B;
now
let i be object such that
A4: i in I;
reconsider f = F.i as Function;
A5: f is one-to-one by A1,A4,MSUALG_3:1;
dom f = (doms F).i by A4,MSSUBFAM:14;
then
A6: A.i in dom f & B.i in dom f by A2,A4;
f.(A.i) = (F..A).i by A4,PRALG_1:def 20
.= f.(B.i) by A3,A4,PRALG_1:def 20;
hence A.i = B.i by A5,A6;
end;
hence thesis;
end;
theorem
doms F is non-empty & (for A, B being ManySortedSet of I st A in doms
F & B in doms F & F..A = F..B holds A = B) implies F is "1-1"
proof
assume that
A1: doms F is non-empty and
A2: for A, B being ManySortedSet of I st A in doms F & B in doms F & F..
A = F..B holds A = B;
consider K being ManySortedSet of I such that
A3: K in doms F by A1,PBOOLE:134;
let i be set, f be Function such that
A4: i in dom F and
A5: F.i = f;
let x1, x2 be object such that
A6: x1 in dom f and
A7: x2 in dom f and
A8: f.x1 = f.x2;
A9: dom F = I by PARTFUN1:def 2;
then dom (K +* (i .--> x1)) = I by A4,PZFMISC1:1;
then reconsider X1 = K +* (i .--> x1) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
A10: dom (i .--> x1) = {i};
i in {i} by TARSKI:def 1; then
A11: X1.i = (i .--> x1).i by A10,FUNCT_4:13
.= x1 by FUNCOP_1:72;
A12: X1 in doms F
proof
let s be object such that
A13: s in I;
per cases;
suppose
s = i;
hence thesis by A5,A6,A11,A13,MSSUBFAM:14;
end;
suppose
s <> i;
then not s in dom (i .--> x1) by TARSKI:def 1;
then X1.s = K.s by FUNCT_4:11;
hence thesis by A3,A13;
end;
end;
dom (K +* (i .--> x2)) = I by A4,A9,PZFMISC1:1;
then reconsider X2 = K +* (i .--> x2) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
A14: dom (i .--> x2) = {i};
i in {i} by TARSKI:def 1; then
A15: X2.i = (i .--> x2).i by A14,FUNCT_4:13
.= x2 by FUNCOP_1:72;
A16: X2 in doms F
proof
let s be object such that
A17: s in I;
per cases;
suppose
s = i;
hence thesis by A5,A7,A15,A17,MSSUBFAM:14;
end;
suppose
s <> i;
then not s in dom (i .--> x2) by TARSKI:def 1;
then X2.s = K.s by FUNCT_4:11;
hence thesis by A3,A17;
end;
end;
now
let s be object such that
A18: s in I;
per cases;
suppose
A19: s = i;
B1: s in dom F by A18,PARTFUN1:def 2;
B2: s in dom X2 & s in dom X1 by A18,PARTFUN1:def 2; then
s in dom F /\ dom X2 by B1,XBOOLE_0:def 4; then
a20: s in dom (F..X2) by PRALG_1:def 19;
s in dom F /\ dom X1 by B1,B2,XBOOLE_0:def 4; then
s in dom (F..X1) by PRALG_1:def 19;
hence (F..X1).s = f.(X2.s) by A5,A8,A11,A15,A19,PRALG_1:def 19
.= (F..X2).s by A5,A19,PRALG_1:def 19,a20;
end;
suppose
A20: s <> i;
then not s in dom (i .--> x2) by TARSKI:def 1;
then
A21: X2.s = K.s by FUNCT_4:11;
reconsider f1 = F.s as Function;
A22: not s in dom (i .--> x1) by A20,TARSKI:def 1;
thus (F..X1).s = f1.(X1.s) by A18,PRALG_1:def 20
.= f1.(X2.s) by A22,A21,FUNCT_4:11
.= (F..X2).s by A18,PRALG_1:def 20;
end;
end;
hence thesis by A2,A11,A15,A12,A16,PBOOLE:3;
end;
theorem Th7: :: FUNCT_2:18
for A, B being non-empty ManySortedSet of I for F, G being
ManySortedFunction of A, B st for M st M in A holds F..M = G..M holds F = G
proof
let A, B be non-empty ManySortedSet of I, F, G be ManySortedFunction of A, B
such that
A1: for M st M in A holds F..M = G..M;
now
let i be object;
assume
A2: i in I;
then reconsider f = F.i as Function of A.i, B.i by PBOOLE:def 15;
reconsider g = G.i as Function of A.i, B.i by A2,PBOOLE:def 15;
now
consider K being ManySortedSet of I such that
A4: K in A by PBOOLE:134;
let x be object such that
A5: x in A.i;
dom (K +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider X = K +* (i .--> x) as ManySortedSet of I by
PARTFUN1:def 2,RELAT_1:def 18;
A6: dom (i .--> x) = {i};
i in {i} by TARSKI:def 1;
then
A7: X.i = (i .--> x).i by A6,FUNCT_4:13
.= x by FUNCOP_1:72;
X in A
proof
let s be object such that
A8: s in I;
per cases;
suppose
s = i;
hence thesis by A5,A7;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then X.s = K.s by FUNCT_4:11;
hence thesis by A4,A8;
end;
end;
then
A9: F..X = G..X by A1;
thus f.x = (F..X).i by A2,A7,PRALG_1:def 20
.= g.x by A2,A7,A9,PRALG_1:def 20;
end;
hence F.i = G.i by FUNCT_2:12;
end;
hence thesis;
end;
registration
let I, M;
cluster empty-yielding finite-yielding for Element of bool M;
existence
proof
EmptyMS I c= M by MBOOLEAN:5;
then EmptyMS I in bool M by MBOOLEAN:1;
then reconsider a = EmptyMS I as Element of bool M by MSSUBFAM:11;
take a;
thus thesis;
end;
end;
begin :: Properties of Many Sorted Closure Operators
definition
let I, M;
mode MSSetOp of M is ManySortedFunction of bool M, bool M;
end;
definition
let I, M;
let O be MSSetOp of M;
let X be Element of bool M;
redefine func O..X -> Element of bool M;
coherence by Lm1;
end;
definition
let I, M;
let IT be MSSetOp of M;
attr IT is reflexive means
:Def1:
for X being Element of bool M holds X c= IT..X;
attr IT is monotonic means
for X, Y being Element of bool M st X c= Y holds IT..X c= IT..Y;
attr IT is idempotent means
for X being Element of bool M holds IT..X = IT..(IT..X);
attr IT is topological means
for X, Y being Element of bool M holds IT..(X (\/) Y) = (IT..X) (\/) (IT..Y);
end;
theorem Th8:
for M being non-empty ManySortedSet of I for X being Element of M
holds X = (id M)..X
proof
let M be non-empty ManySortedSet of I;
let X be Element of M;
set F = id M;
now
let i be object;
reconsider g = F.i as Function;
assume
A2: i in I;
then X.i is Element of M.i & F.i = id (M.i)
by MSUALG_3:def 1,PBOOLE:def 14;
then g.(X.i) = X.i;
hence X.i = (F..X).i by A2,PRALG_1:def 20;
end;
hence thesis;
end;
theorem Th9:
for M being non-empty ManySortedSet of I for X, Y being Element
of M st X c= Y holds (id M)..X c= (id M)..Y
proof
let M be non-empty ManySortedSet of I;
let X, Y be Element of M such that
A1: X c= Y;
(id M)..X = X by Th8;
hence thesis by A1,Th8;
end;
theorem Th10:
for M being non-empty ManySortedSet of I for X, Y being Element
of M st X (\/) Y is Element of M
holds (id M)..(X (\/) Y) = ((id M)..X) (\/) ((id M) ..Y)
proof
let M be non-empty ManySortedSet of I;
let X, Y be Element of M;
set F = id M;
assume X (\/) Y is Element of M;
hence F..(X (\/) Y) = X (\/) Y by Th8
.= (F..X) (\/) Y by Th8
.= (F..X) (\/) (F..Y) by Th8;
end;
theorem
for X being Element of bool M for i, x being set st
i in I & x in ((id (bool M))..X).i
ex Y being finite-yielding Element of bool M st
Y c= X & x in ((id (bool M))..Y).i
proof
let X be Element of bool M, i, x be set such that
A1: i in I and
A2: x in ((id (bool M))..X).i;
A3: x in X.i by A2,Th8;
set Y = (I --> {}) +* (i.-->{x});
dom Y = I by A1,PZFMISC1:1;
then reconsider Y as ManySortedSet of I by PARTFUN1:def 2,RELAT_1:def 18;
A4: dom (i .--> {x}) = {i};
i in {i} by TARSKI:def 1;
then
A5: Y.i = (i .--> {x}).i by A4,FUNCT_4:13
.= {x} by FUNCOP_1:72;
X in bool M by MSSUBFAM:12;
then X c= M by MBOOLEAN:18;
then
A6: X.i c= M.i by A1;
Y is Element of bool M
proof
let j be object such that
A7: j in I;
now
per cases;
case
A8: j = i;
then {x} c= M.j by A3,A6,ZFMISC_1:31;
hence thesis by A5,A7,A8,MBOOLEAN:def 1;
end;
case
j <> i;
then not j in dom (i .--> {x}) by TARSKI:def 1;
then Y.j = (I --> {}).j by FUNCT_4:11;
then Y.j = {};
then Y.j c= M.j;
hence thesis by A7,MBOOLEAN:def 1;
end;
end;
hence thesis;
end;
then reconsider Y as Element of bool M;
Y is finite-yielding
proof
let j be object such that
j in I;
now
per cases;
case
j = i;
hence thesis by A5;
end;
case
j <> i;
then not j in dom (i .--> {x}) by TARSKI:def 1;
then Y.j = (I --> {}).j by FUNCT_4:11;
hence thesis;
end;
end;
hence thesis;
end;
then reconsider Y as finite-yielding Element of bool M;
take Y;
thus Y c= X
proof
let j be object such that
j in I;
now
per cases;
case
j = i;
hence thesis by A3,A5,ZFMISC_1:31;
end;
case
j <> i;
then not j in dom (i .--> {x}) by TARSKI:def 1;
then Y.j = (I --> {}).j by FUNCT_4:11;
then Y.j = {};
hence thesis;
end;
end;
hence thesis;
end;
x in Y.i by A5,TARSKI:def 1;
hence thesis by Th8;
end;
registration
let I, M;
cluster reflexive monotonic idempotent topological for MSSetOp of M;
existence
proof
reconsider F = id (bool M) as MSSetOp of M;
take F;
thus F is reflexive
by Th8;
thus F is monotonic
by Th9;
thus F is idempotent
by Th8;
thus F is topological
proof
let X, Y be Element of bool M;
Y in bool M by MSSUBFAM:12;
then
A1: Y c= M by MBOOLEAN:1;
X in bool M by MSSUBFAM:12;
then X c= M by MBOOLEAN:1;
then X (\/) Y c= M by A1,PBOOLE:16;
then X (\/) Y in bool M by MBOOLEAN:1;
then X (\/) Y is Element of bool M by MSSUBFAM:11;
hence thesis by Th10;
end;
end;
end;
theorem
id (bool A) is reflexive MSSetOp of A
proof
reconsider a = id (bool A) as MSSetOp of A;
a is reflexive
by Th8;
hence thesis;
end;
theorem
id (bool A) is monotonic MSSetOp of A
proof
reconsider a = id (bool A) as MSSetOp of A;
a is monotonic
by Th9;
hence thesis;
end;
theorem
id (bool A) is idempotent MSSetOp of A
proof
reconsider a = id (bool A) as MSSetOp of A;
a is idempotent
by Th8;
hence thesis;
end;
theorem
id (bool A) is topological MSSetOp of A
proof
reconsider a = id (bool A) as MSSetOp of A;
a is topological
proof
let X, Y be Element of bool A;
Y in bool A by MSSUBFAM:12;
then
A1: Y c= A by MBOOLEAN:1;
X in bool A by MSSUBFAM:12;
then X c= A by MBOOLEAN:1;
then X (\/) Y c= A by A1,PBOOLE:16;
then X (\/) Y in bool A by MBOOLEAN:1;
then X (\/) Y is Element of bool A by MSSUBFAM:11;
hence thesis by Th10;
end;
hence thesis;
end;
reserve P, R for MSSetOp of M,
E, T for Element of bool M;
theorem
E = M & P is reflexive implies E = P..E
proof
assume
A1: E = M;
assume P is reflexive;
then
A2: E c= P..E;
P..E in bool E by A1,MSSUBFAM:12;
then P..E c= E by MBOOLEAN:18;
hence thesis by A2,PBOOLE:146;
end;
theorem
(P is reflexive & for X being Element of bool M holds P..X c= X)
implies P is idempotent
proof
assume that
A1: P is reflexive and
A2: for X being Element of bool M holds P..X c= X;
let X be Element of bool M;
A3: P..X c= P..(P..X) by A1;
P..(P..X) c= P..X by A2;
hence thesis by A3,PBOOLE:146;
end;
theorem
P is monotonic implies P..(E (/\) T) c= P..E (/\) P..T
proof
assume
A1: P is monotonic;
E in bool M by MSSUBFAM:12;
then E c= M by MBOOLEAN:1;
then E (/\) T c= M by MBOOLEAN:14;
then E (/\) T in bool M by MBOOLEAN:1;
then
A2: E (/\) T is Element of bool M by MSSUBFAM:11;
E (/\) T c= T by PBOOLE:15;
then
A3: P..(E (/\) T) c= P..T by A1,A2;
E (/\) T c= E by PBOOLE:15;
then P..(E (/\) T) c= P..E by A1,A2;
hence thesis by A3,PBOOLE:17;
end;
registration
let I, M;
cluster topological -> monotonic for MSSetOp of M;
coherence
proof
let P be MSSetOp of M such that
A1: P is topological;
let X, Y be Element of bool M such that
A2: X c= Y;
P..X (\/) P..Y = P..(X (\/) Y) by A1
.= P..Y by A2,PBOOLE:22;
hence thesis by PBOOLE:26;
end;
end;
theorem
P is topological implies P..E (\) P..T c= P..(E (\) T)
proof
E in bool M by MSSUBFAM:12;
then E c= M by MBOOLEAN:1;
then E(\)T c= M by MBOOLEAN:15;
then E(\)T in bool M by MBOOLEAN:1;
then
A1: E(\)T is Element of bool M by MSSUBFAM:11;
assume
A2: P is topological;
then P..E (\/) P..T = P..(E (\/) T)
.= P..((E(\)T) (\/) T) by PBOOLE:67
.= (P..(E(\)T)) (\/) (P..T) by A1,A2;
then P..E c= P..(E(\)T) (\/) P..T by PBOOLE:14;
then P..E (\) P..T c= (P..(E(\)T) (\/) P..T) (\) P..T by PBOOLE:53;
then
A3: P..E (\) P..T c= P..(E(\)T) (\) P..T by PBOOLE:75;
P..(E(\)T) (\) P..T c= P..(E(\)T) by PBOOLE:56;
hence thesis by A3,PBOOLE:13;
end;
definition
let I, M, R, P;
redefine func P ** R -> MSSetOp of M;
coherence
proof
P ** R is ManySortedFunction of bool M, bool M;
hence thesis;
end;
end;
theorem
P is reflexive & R is reflexive implies P ** R is reflexive
proof
assume
A1: P is reflexive & R is reflexive;
let X be Element of bool M;
X c= R..X & R..X c= P..(R..X) by A1;
then doms R = bool M & X c= P..(R..X) by MSSUBFAM:17,PBOOLE:13;
hence thesis by Th4,MSSUBFAM:12;
end;
theorem
P is monotonic & R is monotonic implies P ** R is monotonic
proof
assume that
A1: P is monotonic and
A2: R is monotonic;
A3: doms R = bool M by MSSUBFAM:17;
let X, Y be Element of bool M;
assume X c= Y;
then R..X c= R..Y by A2;
then P..(R..X) c= P..(R..Y) by A1;
then P..(R..X) c= (P**R)..Y by A3,Th4,MSSUBFAM:12;
hence thesis by A3,Th4,MSSUBFAM:12;
end;
theorem
P is idempotent & R is idempotent & P**R = R**P implies P ** R is idempotent
proof
assume that
A1: P is idempotent and
A2: R is idempotent and
A3: P**R = R**P;
let X be Element of bool M;
A4: doms P = bool M by MSSUBFAM:17;
A5: doms R = bool M by MSSUBFAM:17;
hence (P**R)..X = P..(R..X) by Th4,MSSUBFAM:12
.= P..(R..(R..X)) by A2
.= P..(P..(R..(R..X))) by A1
.= P..((R**P)..(R..X)) by A3,A5,Th4,MSSUBFAM:12
.= P..(R..(P..(R..X))) by A4,Th4,MSSUBFAM:12
.= P..(R..((P**R)..X)) by A5,Th4,MSSUBFAM:12
.= (P**R)..((P**R)..X) by A5,Th4,MSSUBFAM:12;
end;
theorem
P is topological & R is topological implies P ** R is topological
proof
assume that
A1: P is topological and
A2: R is topological;
let X, Y be Element of bool M;
A3: doms R = bool M by MSSUBFAM:17;
Y in bool M by MSSUBFAM:12;
then
A4: Y c= M by MBOOLEAN:1;
X in bool M by MSSUBFAM:12;
then X c= M by MBOOLEAN:1;
then X (\/) Y c= M by A4,PBOOLE:16;
then X (\/) Y in doms R by A3,MBOOLEAN:1;
hence (P**R)..(X (\/) Y) = P..(R..(X (\/) Y)) by Th4
.= P..(R..X (\/) R..Y) by A2
.= P..(R..X) (\/) P..(R..Y) by A1
.= (P**R)..X (\/) P..(R..Y) by A3,Th4,MSSUBFAM:12
.= (P**R)..X (\/) (P**R)..Y by A3,Th4,MSSUBFAM:12;
end;
Lm2: now
let I, M, i;
let a be ManySortedSet of I, b be Element of bool (M.i) such that
A1: a = EmptyMS I +* (i .--> b);
A2: dom (i .--> b) = {i};
EmptyMS I c= M by MBOOLEAN:5;
then
A3: EmptyMS I in bool M by MBOOLEAN:1;
thus a in bool M
proof
let j be object such that
A4: j in I;
i in {i} by TARSKI:def 1;
then
A5: a.i = (i .--> b).i by A1,A2,FUNCT_4:13
.= b by FUNCOP_1:72;
now
per cases;
case
A6: j = i;
then b in bool (M.j);
hence thesis by A4,A5,A6,MBOOLEAN:def 1;
end;
case
j <> i;
then not j in dom (i .--> b) by TARSKI:def 1;
then a.j = EmptyMS I.j by A1,FUNCT_4:11;
hence thesis by A3,A4;
end;
end;
hence thesis;
end;
end;
theorem Th24:
P is reflexive & i in I & f = P.i implies
for x being Element of bool (M.i) holds x c= f.x
proof
assume that
A1: P is reflexive and
A2: i in I and
A3: f = P.i;
let x be Element of bool (M.i);
dom (EmptyMS I +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider X = EmptyMS I +* (i .--> x) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
X is Element of bool M by Lm2,MSSUBFAM:11;
then X c= P..X by A1; then
A4: X.i c= (P..X).i by A2;
dom (i .--> x) = {i} & i in {i} by TARSKI:def 1; then
A5: X.i = (i .--> x).i by FUNCT_4:13
.= x by FUNCOP_1:72;
i in dom X & i in dom P by A2,PARTFUN1:def 2; then
i in dom P /\ dom X by XBOOLE_0:def 4; then
i in dom (P..X) by PRALG_1:def 19;
hence thesis by A3,A5,A4,PRALG_1:def 19;
end;
theorem Th25:
P is monotonic & i in I & f = P.i implies
for x, y being Element of bool (M.i) st x c= y holds f.x c= f.y
proof
assume that
A1: P is monotonic and
A2: i in I and
A3: f = P.i;
let x, y be Element of bool (M.i) such that
A4: x c= y;
dom (EmptyMS I +* (i .--> y)) = I by A2,PZFMISC1:1;
then reconsider Y = EmptyMS I +* (i .--> y) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
dom (EmptyMS I +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider X = EmptyMS I +* (i .--> x) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
A5: i in {i} by TARSKI:def 1;
dom (i .--> y) = {i}; then
A6: Y.i = (i .--> y).i by A5,FUNCT_4:13
.= y by FUNCOP_1:72;
dom (i .--> x) = {i}; then
A8: X.i = (i .--> x).i by A5,FUNCT_4:13
.= x by FUNCOP_1:72;
A9: X c= Y
proof
let s be object such that
s in I;
per cases;
suppose
s = i;
hence thesis by A4,A8,A6;
end;
suppose s <> i;
then not s in dom (i .--> x) by TARSKI:def 1; then
A10: X.s = EmptyMS I.s by FUNCT_4:11;
thus thesis by A10;
end;
end;
A11: i in dom P by A2,PARTFUN1:def 2;
X is Element of bool M & Y is Element of bool M by Lm2,MSSUBFAM:11;
then P..X c= P..Y by A1,A9;
then A12: (P..X).i c= (P..Y).i by A2;
i in dom Y by A2,PARTFUN1:def 2; then
i in dom P /\ dom Y by A11,XBOOLE_0:def 4; then
i in dom (P..Y) by PRALG_1:def 19; then
W: (P..Y).i = f.(Y.i) by PRALG_1:def 19,A3;
dom X = I by PARTFUN1:def 2; then
i in dom X by A2; then
i in dom P /\ dom X by A11,XBOOLE_0:def 4; then
i in dom (P..X) by PRALG_1:def 19; then
f.(X.i) = (P..X).i by A3,PRALG_1:def 19;
then f.(X.i) c= (P..Y).i by A12;
hence thesis by A8,A6,W;
end;
theorem Th26:
P is idempotent & i in I & f = P.i implies
for x being Element of bool (M.i) holds f.x = f.(f.x)
proof
assume that
A1: P is idempotent and
A2: i in I and
A3: f = P.i;
A4: i in dom P by A2,PARTFUN1:def 2;
let x be Element of bool (M.i);
dom (EmptyMS I +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider X = EmptyMS I +* (i .--> x) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
A5: X is Element of bool M by Lm2,MSSUBFAM:11;
dom (i .--> x) = {i} & i in {i} by TARSKI:def 1; then
A6: X.i = (i .--> x).i by FUNCT_4:13
.= x by FUNCOP_1:72;
i in dom X by A2,PARTFUN1:def 2; then
i in dom P /\ dom X by A4,XBOOLE_0:def 4; then
A7: i in dom (P..X) by PRALG_1:def 19;
i in dom P by A2,PARTFUN1:def 2; then
i in dom P /\ dom (P..X) by A7,XBOOLE_0:def 4; then
B1: i in dom (P..(P..X)) by PRALG_1:def 19;
thus f.x = (P..X).i by A6,A3,PRALG_1:def 19,A7
.= (P..(P..X)).i by A1,A5
.= f.((P..X).i) by B1,A3,PRALG_1:def 19
.= f.(f.x) by A3,A6,A7,PRALG_1:def 19;
end;
theorem
P is topological & i in I & f = P.i implies
for x, y being Element of bool (M.i) holds f.(x \/ y) = (f.x) \/ (f.y)
proof
assume that
A1: P is topological and
A2: i in I and
A3: f = P.i;
A4: i in dom P by A2,PARTFUN1:def 2;
let x, y be Element of bool (M.i);
dom (EmptyMS I +* (i .--> y)) = I by A2,PZFMISC1:1;
then reconsider Y = EmptyMS I +* (i .--> y) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
dom (EmptyMS I +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider X = EmptyMS I +* (i .--> x) as ManySortedSet of I
by PARTFUN1:def 2,RELAT_1:def 18;
A5: i in {i} by TARSKI:def 1;
dom (i .--> y) = {i}; then
A6: Y.i = (i .--> y).i by A5,FUNCT_4:13
.= y by FUNCOP_1:72;
A7: X is Element of bool M & Y is Element of bool M by Lm2,MSSUBFAM:11;
i in dom (X (\/) Y) by A2,PARTFUN1:def 2; then
i in (dom P) /\ dom (X (\/) Y) by A4,XBOOLE_0:def 4; then
B1: i in dom (P..(X (\/) Y)) by PRALG_1:def 19;
i in dom X by A2,PARTFUN1:def 2; then
i in dom P /\ dom X by XBOOLE_0:def 4,A4; then
B2: i in dom (P..X) by PRALG_1:def 19;
i in dom Y by A2,PARTFUN1:def 2; then
i in dom P /\ dom Y by XBOOLE_0:def 4,A4; then
B3: i in dom (P..Y) by PRALG_1:def 19;
dom (i .--> x) = {i};
then
A8: X.i = (i .--> x).i by A5,FUNCT_4:13
.= x by FUNCOP_1:72;
hence f.(x \/ y) = f.((X (\/) Y).i) by A2,A6,PBOOLE:def 4
.= (P..(X (\/) Y)).i by A3,PRALG_1:def 19,B1
.= ((P..X) (\/) (P..Y)).i by A1,A7
.= (P..X).i \/ (P..Y).i by A2,PBOOLE:def 4
.= f.(X.i) \/ (P..Y).i by A3,PRALG_1:def 19,B2
.= (f.x) \/ (f.y) by A3,A8,A6,PRALG_1:def 19,B3;
end;
begin :: On the Many Sorted Closure Operator
:: and the Many Sorted Closure System
reserve S for 1-sorted;
definition
let S;
struct(many-sorted over S) MSClosureStr over S (# Sorts -> ManySortedSet of
the carrier of S, Family -> MSSubsetFamily of the Sorts #);
end;
reserve MS for many-sorted over S;
definition
let S;
let IT be MSClosureStr over S;
attr IT is additive means
:Def5:
the Family of IT is additive;
attr IT is absolutely-additive means
:Def6:
the Family of IT is absolutely-additive;
attr IT is multiplicative means
:Def7:
the Family of IT is multiplicative;
attr IT is absolutely-multiplicative means
:Def8:
the Family of IT is absolutely-multiplicative;
attr IT is properly-upper-bound means
:Def9:
the Family of IT is properly-upper-bound;
attr IT is properly-lower-bound means
:Def10:
the Family of IT is properly-lower-bound;
end;
definition
let S, MS;
func MSFull MS -> MSClosureStr over S equals
MSClosureStr (#the Sorts of MS,
bool the Sorts of MS#);
correctness;
end;
registration
let S, MS;
cluster MSFull MS -> strict additive absolutely-additive multiplicative
absolutely-multiplicative properly-upper-bound properly-lower-bound;
coherence;
end;
registration
let S;
let MS be non-empty many-sorted over S;
cluster MSFull MS -> non-empty;
coherence;
end;
registration
let S;
cluster strict non-empty additive absolutely-additive multiplicative
absolutely-multiplicative properly-upper-bound properly-lower-bound
for MSClosureStr over S;
existence
proof
set a = the non-empty many-sorted over S;
take MSFull a;
thus thesis;
end;
end;
registration
let S;
let CS be additive MSClosureStr over S;
cluster the Family of CS -> additive;
coherence by Def5;
end;
registration
let S;
let CS be absolutely-additive MSClosureStr over S;
cluster the Family of CS -> absolutely-additive;
coherence by Def6;
end;
registration
let S;
let CS be multiplicative MSClosureStr over S;
cluster the Family of CS -> multiplicative;
coherence by Def7;
end;
registration
let S;
let CS be absolutely-multiplicative MSClosureStr over S;
cluster the Family of CS -> absolutely-multiplicative;
coherence by Def8;
end;
registration
let S;
let CS be properly-upper-bound MSClosureStr over S;
cluster the Family of CS -> properly-upper-bound;
coherence by Def9;
end;
registration
let S;
let CS be properly-lower-bound MSClosureStr over S;
cluster the Family of CS -> properly-lower-bound;
coherence by Def10;
end;
registration
let S;
let M be non-empty ManySortedSet of the carrier of S;
let F be MSSubsetFamily of M;
cluster MSClosureStr (#M, F#) -> non-empty;
coherence;
end;
registration
let S, MS;
let F be additive MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> additive;
coherence;
end;
registration
let S, MS;
let F be absolutely-additive MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> absolutely-additive;
coherence;
end;
registration
let S, MS;
let F be multiplicative MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> multiplicative;
coherence;
end;
registration
let S, MS;
let F be absolutely-multiplicative MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> absolutely-multiplicative;
coherence;
end;
registration
let S, MS;
let F be properly-upper-bound MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> properly-upper-bound;
coherence;
end;
registration
let S, MS;
let F be properly-lower-bound MSSubsetFamily of the Sorts of MS;
cluster MSClosureStr (#the Sorts of MS, F#) -> properly-lower-bound;
coherence;
end;
registration
let S;
cluster absolutely-additive -> additive for MSClosureStr over S;
coherence;
end;
registration
let S;
cluster absolutely-multiplicative -> multiplicative for MSClosureStr over S;
coherence;
end;
registration
let S;
cluster absolutely-multiplicative -> properly-upper-bound for
MSClosureStr over
S;
coherence;
end;
registration
let S;
cluster absolutely-additive -> properly-lower-bound for MSClosureStr over S;
coherence;
end;
definition
let S;
mode MSClosureSystem of S is absolutely-multiplicative MSClosureStr over S;
end;
definition
let I, M;
mode MSClosureOperator of M is reflexive monotonic idempotent MSSetOp of M;
end;
definition
let I, M;
let F be ManySortedFunction of M, M;
func MSFixPoints F -> ManySortedSubset of M means
:Def12:
for i being object st i in I
holds x in it.i iff ex f being Function st f = F.i & x in dom f & f.x = x;
existence
proof
defpred P[object,object] means
ex D2 being set st D2 = $2 &
for x being object holds x in D2 iff x in M.$1 & ex f being
Function st f = F.$1 & x in dom f & f.x = x;
A1: now
let i be object such that
i in I;
defpred R[object] means
ex f being Function st f = F.i & $1 in dom f & f.$1
= $1;
consider j being set such that
A2: for x being object holds x in j iff x in M.i & R[ x ]
from XBOOLE_0:sch 1;
reconsider j as object;
take j;
thus P[i,j] by A2;
end;
consider A being ManySortedSet of I such that
A3: for i being object st i in I holds P[i,A.i] from PBOOLE:sch 3(A1);
A is ManySortedSubset of M
proof
let i be object such that
A4: i in I;
let x be object;
assume
A5: x in A.i;
P[i,A.i] by A3,A4;
hence thesis by A5;
end;
then reconsider A as ManySortedSubset of M;
take A;
thus for i being object
st i in I holds x in A.i iff ex f being Function st f = F.i & x
in dom f & f.x = x
proof
let i be object;
assume
A6: i in I;
then P[i,A.i] by A3;
hence x in A.i implies ex f being Function st f = F.i & x in dom f & f.x
= x;
given f being Function such that
A7: f = F.i and
A8: x in dom f & f.x = x;
doms F = M by MSSUBFAM:17;
then
A9: dom f = M.i by A6,A7,MSSUBFAM:14;
P[i,A.i] by A3,A6;
hence thesis by A7,A8,A9;
end;
end;
uniqueness
proof
let A, B be ManySortedSubset of M such that
A10: for i being object
st i in I holds x in A.i iff ex f being Function st f = F.i
& x in dom f & f.x = x and
A11: for i being object
st i in I holds x in B.i iff ex f being Function st f = F.i
& x in dom f & f.x = x;
now
let i be object such that
A12: i in I;
thus A.i = B.i
proof
thus A.i c= B.i
proof
let x be object;
assume x in A.i;
then ex f being Function st f = F.i & x in dom f & f.x = x by A10,A12
;
hence thesis by A11,A12;
end;
let x be object;
assume x in B.i;
then ex f being Function st f = F.i & x in dom f & f.x = x by A11,A12;
hence thesis by A10,A12;
end;
end;
hence A = B;
end;
end;
registration
let I;
let M be empty-yielding ManySortedSet of I;
let F be ManySortedFunction of M, M;
cluster MSFixPoints F -> empty-yielding;
coherence
proof
let i be object such that
A1: i in I;
assume (MSFixPoints F).i is non empty;
then consider x being object such that
A2: x in (MSFixPoints F).i;
consider f being Function such that
A3: f = F.i and
A4: x in dom f and
f.x = x by A1,A2,Def12;
M.i = {};
then f is Function of {}, {} by A1,A3,PBOOLE:def 15;
hence contradiction by A4;
end;
end;
theorem Th28:
for F being ManySortedFunction of M, M holds A in M & F..A = A
iff A in MSFixPoints F
proof
let F be ManySortedFunction of M, M;
thus A in M & F..A = A implies A in MSFixPoints F
proof
assume that
A1: A in M and
A2: F..A = A;
let i be object;
assume
A3: i in I;
then reconsider f = F.i as Function of M.i, M.i by PBOOLE:def 15;
i in dom (F..A) by A3,PARTFUN1:def 2; then
A4: f.(A.i) = A.i by A2,PRALG_1:def 19;
M = doms F by MSSUBFAM:17;
then M.i = dom f by A3,MSSUBFAM:14;
then A.i in dom f by A1,A3;
hence thesis by A3,A4,Def12;
end;
assume
A5: A in MSFixPoints F;
thus A in M
proof
let i be object;
A6: M = doms F by MSSUBFAM:17;
assume
A7: i in I;
then A.i in (MSFixPoints F).i by A5;
then ex f being Function st f = F.i & A.i in dom f & f.(A.i) = A.i by A7
,Def12;
hence thesis by A7,A6,MSSUBFAM:14;
end;
now
let i be object;
assume
A8: i in I;
then A.i in (MSFixPoints F).i by A5; then
A9: ex f being Function st f = F.i & A.i in dom f & f.(A.i) = A.i by A8,Def12;
i in dom A & i in dom F by A8,PARTFUN1:def 2; then
i in dom F /\ dom A by XBOOLE_0:def 4; then
i in dom (F..A) by PRALG_1:def 19;
hence (F..A).i = A.i by A9,PRALG_1:def 19;
end;
hence thesis;
end;
theorem
MSFixPoints id A = A
proof
now
let i be object such that
A1: i in I;
thus (MSFixPoints id A).i = A.i
proof
thus (MSFixPoints id A).i c= A.i
proof
let x be object;
assume x in (MSFixPoints id A).i;
then consider f being Function such that
A2: f = (id A).i and
A3: x in dom f and
f.x = x by A1,Def12;
f is Function of A.i, A.i by A1,A2,PBOOLE:def 15;
hence thesis by A3,FUNCT_2:52;
end;
reconsider f = (id A).i as Function of A.i, A.i by A1,PBOOLE:def 15;
let x be object such that
A4: x in A.i;
A5: x in dom f by A4,FUNCT_2:52;
f = id (A.i) by A1,MSUALG_3:def 1;
then f.x = x by A4,FUNCT_1:18;
hence thesis by A1,A5,Def12;
end;
end;
hence thesis;
end;
theorem Th30:
for A being ManySortedSet of the carrier of S for J being
reflexive monotonic MSSetOp of A for D being MSSubsetFamily of A st D =
MSFixPoints J holds MSClosureStr (#A, D#) is MSClosureSystem of S
proof
let A be ManySortedSet of the carrier of S, J be reflexive monotonic MSSetOp
of A, D be MSSubsetFamily of A such that
A1: D = MSFixPoints J;
D is absolutely-multiplicative
proof
let F be MSSubsetFamily of A such that
A2: F c= D;
A3: J..(meet F) c= meet F
proof
let i be object;
assume
A4: i in the carrier of S;
then reconsider j = J.i as Function of (bool A).i, (bool A).i
by PBOOLE:def 15;
A5: i in dom J by A4,PARTFUN1:def 2;
i in dom meet F by A4,PARTFUN1:def 2; then
i in dom J /\ dom meet F by A5,XBOOLE_0:def 4; then
a5: i in dom (J..meet F) by PRALG_1:def 19;
consider Q being Subset-Family of A.i such that
A6: Q = F.i and
A7: (meet F).i = Intersect Q by A4,MSSUBFAM:def 1;
A8: now
let x such that
A9: x in Q;
Q c= D.i by A2,A4,A6; then
ex jj being Function st jj = J.i & x in dom jj & jj.x = x
by A1,A4,A9,Def12;
hence j.(Intersect Q) c= x by A4,A9,Th25,MSSUBFAM:2;
end;
(bool A).i = bool (A.i) by A4,MBOOLEAN:def 1;
then j.(Intersect Q) in bool (A.i) by FUNCT_2:5;
then j.(Intersect Q) c= Intersect Q by A8,MSSUBFAM:4;
hence thesis by A7,PRALG_1:def 19,a5;
end;
meet F c= A by PBOOLE:def 18;
then
A10: meet F in bool A by MBOOLEAN:18;
then meet F is Element of bool A by MSSUBFAM:11;
then meet F c= J..(meet F) by Def1;
then J..(meet F) = meet F by A3,PBOOLE:146;
hence thesis by A1,A10,Th28;
end;
hence thesis;
end;
theorem Th31:
for D being properly-upper-bound MSSubsetFamily of M
for X being Element of bool M
ex SF being non-empty MSSubsetFamily of M st
for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y
proof
let D be properly-upper-bound MSSubsetFamily of M, X be Element of bool M;
defpred P[object,object] means
ex D2 being set st D2 = $2 & X.$1 c= D2;
consider SF being ManySortedSet of I such that
A1: for i being object st i in I
for e being object holds e in SF.i iff e in D.i & P[i,e]
from PBOOLE:sch 2;
A2: D c= bool M by PBOOLE:def 18;
SF is ManySortedSubset of bool M
proof
let i be object;
assume
A3: i in I;
then D.i c= (bool M).i by A2; then
A4: D.i c= bool (M.i) by A3,MBOOLEAN:def 1;
SF.i c= bool (M.i)
proof
let x be object;
assume x in SF.i;
then x in D.i by A1,A3;
hence thesis by A4;
end;
hence SF.i c= (bool M).i by A3,MBOOLEAN:def 1;
end;
then reconsider SF as ManySortedSubset of bool M;
reconsider SF as MSSubsetFamily of M;
SF is non-empty
proof
let i be object such that
A5: i in I;
M in D by MSSUBFAM:def 6;
then
A6: M.i in D.i by A5;
X in bool M by MSSUBFAM:12;
then X c= M by MBOOLEAN:18;
then X.i c= M.i by A5;
hence thesis by A1,A5,A6;
end;
then reconsider SF as non-empty MSSubsetFamily of M;
take SF;
let Y be ManySortedSet of I;
thus Y in SF implies Y in D & X c= Y
proof
assume
A7: Y in SF;
thus Y in D
proof
let i be object;
assume
A8: i in I;
then Y.i in SF.i by A7;
hence thesis by A1,A8;
end;
thus X c= Y
proof
let i be object;
assume
A9: i in I;
then Y.i in SF.i by A7;
then Y.i in D.i & P[i,Y.i] by A1,A9;
hence thesis;
end;
end;
assume
A10: Y in D & X c= Y;
let i be object;
assume
A11: i in I;
then Y.i in D.i & X.i c= Y.i by A10;
hence thesis by A1,A11;
end;
theorem Th32:
for D being properly-upper-bound MSSubsetFamily of M for X being
Element of bool M for SF being non-empty MSSubsetFamily of M st (for Y being
ManySortedSet of I holds Y in SF iff Y in D & X c= Y) holds for i being set, Di
being non empty set st i in I & Di = D.i holds SF.i = { z where z is Element of
Di: X.i c= z }
proof
let D be properly-upper-bound MSSubsetFamily of M, X be Element of bool M,
SF be non-empty MSSubsetFamily of M such that
A1: for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y;
let i be set, Di be non empty set such that
A2: i in I and
A3: Di = D.i;
thus SF.i c= { z where z is Element of Di : X.i c= z }
proof
consider K be ManySortedSet of I such that
A4: K in SF by PBOOLE:134;
let x be object such that
A5: x in SF.i;
dom (K +* (i .--> x)) = I by A2,PZFMISC1:1;
then reconsider L = K +* (i .--> x) as ManySortedSet of I by PARTFUN1:def 2
,RELAT_1:def 18;
A6: dom (i .--> x) = {i};
i in {i} by TARSKI:def 1;
then
A7: L.i = (i .--> x).i by A6,FUNCT_4:13
.= x by FUNCOP_1:72;
A8: L in SF
proof
let s be object such that
A9: s in I;
per cases;
suppose
s = i;
hence thesis by A5,A7;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then L.s = K.s by FUNCT_4:11;
hence thesis by A4,A9;
end;
end;
then X c= L by A1;
then
A10: X.i c= L.i by A2;
L in D by A1,A8;
then L.i in D.i by A2;
hence thesis by A3,A7,A10;
end;
let x be object;
assume x in { z where z is Element of Di : X.i c= z };
then consider g be Element of Di such that
A11: g = x and
A12: X.i c= g;
dom (M +* (i .--> g)) = I by A2,PZFMISC1:1;
then reconsider L1 = M +* (i .--> g) as ManySortedSet of I by PARTFUN1:def 2
,RELAT_1:def 18;
A13: dom (i .--> g) = {i};
i in {i} by TARSKI:def 1;
then
A14: L1.i = (i .--> g).i by A13,FUNCT_4:13
.= g by FUNCOP_1:72;
A15: X c= L1
proof
let s be object such that
A16: s in I;
per cases;
suppose
s = i;
hence thesis by A12,A14;
end;
suppose
A17: s <> i;
X in bool M by MSSUBFAM:12;
then
A18: X c= M by MBOOLEAN:18;
not s in dom (i .--> g) by A17,TARSKI:def 1;
then L1.s = M.s by FUNCT_4:11;
hence thesis by A16,A18;
end;
end;
A19: M in D by MSSUBFAM:def 6;
L1 in D
proof
let s be object such that
A20: s in I;
per cases;
suppose
s = i;
hence thesis by A3,A14;
end;
suppose
s <> i;
then not s in dom (i .--> g) by TARSKI:def 1;
then L1.s = M.s by FUNCT_4:11;
hence thesis by A19,A20;
end;
end;
then L1 in SF by A1,A15;
hence thesis by A2,A11,A14;
end;
theorem Th33:
for D being properly-upper-bound MSSubsetFamily of M ex J being
MSSetOp of M st for X being Element of bool M for SF being non-empty
MSSubsetFamily of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D
& X c= Y) holds J..X = meet SF
proof
let D be properly-upper-bound MSSubsetFamily of M;
set G = bool M;
defpred P[object,object,object] means
ex D2 being set st D2 = $2 &
for sf being Subset-Family of M.$3 for Fi being
non empty set st Fi = D.$3 & sf = { z where z is Element of Fi : D2 c= z }
holds $1 = Intersect sf;
A1: now
consider K being ManySortedSet of I such that
A2: K in G by PBOOLE:134;
let i be object such that
A3: i in I;
reconsider b = (bool M).i as non empty set by A3;
let x be object such that
A4: x in G.i;
dom (K +* (i .--> x)) = I by A3,PZFMISC1:1;
then reconsider X = K +* (i .--> x) as ManySortedSet of I by PARTFUN1:def 2
,RELAT_1:def 18;
A5: dom (i .--> x) = {i};
i in {i} by TARSKI:def 1;
then
A6: X.i = (i .--> x).i by A5,FUNCT_4:13
.= x by FUNCOP_1:72;
A7: X is Element of bool M
proof
let s be object such that
A8: s in I;
per cases;
suppose
s = i;
hence thesis by A4,A6;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then X.s = K.s by FUNCT_4:11;
hence thesis by A2,A8;
end;
end;
then consider SF being non-empty MSSubsetFamily of M such that
A9: for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y by Th31;
reconsider sf = SF.i as Subset-Family of M.i by A3,MSSUBFAM:32;
reconsider q = Intersect sf as Element of b by A3,MBOOLEAN:def 1;
reconsider s = b --> q as Function of b, b;
reconsider y = s.x as object;
take y;
Intersect sf in bool (M.i);
then Intersect sf in b by A3,MBOOLEAN:def 1;
hence y in G.i by A4,FUNCOP_1:7;
thus P[y,x,i]
proof
reconsider Di = D.i as non empty set by A3;
A10: SF.i = { z where z is Element of Di : X.i c= z } by A3,A7,A9,Th32;
reconsider xx=x as set by TARSKI:1;
take xx;
thus xx = x;
let sf1 be Subset-Family of M.i, Fi be non empty set;
assume Fi = D.i & sf1 = { z where z is Element of Fi : xx c= z };
hence thesis by A4,A6,A10,FUNCOP_1:7;
end;
end;
consider J being ManySortedFunction of G, G such that
A11: for i be object st i in I
ex f be Function of G.i, G.i st f = J.i &
for x be object st x in G.i holds P[f.x,x,i] from MSSUBFAM:sch 1(A1);
reconsider J as MSSetOp of M;
take J;
let X be Element of bool M, SF be non-empty MSSubsetFamily of M such that
A12: for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y;
now
let i be object;
assume
A13: i in I;
then consider Q being Subset-Family of (M.i) such that
A14: Q = SF.i and
A15: (meet SF).i = Intersect Q by MSSUBFAM:def 1;
reconsider Fi = D.i as non empty set by A13;
A16: Q = { z where z is Element of Fi : X.i c= z } by A12,A13,A14,Th32;
X in G by MSSUBFAM:12;
then
A17: X.i in G.i by A13;
consider f being Function of G.i, G.i such that
A18: f = J.i and
A19: for x being object st x in G.i holds P[f.x,x,i] by A11,A13;
A20: P[f.(X.i),X.i,i] by A19,A17;
thus (J..X).i = f.(X.i) by A13,A18,PRALG_1:def 20
.= (meet SF).i by A15,A16,A20;
end;
hence thesis;
end;
theorem Th34:
for D being properly-upper-bound MSSubsetFamily of M for A being
Element of bool M for J being MSSetOp of M st A in D & for X being Element of
bool M for SF being non-empty MSSubsetFamily of M st (for Y being ManySortedSet
of I holds Y in SF iff Y in D & X c= Y) holds J..X = meet SF holds J..A = A
proof
let D be properly-upper-bound MSSubsetFamily of M, A be Element of bool M, J
be MSSetOp of M such that
A1: A in D and
A2: for X being Element of bool M for SF being non-empty MSSubsetFamily
of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y)
holds J..X = meet SF;
consider SF being non-empty MSSubsetFamily of M such that
A3: for Y being ManySortedSet of I holds Y in SF iff Y in D & A c= Y by Th31;
A in SF by A1,A3;
then meet SF c= A by MSSUBFAM:43;
then
A4: J..A c= A by A2,A3;
A5: for Z1 being ManySortedSet of I st Z1 in SF holds A c= Z1 by A3;
J..A = meet SF by A2,A3;
then A c= J..A by A5,MSSUBFAM:45;
hence J..A = A by A4,PBOOLE:146;
end;
theorem
for D being absolutely-multiplicative MSSubsetFamily of M for A being
Element of bool M for J being MSSetOp of M st J..A = A & for X being Element of
bool M for SF being non-empty MSSubsetFamily of M st (for Y being ManySortedSet
of I holds Y in SF iff Y in D & X c= Y) holds J..X = meet SF holds A in D
proof
let D be absolutely-multiplicative MSSubsetFamily of M, A be Element of bool
M, J be MSSetOp of M such that
A1: J..A = A and
A2: for X being Element of bool M for SF being non-empty MSSubsetFamily
of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y)
holds J..X = meet SF;
defpred P[ManySortedSet of I] means A c= $1;
consider SF being non-empty MSSubsetFamily of M such that
A3: for Y being ManySortedSet of I holds Y in SF iff Y in D & A c= Y by Th31;
A4: (for Y being ManySortedSet of I holds Y in SF iff Y in D & P[Y]) implies
SF c= D from MSSUBSET;
J..A = meet SF by A2,A3;
hence thesis by A1,A3,A4,MSSUBFAM:def 5;
end;
theorem Th36:
for D being properly-upper-bound MSSubsetFamily of M for J being
MSSetOp of M st for X being Element of bool M for SF being non-empty
MSSubsetFamily of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D
& X c= Y) holds J..X = meet SF holds J is reflexive monotonic
proof
let D be properly-upper-bound MSSubsetFamily of M, J be MSSetOp of M such
that
A1: for X being Element of bool M for SF being non-empty MSSubsetFamily
of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y)
holds J..X = meet SF;
thus J is reflexive
proof
let X be Element of bool M;
consider SF being non-empty MSSubsetFamily of M such that
A2: for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y by Th31;
J..X = meet SF & for Z1 being ManySortedSet of I st Z1 in SF holds X
c= Z1 by A1,A2;
hence thesis by MSSUBFAM:45;
end;
thus J is monotonic
proof
let x, y be Element of bool M such that
A3: x c= y;
consider SFx being non-empty MSSubsetFamily of M such that
A4: for Y being ManySortedSet of I holds Y in SFx iff Y in D & x c= Y by Th31;
consider SFy being non-empty MSSubsetFamily of M such that
A5: for Y being ManySortedSet of I holds Y in SFy iff Y in D & y c= Y by Th31;
SFy c= SFx
proof
let i be object;
assume
A6: i in I;
then consider Fi be non empty set such that
A7: Fi = D.i;
A8: x.i c= y.i by A3,A6;
SFx.i = { t where t is Element of Fi : x.i c= t } & SFy.i = { z
where z is Element of Fi : y.i c= z } by A4,A5,A6,A7,Th32;
hence thesis by A8,Th1;
end;
then
A9: meet SFx c= meet SFy by MSSUBFAM:46;
J..x = meet SFx by A1,A4;
hence thesis by A1,A5,A9;
end;
end;
theorem Th37:
for D being absolutely-multiplicative MSSubsetFamily of M for J
being MSSetOp of M st for X being Element of bool M for SF being non-empty
MSSubsetFamily of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D
& X c= Y) holds J..X = meet SF holds J is idempotent
proof
let D be absolutely-multiplicative MSSubsetFamily of M, J be MSSetOp of M
such that
A1: for X being Element of bool M for SF being non-empty MSSubsetFamily
of M st (for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y)
holds J..X = meet SF;
let X be Element of bool M;
defpred P[ManySortedSet of I] means X c= $1;
consider SF being non-empty MSSubsetFamily of M such that
A2: for Y being ManySortedSet of I holds Y in SF iff Y in D & X c= Y by Th31;
(for Y being ManySortedSet of I holds Y in SF iff Y in D & P[Y]) implies
SF c= D from MSSUBSET;
then
A3: meet SF in D by A2,MSSUBFAM:def 5;
D c= bool M by PBOOLE:def 18;
then
A4: meet SF is Element of bool M by A3,MSSUBFAM:11,PBOOLE:9;
thus J..X = meet SF by A1,A2
.= J..(meet SF) by A1,A3,A4,Th34
.= J..(J..X) by A1,A2;
end;
theorem
for D being MSClosureSystem of S for J being MSSetOp of the Sorts of D
st for X being Element of bool the Sorts of D for SF being non-empty
MSSubsetFamily of the Sorts of D st (for Y being ManySortedSet of the carrier
of S holds Y in SF iff Y in the Family of D & X c= Y) holds J..X = meet SF
holds J is MSClosureOperator of the Sorts of D by Th36,Th37;
definition
let S;
let A be ManySortedSet of the carrier of S;
let C be MSClosureOperator of A;
func ClOp->ClSys C -> MSClosureSystem of S means
:Def13:
ex D being
MSSubsetFamily of A st D = MSFixPoints C & it = MSClosureStr (#A, D#);
existence
proof
reconsider D = MSFixPoints C as MSSubsetFamily of A;
reconsider a = MSClosureStr (#A, D#) as MSClosureSystem of S by Th30;
take a;
thus thesis;
end;
uniqueness;
end;
registration
let S;
let A be ManySortedSet of the carrier of S;
let C be MSClosureOperator of A;
cluster ClOp->ClSys C -> strict;
coherence
proof
ex D being MSSubsetFamily of A st D = MSFixPoints C & ClOp->ClSys C =
MSClosureStr (#A, D#) by Def13;
hence thesis;
end;
end;
registration
let S;
let A be non-empty ManySortedSet of the carrier of S;
let C be MSClosureOperator of A;
cluster ClOp->ClSys C -> non-empty;
coherence
proof
ex D being MSSubsetFamily of A st D = MSFixPoints C & ClOp->ClSys C =
MSClosureStr (#A, D#) by Def13;
hence thesis;
end;
end;
definition
let S;
let D be MSClosureSystem of S;
func ClSys->ClOp D -> MSClosureOperator of the Sorts of D means
:Def14:
for
X being Element of bool the Sorts of D for SF being non-empty MSSubsetFamily of
the Sorts of D st (for Y being ManySortedSet of the carrier of S holds Y in SF
iff Y in the Family of D & X c= Y) holds it..X = meet SF;
existence
proof
consider J being MSSetOp of the Sorts of D such that
A1: for X being Element of bool the Sorts of D for SF being non-empty
MSSubsetFamily of the Sorts of D st (for Y being ManySortedSet of the carrier
of S holds Y in SF iff Y in the Family of D & X c= Y) holds J..X = meet SF by
Th33;
reconsider J as MSClosureOperator of the Sorts of D by A1,Th36,Th37;
take J;
thus thesis by A1;
end;
uniqueness
proof
set M = the Sorts of D;
let Q1, Q2 be MSClosureOperator of the Sorts of D such that
A2: for X being Element of bool the Sorts of D for SF being non-empty
MSSubsetFamily of the Sorts of D st (for Y being ManySortedSet of the carrier
of S holds Y in SF iff Y in the Family of D & X c= Y) holds Q1..X = meet SF
and
A3: for X being Element of bool the Sorts of D for SF being non-empty
MSSubsetFamily of the Sorts of D st (for Y being ManySortedSet of the carrier
of S holds Y in SF iff Y in the Family of D & X c= Y) holds Q2..X = meet SF;
now
let x be ManySortedSet of the carrier of S;
assume x in bool M;
then
A4: x is Element of bool M by MSSUBFAM:11;
then consider
SF being non-empty MSSubsetFamily of the Sorts of D such that
A5: for Y being ManySortedSet of the carrier of S holds Y in SF iff
Y in the Family of D & x c= Y by Th31;
thus Q1..x = meet SF by A2,A4,A5
.= Q2..x by A3,A4,A5;
end;
hence Q1 = Q2 by Th7;
end;
end;
theorem
for A being ManySortedSet of the carrier of S for J being
MSClosureOperator of A holds ClSys->ClOp (ClOp->ClSys J) = J
proof
let A be ManySortedSet of the carrier of S, J be MSClosureOperator of A;
set I = the carrier of S, M = the Sorts of ClOp->ClSys J, j = ClSys->ClOp (
ClOp->ClSys J);
A1: ex D being MSSubsetFamily of A st D = MSFixPoints J & ClOp->ClSys J =
MSClosureStr (#A, D#) by Def13;
for X being ManySortedSet of I st X in bool A holds j..X = J..X
proof
let X be ManySortedSet of I;
assume X in bool A;
then
A2: X is Element of bool M by A1,MSSUBFAM:11;
then consider SF being non-empty MSSubsetFamily of M such that
A3: for Y being ManySortedSet of I holds Y in SF iff Y in MSFixPoints
J & X c= Y by A1,Th31;
now
let i be object such that
A5: i in I;
reconsider f = J.i as Function of (bool A).i, (bool A).i by A5,
PBOOLE:def 15;
(bool A).i = bool (A.i) by A5,MBOOLEAN:def 1;
then reconsider f as Function of bool (A.i), bool (A.i);
X.i is Element of (bool A).i by A1,A2,A5,PBOOLE:def 14;
then
A6: X.i is Element of bool (A.i) by A5,MBOOLEAN:def 1;
then
A7: X.i c= f.(X.i) by A5,Th24;
reconsider Di = (MSFixPoints J).i as non empty set by A1,A5;
consider Q being Subset-Family of (M.i) such that
A8: Q = SF.i and
A9: (meet SF).i = Intersect Q by A5,MSSUBFAM:def 1;
A10: SF.i = { z where z is Element of Di : X.i c= z } by A1,A2,A3,A5,Th32;
now
let x;
assume x in Q;
then consider x1 being Element of Di such that
A11: x1 = x & X.i c= x1 by A8,A10;
MSFixPoints J c= bool A by PBOOLE:def 18;
then Di c= (bool A).i by A5;
then Di c= bool (A.i) by A5,MBOOLEAN:def 1;
then
A12: x1 is Element of bool (A.i);
ex g being Function st g = J.i & x1 in dom g & g.x1 = x1 by A5,Def12;
hence f.(X.i) c= x by A5,A6,A11,A12,Th25;
end;
then
A13: f.(X.i) c= Intersect Q by A5,A8,MSSUBFAM:5;
A14: dom f = bool (A.i) & f.(X.i) in bool (A.i) by A6,FUNCT_2:5,def 1;
f.(f.(X.i)) = f.(X.i) by A5,A6,Th26;
then f.(X.i) is Element of Di by A5,A14,Def12;
then f.(X.i) in { z where z is Element of Di : X.i c= z } by A7;
then Intersect Q c= f.(X.i) by A8,A10,MSSUBFAM:2;
then Intersect Q = f.(X.i) by A13;
hence (j..X).i = f.(X.i) by A1,A2,A3,A9,Def14
.= (J..X).i by A5,PRALG_1:def 20;
end;
hence thesis;
end;
hence thesis by A1,Th7;
end;
theorem
for D being MSClosureSystem of S holds ClOp->ClSys (ClSys->ClOp D) =
the MSClosureStr of D
proof
let D be MSClosureSystem of S;
set M = the Sorts of D, F = the Family of D, I = the carrier of S;
consider X1 being ManySortedSet of I such that
A1: X1 in bool M by PBOOLE:134;
F = MSFixPoints (ClSys->ClOp D)
proof
let i be object such that
A3: i in I;
reconsider f = (ClSys->ClOp D).i as Function of (bool M).i, (bool M).i
by A3,PBOOLE:def 15;
reconsider Fi = F.i as non empty set by A3;
thus F.i c= (MSFixPoints (ClSys->ClOp D)).i
proof
let x be object such that
A4: x in F.i;
reconsider xx=x as set by TARSKI:1;
dom (X1 +* (i .--> x)) = I by A3,PZFMISC1:1;
then reconsider X = X1 +* (i .--> x) as ManySortedSet of I by
PARTFUN1:def 2,RELAT_1:def 18;
A5: dom (i .--> x) = {i};
F c= bool M by PBOOLE:def 18;
then
A6: F.i c= (bool M).i by A3;
then x in (bool M).i by A4;
then
A7: x in dom f by FUNCT_2:def 1;
i in {i} by TARSKI:def 1;
then
A8: X.i = (i .--> x).i by A5,FUNCT_4:13
.= x by FUNCOP_1:72;
X is Element of bool M
proof
let s be object such that
A9: s in I;
per cases;
suppose
s = i;
hence thesis by A4,A8,A6;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then X.s = X1.s by FUNCT_4:11;
hence thesis by A1,A9;
end;
end;
then reconsider X as Element of bool M;
consider SF being non-empty MSSubsetFamily of M such that
A10: for Y being ManySortedSet of I holds Y in SF iff Y in F & X c= Y by Th31;
consider Q being Subset-Family of (M.i) such that
A11: Q = SF.i and
A12: (meet SF).i = Intersect Q by A3,MSSUBFAM:def 1;
A13: SF.i = { z where z is Element of Fi : X.i c= z } by A3,A10,Th32;
now
let Z1 be set;
assume Z1 in Q;
then ex q being Element of Fi st q = Z1 & X.i c= q by A11,A13;
hence xx c= Z1 by A8;
end;
then
A14: xx c= Intersect Q by A3,A11,MSSUBFAM:5;
x in { B where B is Element of Fi : xx c= B } by A4;
then Intersect Q c= xx by A8,A11,A13,MSSUBFAM:2;
then
A15: Intersect Q = x by A14,XBOOLE_0:def 10;
(ClSys->ClOp D)..X = meet SF by A10,Def14;
then f.x = x by A3,A8,A12,A15,PRALG_1:def 20;
hence thesis by A3,A7,Def12;
end;
let x be object;
assume
A16: x in (MSFixPoints (ClSys->ClOp D)).i;
then
A17: ex f being Function st f = (ClSys->ClOp D).i & x in dom f & f.x = x
by A3,Def12;
dom (X1 +* (i .--> x)) = I by A3,PZFMISC1:1;
then reconsider X = X1 +* (i .--> x) as ManySortedSet of I by
PARTFUN1:def 2,RELAT_1:def 18;
A18: dom (i .--> x) = {i};
i in {i} by TARSKI:def 1;
then
A19: X.i = (i .--> x).i by A18,FUNCT_4:13
.= x by FUNCOP_1:72;
MSFixPoints (ClSys->ClOp D) c= bool M by PBOOLE:def 18;
then
A20: (MSFixPoints (ClSys->ClOp D)).i c= (bool M).i by A3;
X is Element of bool M
proof
let s be object such that
A21: s in I;
per cases;
suppose
s = i;
hence thesis by A16,A19,A20;
end;
suppose
s <> i;
then not s in dom (i .--> x) by TARSKI:def 1;
then X.s = X1.s by FUNCT_4:11;
hence thesis by A1,A21;
end;
end;
then reconsider X as Element of bool M;
defpred P[ManySortedSet of I] means X c= $1;
consider SF being non-empty MSSubsetFamily of M such that
A22: for Y being ManySortedSet of I holds Y in SF iff Y in F & X c= Y by Th31;
(for Y being ManySortedSet of I holds Y in SF iff Y in F & P[Y])
implies SF c= F from MSSUBSET;
then
A24: meet SF in F by A22,MSSUBFAM:def 5;
(meet SF).i = ((ClSys->ClOp D)..X).i by A22,Def14
.= x by A3,A17,A19,PRALG_1:def 20;
hence thesis by A3,A24;
end;
hence thesis by Def13;
end;