defpred S1[ set , set ] means ex a, b being LATTICE st
( $1 = [a,b] & ( for f being set holds
( f in $2 iff ( f in MonFuncs a,b & P1[a,b,f] ) ) ) );
set A = F1();
A4:
now let x be
set ;
( x in [:F1(),F1():] implies ex y being set st S1[x,y] )assume
x in [:F1(),F1():]
;
ex y being set st S1[x,y]then consider a,
b being
set such that A5:
(
a in F1() &
b in F1() )
and A6:
x = [a,b]
by ZFMISC_1:def 2;
reconsider a =
a,
b =
b as
LATTICE by A1, A5;
defpred S2[
set ]
means P1[
a,
b,$1];
consider y being
set such that A7:
for
f being
set holds
(
f in y iff (
f in MonFuncs a,
b &
S2[
f] ) )
from XBOOLE_0:sch 1();
take y =
y;
S1[x,y]thus
S1[
x,
y]
by A6, A7;
verum end;
consider F being Function such that
dom F = [:F1(),F1():]
and
A8:
for x being set st x in [:F1(),F1():] holds
S1[x,F . x]
from CLASSES1:sch 1(A4);
defpred S2[ set , set ] means for a being LATTICE st a = $1 holds
$2 = the carrier of a;
A9:
now let x be
set ;
( x in F1() implies ex b being set st S2[x,b] )assume
x in F1()
;
ex b being set st S2[x,b]then reconsider a =
x as
LATTICE by A1;
reconsider b = the
carrier of
a as
set ;
take b =
b;
S2[x,b]thus
S2[
x,
b]
;
verum end;
consider D being Function such that
dom D = F1()
and
A10:
for x being set st x in F1() holds
S2[x,D . x]
from CLASSES1:sch 1(A9);
deffunc H1( set , set ) -> set = F . [$1,$2];
A11:
now let a,
b be
LATTICE;
( a in F1() & b in F1() implies for f being set holds
( ( f in F . [a,b] implies ( P1[a,b,f] & f in MonFuncs a,b & f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b ) ) & ( f is monotone Function of a,b & P1[a,b,f] implies f in F . [a,b] ) ) )assume
(
a in F1() &
b in F1() )
;
for f being set holds
( ( f in F . [a,b] implies ( P1[a,b,f] & f in MonFuncs a,b & f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b ) ) & ( f is monotone Function of a,b & P1[a,b,f] implies f in F . [a,b] ) )then
[a,b] in [:F1(),F1():]
by ZFMISC_1:106;
then consider a9,
b9 being
LATTICE such that A12:
[a,b] = [a9,b9]
and A13:
for
f being
set holds
(
f in F . [a,b] iff (
f in MonFuncs a9,
b9 &
P1[
a9,
b9,
f] ) )
by A8;
let f be
set ;
( ( f in F . [a,b] implies ( P1[a,b,f] & f in MonFuncs a,b & f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b ) ) & ( f is monotone Function of a,b & P1[a,b,f] implies f in F . [a,b] ) )A14:
(
a = a9 &
b = b9 )
by A12, ZFMISC_1:33;
hereby ( f is monotone Function of a,b & P1[a,b,f] implies f in F . [a,b] )
assume A15:
f in F . [a,b]
;
( P1[a,b,f] & f in MonFuncs a,b & f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b )hence
P1[
a,
b,
f]
by A13, A14;
( f in MonFuncs a,b & f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b )thus
f in MonFuncs a,
b
by A13, A14, A15;
( f in Funcs the carrier of a,the carrier of b & f is monotone Function of a,b )then
ex
g being
Function of
a,
b st
(
f = g &
g in Funcs the
carrier of
a,the
carrier of
b &
g is
monotone )
by ORDERS_3:def 6;
hence
(
f in Funcs the
carrier of
a,the
carrier of
b &
f is
monotone Function of
a,
b )
;
verum
end; assume
f is
monotone Function of
a,
b
;
( P1[a,b,f] implies f in F . [a,b] )then reconsider g =
f as
monotone Function of
a,
b ;
( the
carrier of
b <> {} implies (
dom g = the
carrier of
a &
rng g c= the
carrier of
b ) )
by FUNCT_2:def 1;
then
g in Funcs the
carrier of
a,the
carrier of
b
by FUNCT_2:def 2;
then
f in MonFuncs a,
b
by ORDERS_3:def 6;
hence
(
P1[
a,
b,
f] implies
f in F . [a,b] )
by A13, A14;
verum end;
A16:
for a, b, c being Element of F1()
for f, g being Function st f in H1(a,b) & g in H1(b,c) holds
g * f in H1(a,c)
proof
let a,
b,
c be
Element of
F1();
for f, g being Function st f in H1(a,b) & g in H1(b,c) holds
g * f in H1(a,c)let f,
g be
Function;
( f in H1(a,b) & g in H1(b,c) implies g * f in H1(a,c) )
assume that A17:
f in F . [a,b]
and A18:
g in F . [b,c]
;
g * f in H1(a,c)
reconsider x =
a,
y =
b,
z =
c as
LATTICE by A1;
reconsider g9 =
g as
monotone Function of
y,
z by A11, A18;
reconsider f9 =
f as
monotone Function of
x,
y by A11, A17;
(
P1[
x,
y,
f9] &
P1[
y,
z,
g9] )
by A11, A17, A18;
then
P1[
a,
c,
g9 * f9]
by A2;
then
(
g9 * f9 is
monotone Function of
x,
z implies
g9 * f9 in F . [x,z] )
by A11;
hence
g * f in H1(
a,
c)
by YELLOW_2:14;
verum
end;
deffunc H2( set ) -> set = D . $1;
A19:
for a, b being Element of F1() holds H1(a,b) c= Funcs H2(a),H2(b)
proof
let a,
b be
Element of
F1();
H1(a,b) c= Funcs H2(a),H2(b)let f be
set ;
TARSKI:def 3 ( not f in H1(a,b) or f in Funcs H2(a),H2(b) )
reconsider x =
a,
y =
b as
LATTICE by A1;
assume
f in F . [a,b]
;
f in Funcs H2(a),H2(b)
then
f in Funcs the
carrier of
x,the
carrier of
y
by A11;
then
f in Funcs (D . a),the
carrier of
y
by A10;
hence
f in Funcs H2(
a),
H2(
b)
by A10;
verum
end;
consider C being strict concrete category such that
A21:
the carrier of C = F1()
and
for a being object of C holds the_carrier_of a = H2(a)
and
A22:
for a, b being object of C holds <^a,b^> = H1(a,b)
from YELLOW18:sch 16(A16, A19, A20);
take
C
; ( C is lattice-wise & the carrier of C = F1() & ( for a, b being LATTICE
for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) ) ) )
thus
( C is semi-functional & C is set-id-inheriting )
; YELLOW21:def 4 ( ( for a being object of C holds a is LATTICE ) & ( for a, b being object of C
for A, B being LATTICE st A = a & B = b holds
<^a,b^> c= MonFuncs A,B ) & the carrier of C = F1() & ( for a, b being LATTICE
for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) ) ) )
thus
for a being object of C holds a is LATTICE
by A1, A21; ( ( for a, b being object of C
for A, B being LATTICE st A = a & B = b holds
<^a,b^> c= MonFuncs A,B ) & the carrier of C = F1() & ( for a, b being LATTICE
for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) ) ) )
thus
for a, b being object of C
for A, B being LATTICE st A = a & B = b holds
<^a,b^> c= MonFuncs A,B
( the carrier of C = F1() & ( for a, b being LATTICE
for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) ) ) )proof
let a,
b be
object of
C;
for A, B being LATTICE st A = a & B = b holds
<^a,b^> c= MonFuncs A,Blet A,
B be
LATTICE;
( A = a & B = b implies <^a,b^> c= MonFuncs A,B )
assume A23:
(
A = a &
B = b )
;
<^a,b^> c= MonFuncs A,B
let f be
set ;
TARSKI:def 3 ( not f in <^a,b^> or f in MonFuncs A,B )
<^a,b^> = F . [A,B]
by A22, A23;
hence
( not
f in <^a,b^> or
f in MonFuncs A,
B )
by A11, A21, A23;
verum
end;
thus
the carrier of C = F1()
by A21; for a, b being LATTICE
for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) )
let a, b be LATTICE; for f being monotone Function of a,b holds
( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) )
let f be monotone Function of a,b; ( f in the Arrows of C . a,b iff ( a in F1() & b in F1() & P1[a,b,f] ) )
hereby ( a in F1() & b in F1() & P1[a,b,f] implies f in the Arrows of C . a,b )
assume A24:
f in the
Arrows of
C . a,
b
;
( a in F1() & b in F1() & P1[a,b,f] )then
[a,b] in dom the
Arrows of
C
by FUNCT_1:def 4;
then A25:
[a,b] in [:F1(),F1():]
by A21, PARTFUN1:def 4;
hence
(
a in F1() &
b in F1() )
by ZFMISC_1:106;
P1[a,b,f]reconsider x =
a,
y =
b as
object of
C by A21, A25, ZFMISC_1:106;
the
Arrows of
C . [a,b] =
<^x,y^>
.=
F . [x,y]
by A22
;
hence
P1[
a,
b,
f]
by A11, A21, A24;
verum
end;
assume A26:
( a in F1() & b in F1() )
; ( not P1[a,b,f] or f in the Arrows of C . a,b )
then reconsider x = a, y = b as object of C by A21;
the Arrows of C . [a,b] =
<^x,y^>
.=
F . [x,y]
by A22
;
hence
( not P1[a,b,f] or f in the Arrows of C . a,b )
by A11, A26; verum