:: WAYBEL34 semantic presentation

registration
let c1, c2 be complete LATTICE;
cluster Galois Connection of a1,a2;
existence
ex b1 being Connection of c1,c2 st b1 is Galois
proof end;
end;

theorem Th1: :: WAYBEL34:1
for b1, b2, b3, b4 being non empty RelStr st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b3,the InternalRel of b3 #) & RelStr(# the carrier of b2,the InternalRel of b2 #) = RelStr(# the carrier of b4,the InternalRel of b4 #) holds
for b5 being Connection of b1,b2
for b6 being Connection of b3,b4 st b5 = b6 & b5 is Galois holds
b6 is Galois
proof end;

definition
let c1, c2 be LATTICE;
let c3 be Function of c1,c2;
assume ( c1 is complete & c2 is complete & c3 is infs-preserving ) ;
then E2: c3 has_a_lower_adjoint by WAYBEL_1:17;
func LowerAdj c3 -> Function of a2,a1 means :Def1: :: WAYBEL34:def 1
[a3,a4] is Galois;
uniqueness
for b1, b2 being Function of c2,c1 st [c3,b1] is Galois & [c3,b2] is Galois holds
b1 = b2
proof end;
existence
ex b1 being Function of c2,c1 st [c3,b1] is Galois
by E2, WAYBEL_1:def 11;
end;

:: deftheorem Def1 defines LowerAdj WAYBEL34:def 1 :
for b1, b2 being LATTICE
for b3 being Function of b1,b2 st b1 is complete & b2 is complete & b3 is infs-preserving holds
for b4 being Function of b2,b1 holds
( b4 = LowerAdj b3 iff [b3,b4] is Galois );

definition
let c1, c2 be LATTICE;
let c3 be Function of c2,c1;
assume ( c1 is complete & c2 is complete & c3 is sups-preserving ) ;
then E3: c3 has_an_upper_adjoint by WAYBEL_1:18;
func UpperAdj c3 -> Function of a1,a2 means :Def2: :: WAYBEL34:def 2
[a4,a3] is Galois;
existence
ex b1 being Function of c1,c2 st [b1,c3] is Galois
by E3, WAYBEL_1:def 12;
correctness
uniqueness
for b1, b2 being Function of c1,c2 st [b1,c3] is Galois & [b2,c3] is Galois holds
b1 = b2
;
proof end;
end;

:: deftheorem Def2 defines UpperAdj WAYBEL34:def 2 :
for b1, b2 being LATTICE
for b3 being Function of b2,b1 st b1 is complete & b2 is complete & b3 is sups-preserving holds
for b4 being Function of b1,b2 holds
( b4 = UpperAdj b3 iff [b4,b3] is Galois );

E4: now
let c1, c2 be LATTICE;
assume ( c1 is complete & c2 is complete ) ;
then reconsider c3 = c1, c4 = c2 as complete LATTICE ;
let c5 be Function of c1,c2;
assume c5 is infs-preserving ;
then reconsider c6 = c5 as infs-preserving Function of c3,c4 ;
[c6,(LowerAdj c6)] is Galois by Def1;
then ( LowerAdj c6 is lower_adjoint & LowerAdj c6 is monotone ) by WAYBEL_1:9, WAYBEL_1:def 12;
hence ( LowerAdj c5 is monotone & LowerAdj c5 is lower_adjoint & LowerAdj c5 is sups-preserving ) by WAYBEL_1:18;
end;

E5: now
let c1, c2 be LATTICE;
assume ( c1 is complete & c2 is complete ) ;
then reconsider c3 = c1, c4 = c2 as complete LATTICE ;
let c5 be Function of c1,c2;
assume c5 is sups-preserving ;
then reconsider c6 = c5 as sups-preserving Function of c3,c4 ;
[(UpperAdj c6),c6] is Galois by Def2;
then ( UpperAdj c6 is upper_adjoint & UpperAdj c6 is monotone ) by WAYBEL_1:9, WAYBEL_1:def 11;
hence ( UpperAdj c5 is monotone & UpperAdj c5 is upper_adjoint & UpperAdj c5 is infs-preserving ) by WAYBEL_1:17;
end;

registration
let c1, c2 be complete LATTICE;
let c3 be infs-preserving Function of c1,c2;
cluster LowerAdj a3 -> lower_adjoint ;
coherence
LowerAdj c3 is lower_adjoint
by Lemma4;
end;

registration
let c1, c2 be complete LATTICE;
let c3 be sups-preserving Function of c2,c1;
cluster UpperAdj a3 -> upper_adjoint ;
coherence
UpperAdj c3 is upper_adjoint
by Lemma5;
end;

theorem Th2: :: WAYBEL34:2
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2
for b4 being Element of b2 holds (LowerAdj b3) . b4 = inf (b3 " (uparrow b4))
proof end;

theorem Th3: :: WAYBEL34:3
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b2,b1
for b4 being Element of b1 holds (UpperAdj b3) . b4 = sup (b3 " (downarrow b4))
proof end;

definition
let c1, c2 be RelStr ;
let c3 be Function of the carrier of c1,the carrier of c2;
func c3 opp -> Function of (a1 opp ),(a2 opp ) equals :: WAYBEL34:def 3
a3;
coherence
c3 is Function of (c1 opp ),(c2 opp )
;
end;

:: deftheorem Def3 defines opp WAYBEL34:def 3 :
for b1, b2 being RelStr
for b3 being Function of the carrier of b1,the carrier of b2 holds b3 opp = b3;

registration
let c1, c2 be complete LATTICE;
let c3 be infs-preserving Function of c1,c2;
cluster a3 opp -> lower_adjoint ;
coherence
c3 opp is lower_adjoint
proof end;
end;

registration
let c1, c2 be complete LATTICE;
let c3 be sups-preserving Function of c1,c2;
cluster a3 opp -> upper_adjoint ;
coherence
c3 opp is upper_adjoint
proof end;
end;

theorem Th4: :: WAYBEL34:4
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2 holds LowerAdj b3 = UpperAdj (b3 opp )
proof end;

theorem Th5: :: WAYBEL34:5
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b1,b2 holds LowerAdj (b3 opp ) = UpperAdj b3
proof end;

theorem Th6: :: WAYBEL34:6
for b1 being non empty RelStr holds [(id b1),(id b1)] is Galois
proof end;

theorem Th7: :: WAYBEL34:7
for b1 being complete LATTICE holds
( LowerAdj (id b1) = id b1 & UpperAdj (id b1) = id b1 )
proof end;

theorem Th8: :: WAYBEL34:8
for b1, b2, b3 being complete LATTICE
for b4 being infs-preserving Function of b1,b2
for b5 being infs-preserving Function of b2,b3 holds LowerAdj (b5 * b4) = (LowerAdj b4) * (LowerAdj b5)
proof end;

theorem Th9: :: WAYBEL34:9
for b1, b2, b3 being complete LATTICE
for b4 being sups-preserving Function of b1,b2
for b5 being sups-preserving Function of b2,b3 holds UpperAdj (b5 * b4) = (UpperAdj b4) * (UpperAdj b5)
proof end;

theorem Th10: :: WAYBEL34:10
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2 holds UpperAdj (LowerAdj b3) = b3
proof end;

theorem Th11: :: WAYBEL34:11
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b1,b2 holds LowerAdj (UpperAdj b3) = b3
proof end;

theorem Th12: :: WAYBEL34:12
for b1 being non empty AltCatStr
for b2, b3, b4 being set st b4 in the Arrows of b1 . b2,b3 holds
ex b5, b6 being object of b1 st
( b5 = b2 & b6 = b3 & b4 in <^b5,b6^> & b4 is Morphism of b5,b6 )
proof end;

definition
let c1 be non empty set ;
defpred S1[ LATTICE] means a1 is complete;
defpred S2[ LATTICE, LATTICE, Function of a1,a2] means a3 is infs-preserving;
given c2 being Element of c1 such that E13: not c2 is empty ;
func c1 -INF_category -> strict lattice-wise category means :Def4: :: WAYBEL34:def 4
( ( for b1 being LATTICE holds
( b1 is object of a2 iff ( b1 is strict & b1 is complete & the carrier of b1 in a1 ) ) ) & ( for b1, b2 being object of a2
for b3 being monotone Function of (latt b1),(latt b2) holds
( b3 in <^b1,b2^> iff b3 is infs-preserving ) ) );
existence
ex b1 being strict lattice-wise category st
( ( for b2 being LATTICE holds
( b2 is object of b1 iff ( b2 is strict & b2 is complete & the carrier of b2 in c1 ) ) ) & ( for b2, b3 being object of b1
for b4 being monotone Function of (latt b2),(latt b3) holds
( b4 in <^b2,b3^> iff b4 is infs-preserving ) ) )
proof end;
uniqueness
for b1, b2 being strict lattice-wise category st ( for b3 being LATTICE holds
( b3 is object of b1 iff ( b3 is strict & b3 is complete & the carrier of b3 in c1 ) ) ) & ( for b3, b4 being object of b1
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is infs-preserving ) ) & ( for b3 being LATTICE holds
( b3 is object of b2 iff ( b3 is strict & b3 is complete & the carrier of b3 in c1 ) ) ) & ( for b3, b4 being object of b2
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is infs-preserving ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines -INF_category WAYBEL34:def 4 :
for b1 being non empty set st not for b2 being Element of b1 holds b2 is empty holds
for b2 being strict lattice-wise category holds
( b2 = b1 -INF_category iff ( ( for b3 being LATTICE holds
( b3 is object of b2 iff ( b3 is strict & b3 is complete & the carrier of b3 in b1 ) ) ) & ( for b3, b4 being object of b2
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is infs-preserving ) ) ) );

Lemma14: for b1 being with_non-empty_element set
for b2, b3 being LATTICE
for b4 being Function of b2,b3 holds
( b4 in the Arrows of (b1 -INF_category ) . b2,b3 iff ( b2 in the carrier of (b1 -INF_category ) & b3 in the carrier of (b1 -INF_category ) & b2 is complete & b3 is complete & b4 is infs-preserving ) )
proof end;

definition
let c1 be non empty set ;
defpred S1[ LATTICE] means a1 is complete;
defpred S2[ LATTICE, LATTICE, Function of a1,a2] means a3 is sups-preserving;
given c2 being Element of c1 such that E15: not c2 is empty ;
func c1 -SUP_category -> strict lattice-wise category means :Def5: :: WAYBEL34:def 5
( ( for b1 being LATTICE holds
( b1 is object of a2 iff ( b1 is strict & b1 is complete & the carrier of b1 in a1 ) ) ) & ( for b1, b2 being object of a2
for b3 being monotone Function of (latt b1),(latt b2) holds
( b3 in <^b1,b2^> iff b3 is sups-preserving ) ) );
existence
ex b1 being strict lattice-wise category st
( ( for b2 being LATTICE holds
( b2 is object of b1 iff ( b2 is strict & b2 is complete & the carrier of b2 in c1 ) ) ) & ( for b2, b3 being object of b1
for b4 being monotone Function of (latt b2),(latt b3) holds
( b4 in <^b2,b3^> iff b4 is sups-preserving ) ) )
proof end;
uniqueness
for b1, b2 being strict lattice-wise category st ( for b3 being LATTICE holds
( b3 is object of b1 iff ( b3 is strict & b3 is complete & the carrier of b3 in c1 ) ) ) & ( for b3, b4 being object of b1
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is sups-preserving ) ) & ( for b3 being LATTICE holds
( b3 is object of b2 iff ( b3 is strict & b3 is complete & the carrier of b3 in c1 ) ) ) & ( for b3, b4 being object of b2
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is sups-preserving ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines -SUP_category WAYBEL34:def 5 :
for b1 being non empty set st not for b2 being Element of b1 holds b2 is empty holds
for b2 being strict lattice-wise category holds
( b2 = b1 -SUP_category iff ( ( for b3 being LATTICE holds
( b3 is object of b2 iff ( b3 is strict & b3 is complete & the carrier of b3 in b1 ) ) ) & ( for b3, b4 being object of b2
for b5 being monotone Function of (latt b3),(latt b4) holds
( b5 in <^b3,b4^> iff b5 is sups-preserving ) ) ) );

Lemma16: for b1 being with_non-empty_element set
for b2, b3 being LATTICE
for b4 being Function of b2,b3 holds
( b4 in the Arrows of (b1 -SUP_category ) . b2,b3 iff ( b2 in the carrier of (b1 -SUP_category ) & b3 in the carrier of (b1 -SUP_category ) & b2 is complete & b3 is complete & b4 is sups-preserving ) )
proof end;

registration
let c1 be with_non-empty_element set ;
cluster a1 -INF_category -> strict lattice-wise with_complete_lattices ;
coherence
c1 -INF_category is with_complete_lattices
proof end;
cluster a1 -SUP_category -> strict lattice-wise with_complete_lattices ;
coherence
c1 -SUP_category is with_complete_lattices
proof end;
end;

theorem Th13: :: WAYBEL34:13
for b1 being with_non-empty_element set
for b2 being LATTICE holds
( b2 is object of (b1 -INF_category ) iff ( b2 is strict & b2 is complete & the carrier of b2 in b1 ) )
proof end;

theorem Th14: :: WAYBEL34:14
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -INF_category )
for b4 being set holds
( b4 in <^b2,b3^> iff b4 is infs-preserving Function of (latt b2),(latt b3) )
proof end;

theorem Th15: :: WAYBEL34:15
for b1 being with_non-empty_element set
for b2 being LATTICE holds
( b2 is object of (b1 -SUP_category ) iff ( b2 is strict & b2 is complete & the carrier of b2 in b1 ) )
proof end;

theorem Th16: :: WAYBEL34:16
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -SUP_category )
for b4 being set holds
( b4 in <^b2,b3^> iff b4 is sups-preserving Function of (latt b2),(latt b3) )
proof end;

theorem Th17: :: WAYBEL34:17
for b1 being with_non-empty_element set holds the carrier of (b1 -INF_category ) = the carrier of (b1 -SUP_category )
proof end;

definition
let c1 be with_non-empty_element set ;
set c2 = c1 -INF_category ;
set c3 = c1 -SUP_category ;
deffunc H1( LATTICE) -> LATTICE = a1;
deffunc H2( LATTICE, LATTICE, Function of a1,a2) -> Function of a2,a1 = LowerAdj a3;
defpred S1[ LATTICE, LATTICE, Function of a1,a2] means ( a1 is complete & a2 is complete & a3 is infs-preserving );
defpred S2[ LATTICE, LATTICE, Function of a1,a2] means ( a1 is complete & a2 is complete & a3 is sups-preserving );
E22: for b1, b2 being LATTICE
for b3 being Function of b1,b2 holds
( b3 in the Arrows of (c1 -INF_category ) . b1,b2 iff ( b1 in the carrier of (c1 -INF_category ) & b2 in the carrier of (c1 -INF_category ) & S1[b1,b2,b3] ) ) by Lemma14;
E23: for b1, b2 being LATTICE
for b3 being Function of b1,b2 holds
( b3 in the Arrows of (c1 -SUP_category ) . b1,b2 iff ( b1 in the carrier of (c1 -SUP_category ) & b2 in the carrier of (c1 -SUP_category ) & S2[b1,b2,b3] ) ) by Lemma16;
E24: for b1 being LATTICE st b1 in the carrier of (c1 -INF_category ) holds
H1(b1) in the carrier of (c1 -SUP_category ) by Th17;
E25: for b1, b2 being LATTICE
for b3 being Function of b1,b2 st S1[b1,b2,b3] holds
( H2(b1,b2,b3) is Function of H1(b2),H1(b1) & S2[H1(b2),H1(b1),H2(b1,b2,b3)] ) by Lemma4;
E26: now
let c4 be LATTICE;
assume c4 in the carrier of (c1 -INF_category ) ;
then c4 is complete by YELLOW21:def 5;
hence H2(c4,c4, id c4) = id H1(c4) by Th7;
end;
E27: for b1, b2, b3 being LATTICE
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st S1[b1,b2,b4] & S1[b2,b3,b5] holds
H2(b1,b3,b5 * b4) = H2(b1,b2,b4) * H2(b2,b3,b5) by Th8;
func c1 LowerAdj -> strict contravariant Functor of a1 -INF_category ,a1 -SUP_category means :Def6: :: WAYBEL34:def 6
( ( for b1 being object of (a1 -INF_category ) holds a2 . b1 = latt b1 ) & ( for b1, b2 being object of (a1 -INF_category ) st <^b1,b2^> <> {} holds
for b3 being Morphism of b1,b2 holds a2 . b3 = LowerAdj (@ b3) ) );
existence
ex b1 being strict contravariant Functor of c1 -INF_category ,c1 -SUP_category st
( ( for b2 being object of (c1 -INF_category ) holds b1 . b2 = latt b2 ) & ( for b2, b3 being object of (c1 -INF_category ) st <^b2,b3^> <> {} holds
for b4 being Morphism of b2,b3 holds b1 . b4 = LowerAdj (@ b4) ) )
proof end;
uniqueness
for b1, b2 being strict contravariant Functor of c1 -INF_category ,c1 -SUP_category st ( for b3 being object of (c1 -INF_category ) holds b1 . b3 = latt b3 ) & ( for b3, b4 being object of (c1 -INF_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b1 . b5 = LowerAdj (@ b5) ) & ( for b3 being object of (c1 -INF_category ) holds b2 . b3 = latt b3 ) & ( for b3, b4 being object of (c1 -INF_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b2 . b5 = LowerAdj (@ b5) ) holds
b1 = b2
proof end;
deffunc H3( LATTICE, LATTICE, Function of a1,a2) -> Function of a2,a1 = UpperAdj a3;
E28: for b1 being LATTICE st b1 in the carrier of (c1 -SUP_category ) holds
H1(b1) in the carrier of (c1 -INF_category ) by Th17;
E29: for b1, b2 being LATTICE
for b3 being Function of b1,b2 st S2[b1,b2,b3] holds
( H3(b1,b2,b3) is Function of H1(b2),H1(b1) & S1[H1(b2),H1(b1),H3(b1,b2,b3)] ) by Lemma5;
E30: now
let c4 be LATTICE;
assume c4 in the carrier of (c1 -SUP_category ) ;
then c4 is complete by YELLOW21:def 5;
hence H3(c4,c4, id c4) = id H1(c4) by Th7;
end;
E31: for b1, b2, b3 being LATTICE
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st S2[b1,b2,b4] & S2[b2,b3,b5] holds
H3(b1,b3,b5 * b4) = H3(b1,b2,b4) * H3(b2,b3,b5) by Th9;
func c1 UpperAdj -> strict contravariant Functor of a1 -SUP_category ,a1 -INF_category means :Def7: :: WAYBEL34:def 7
( ( for b1 being object of (a1 -SUP_category ) holds a2 . b1 = latt b1 ) & ( for b1, b2 being object of (a1 -SUP_category ) st <^b1,b2^> <> {} holds
for b3 being Morphism of b1,b2 holds a2 . b3 = UpperAdj (@ b3) ) );
existence
ex b1 being strict contravariant Functor of c1 -SUP_category ,c1 -INF_category st
( ( for b2 being object of (c1 -SUP_category ) holds b1 . b2 = latt b2 ) & ( for b2, b3 being object of (c1 -SUP_category ) st <^b2,b3^> <> {} holds
for b4 being Morphism of b2,b3 holds b1 . b4 = UpperAdj (@ b4) ) )
proof end;
uniqueness
for b1, b2 being strict contravariant Functor of c1 -SUP_category ,c1 -INF_category st ( for b3 being object of (c1 -SUP_category ) holds b1 . b3 = latt b3 ) & ( for b3, b4 being object of (c1 -SUP_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b1 . b5 = UpperAdj (@ b5) ) & ( for b3 being object of (c1 -SUP_category ) holds b2 . b3 = latt b3 ) & ( for b3, b4 being object of (c1 -SUP_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b2 . b5 = UpperAdj (@ b5) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines LowerAdj WAYBEL34:def 6 :
for b1 being with_non-empty_element set
for b2 being strict contravariant Functor of b1 -INF_category ,b1 -SUP_category holds
( b2 = b1 LowerAdj iff ( ( for b3 being object of (b1 -INF_category ) holds b2 . b3 = latt b3 ) & ( for b3, b4 being object of (b1 -INF_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b2 . b5 = LowerAdj (@ b5) ) ) );

:: deftheorem Def7 defines UpperAdj WAYBEL34:def 7 :
for b1 being with_non-empty_element set
for b2 being strict contravariant Functor of b1 -SUP_category ,b1 -INF_category holds
( b2 = b1 UpperAdj iff ( ( for b3 being object of (b1 -SUP_category ) holds b2 . b3 = latt b3 ) & ( for b3, b4 being object of (b1 -SUP_category ) st <^b3,b4^> <> {} holds
for b5 being Morphism of b3,b4 holds b2 . b5 = UpperAdj (@ b5) ) ) );

registration
let c1 be with_non-empty_element set ;
cluster a1 LowerAdj -> strict contravariant bijective ;
coherence
c1 LowerAdj is bijective
proof end;
cluster a1 UpperAdj -> strict contravariant bijective ;
coherence
c1 UpperAdj is bijective
proof end;
end;

theorem Th18: :: WAYBEL34:18
for b1 being with_non-empty_element set holds
( (b1 LowerAdj ) " = b1 UpperAdj & (b1 UpperAdj ) " = b1 LowerAdj )
proof end;

theorem Th19: :: WAYBEL34:19
for b1 being with_non-empty_element set holds
( (b1 LowerAdj ) * (b1 UpperAdj ) = id (b1 -SUP_category ) & (b1 UpperAdj ) * (b1 LowerAdj ) = id (b1 -INF_category ) )
proof end;

theorem Th20: :: WAYBEL34:20
for b1 being with_non-empty_element set holds b1 -INF_category ,b1 -SUP_category are_anti-isomorphic
proof end;

theorem Th21: :: WAYBEL34:21
canceled;

theorem Th22: :: WAYBEL34:22
canceled;

theorem Th23: :: WAYBEL34:23
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2 holds
( b3 is directed-sups-preserving iff for b4 being Scott TopAugmentation of b2
for b5 being Scott TopAugmentation of b1
for b6 being open Subset of b4 holds uparrow ((LowerAdj b3) .: b6) is open Subset of b5 )
proof end;

definition
let c1, c2 be non empty reflexive RelStr ;
let c3 be Function of c1,c2;
attr a3 is waybelow-preserving means :Def8: :: WAYBEL34:def 8
for b1, b2 being Element of a1 st b1 << b2 holds
a3 . b1 << a3 . b2;
end;

:: deftheorem Def8 defines waybelow-preserving WAYBEL34:def 8 :
for b1, b2 being non empty reflexive RelStr
for b3 being Function of b1,b2 holds
( b3 is waybelow-preserving iff for b4, b5 being Element of b1 st b4 << b5 holds
b3 . b4 << b3 . b5 );

theorem Th24: :: WAYBEL34:24
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2 st b3 is directed-sups-preserving holds
LowerAdj b3 is waybelow-preserving
proof end;

theorem Th25: :: WAYBEL34:25
for b1 being complete LATTICE
for b2 being complete continuous LATTICE
for b3 being infs-preserving Function of b1,b2 st LowerAdj b3 is waybelow-preserving holds
b3 is directed-sups-preserving
proof end;

definition
let c1, c2 be TopSpace;
let c3 be Function of c1,c2;
attr a3 is relatively_open means :Def9: :: WAYBEL34:def 9
for b1 being open Subset of a1 holds a3 .: b1 is open Subset of (a2 | (rng a3));
end;

:: deftheorem Def9 defines relatively_open WAYBEL34:def 9 :
for b1, b2 being TopSpace
for b3 being Function of b1,b2 holds
( b3 is relatively_open iff for b4 being open Subset of b1 holds b3 .: b4 is open Subset of (b2 | (rng b3)) );

theorem Th26: :: WAYBEL34:26
for b1, b2 being non empty TopSpace
for b3 being Function of b1,b2 holds
( b3 is relatively_open iff corestr b3 is open )
proof end;

theorem Th27: :: WAYBEL34:27
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2
for b4 being Scott TopAugmentation of b2
for b5 being Scott TopAugmentation of b1
for b6 being open Subset of b4 holds (LowerAdj b3) .: b6 = (rng (LowerAdj b3)) /\ (uparrow ((LowerAdj b3) .: b6))
proof end;

theorem Th28: :: WAYBEL34:28
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2
for b4 being Scott TopAugmentation of b2
for b5 being Scott TopAugmentation of b1 st ( for b6 being open Subset of b4 holds uparrow ((LowerAdj b3) .: b6) is open Subset of b5 ) holds
for b6 being Function of b4,b5 st b6 = LowerAdj b3 holds
b6 is relatively_open
proof end;

registration
let c1, c2 be complete LATTICE;
let c3 be sups-preserving Function of c1,c2;
cluster Image a3 -> complete ;
coherence
Image c3 is complete
by YELLOW_2:36;
end;

theorem Th29: :: WAYBEL34:29
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2
for b4 being Scott TopAugmentation of b2
for b5 being Scott TopAugmentation of b1
for b6 being Scott TopAugmentation of Image (LowerAdj b3)
for b7 being Function of b4,b5
for b8 being Function of b4,b6 st b7 = LowerAdj b3 & b8 = b7 & b7 is relatively_open holds
b8 is open
proof end;

theorem Th30: :: WAYBEL34:30
for b1, b2, b3, b4 being TopStruct st TopStruct(# the carrier of b1,the topology of b1 #) = TopStruct(# the carrier of b2,the topology of b2 #) & TopStruct(# the carrier of b3,the topology of b3 #) = TopStruct(# the carrier of b4,the topology of b4 #) & b3 is SubSpace of b1 holds
b4 is SubSpace of b2
proof end;

theorem Th31: :: WAYBEL34:31
for b1 being TopStruct holds b1 | ([#] b1) = TopStruct(# the carrier of b1,the topology of b1 #)
proof end;

theorem Th32: :: WAYBEL34:32
for b1, b2 being complete LATTICE
for b3 being infs-preserving Function of b1,b2 st b3 is one-to-one holds
for b4 being Scott TopAugmentation of b2
for b5 being Scott TopAugmentation of b1
for b6 being Function of b4,b5 st b6 = LowerAdj b3 holds
( b3 is directed-sups-preserving iff b6 is open )
proof end;

registration
let c1 be complete LATTICE;
let c2 be projection Function of c1,c1;
cluster Image a2 -> complete ;
coherence
Image c2 is complete
by WAYBEL_1:57;
end;

theorem Th33: :: WAYBEL34:33
for b1 being complete LATTICE
for b2 being kernel Function of b1,b1 holds
( corestr b2 is infs-preserving & inclusion b2 is sups-preserving & LowerAdj (corestr b2) = inclusion b2 & UpperAdj (inclusion b2) = corestr b2 )
proof end;

theorem Th34: :: WAYBEL34:34
for b1 being complete LATTICE
for b2 being kernel Function of b1,b1 holds
( b2 is directed-sups-preserving iff corestr b2 is directed-sups-preserving )
proof end;

theorem Th35: :: WAYBEL34:35
for b1 being complete LATTICE
for b2 being kernel Function of b1,b1 holds
( b2 is directed-sups-preserving iff for b3 being Scott TopAugmentation of Image b2
for b4 being Scott TopAugmentation of b1
for b5 being Subset of b1 st b5 is open Subset of b3 holds
uparrow b5 is open Subset of b4 )
proof end;

theorem Th36: :: WAYBEL34:36
for b1 being complete LATTICE
for b2 being non empty full sups-inheriting SubRelStr of b1
for b3, b4 being Element of b1
for b5, b6 being Element of b2 st b5 = b3 & b6 = b4 & b3 << b4 holds
b5 << b6
proof end;

theorem Th37: :: WAYBEL34:37
for b1 being complete LATTICE
for b2 being kernel Function of b1,b1 st b2 is directed-sups-preserving holds
for b3, b4 being Element of b1
for b5, b6 being Element of (Image b2) st b5 = b3 & b6 = b4 holds
( b3 << b4 iff b5 << b6 )
proof end;

theorem Th38: :: WAYBEL34:38
for b1 being complete LATTICE
for b2 being kernel Function of b1,b1 st Image b2 is continuous & ( for b3, b4 being Element of b1
for b5, b6 being Element of (Image b2) st b5 = b3 & b6 = b4 holds
( b3 << b4 iff b5 << b6 ) ) holds
b2 is directed-sups-preserving
proof end;

theorem Th39: :: WAYBEL34:39
for b1 being complete LATTICE
for b2 being closure Function of b1,b1 holds
( corestr b2 is sups-preserving & inclusion b2 is infs-preserving & UpperAdj (corestr b2) = inclusion b2 & LowerAdj (inclusion b2) = corestr b2 )
proof end;

theorem Th40: :: WAYBEL34:40
for b1 being complete LATTICE
for b2 being closure Function of b1,b1 holds
( Image b2 is directed-sups-inheriting iff inclusion b2 is directed-sups-preserving )
proof end;

theorem Th41: :: WAYBEL34:41
for b1 being complete LATTICE
for b2 being closure Function of b1,b1 holds
( Image b2 is directed-sups-inheriting iff for b3 being Scott TopAugmentation of Image b2
for b4 being Scott TopAugmentation of b1
for b5 being Function of b4,b3 st b5 = b2 holds
b5 is open )
proof end;

theorem Th42: :: WAYBEL34:42
for b1 being complete LATTICE
for b2 being closure Function of b1,b1 st Image b2 is directed-sups-inheriting holds
corestr b2 is waybelow-preserving
proof end;

theorem Th43: :: WAYBEL34:43
for b1 being complete continuous LATTICE
for b2 being closure Function of b1,b1 st corestr b2 is waybelow-preserving holds
Image b2 is directed-sups-inheriting
proof end;

definition
let c1 be non empty set ;
set c2 = c1 -INF_category ;
defpred S1[ set ] means verum;
defpred S2[ object of (c1 -INF_category ), object of (c1 -INF_category ), Morphism of a1,a2] means @ a3 is directed-sups-preserving;
E40: ex b1 being object of (c1 -INF_category ) st S1[b1] ;
E41: for b1, b2, b3 being object of (c1 -INF_category ) st S1[b1] & S1[b2] & S1[b3] & <^b1,b2^> <> {} & <^b2,b3^> <> {} holds
for b4 being Morphism of b1,b2
for b5 being Morphism of b2,b3 st S2[b1,b2,b4] & S2[b2,b3,b5] holds
S2[b1,b3,b5 * b4]
proof end;
E42: for b1 being object of (c1 -INF_category ) st S1[b1] holds
S2[b1,b1, idm b1]
proof end;
func c1 -INF(SC)_category -> non empty strict subcategory of a1 -INF_category means :Def10: :: WAYBEL34:def 10
( ( for b1 being object of (a1 -INF_category ) holds b1 is object of a2 ) & ( for b1, b2 being object of (a1 -INF_category )
for b3, b4 being object of a2 st b3 = b1 & b4 = b2 & <^b1,b2^> <> {} holds
for b5 being Morphism of b1,b2 holds
( b5 in <^b3,b4^> iff @ b5 is directed-sups-preserving ) ) );
existence
ex b1 being non empty strict subcategory of c1 -INF_category st
( ( for b2 being object of (c1 -INF_category ) holds b2 is object of b1 ) & ( for b2, b3 being object of (c1 -INF_category )
for b4, b5 being object of b1 st b4 = b2 & b5 = b3 & <^b2,b3^> <> {} holds
for b6 being Morphism of b2,b3 holds
( b6 in <^b4,b5^> iff @ b6 is directed-sups-preserving ) ) )
proof end;
correctness
uniqueness
for b1, b2 being non empty strict subcategory of c1 -INF_category st ( for b3 being object of (c1 -INF_category ) holds b3 is object of b1 ) & ( for b3, b4 being object of (c1 -INF_category )
for b5, b6 being object of b1 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff @ b7 is directed-sups-preserving ) ) & ( for b3 being object of (c1 -INF_category ) holds b3 is object of b2 ) & ( for b3, b4 being object of (c1 -INF_category )
for b5, b6 being object of b2 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff @ b7 is directed-sups-preserving ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def10 defines -INF(SC)_category WAYBEL34:def 10 :
for b1 being non empty set
for b2 being non empty strict subcategory of b1 -INF_category holds
( b2 = b1 -INF(SC)_category iff ( ( for b3 being object of (b1 -INF_category ) holds b3 is object of b2 ) & ( for b3, b4 being object of (b1 -INF_category )
for b5, b6 being object of b2 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff @ b7 is directed-sups-preserving ) ) ) );

definition
let c1 be with_non-empty_element set ;
E41: ex b1 being non empty set st b1 in c1 by SETFAM_1:def 11;
set c2 = c1 -SUP_category ;
defpred S1[ set ] means verum;
defpred S2[ object of (c1 -SUP_category ), object of (c1 -SUP_category ), Morphism of a1,a2] means UpperAdj (@ a3) is directed-sups-preserving;
E42: ex b1 being object of (c1 -SUP_category ) st S1[b1] ;
E43: for b1, b2, b3 being object of (c1 -SUP_category ) st S1[b1] & S1[b2] & S1[b3] & <^b1,b2^> <> {} & <^b2,b3^> <> {} holds
for b4 being Morphism of b1,b2
for b5 being Morphism of b2,b3 st S2[b1,b2,b4] & S2[b2,b3,b5] holds
S2[b1,b3,b5 * b4]
proof end;
E44: for b1 being object of (c1 -SUP_category ) st S1[b1] holds
S2[b1,b1, idm b1]
proof end;
func c1 -SUP(SO)_category -> non empty strict subcategory of a1 -SUP_category means :Def11: :: WAYBEL34:def 11
( ( for b1 being object of (a1 -SUP_category ) holds b1 is object of a2 ) & ( for b1, b2 being object of (a1 -SUP_category )
for b3, b4 being object of a2 st b3 = b1 & b4 = b2 & <^b1,b2^> <> {} holds
for b5 being Morphism of b1,b2 holds
( b5 in <^b3,b4^> iff UpperAdj (@ b5) is directed-sups-preserving ) ) );
existence
ex b1 being non empty strict subcategory of c1 -SUP_category st
( ( for b2 being object of (c1 -SUP_category ) holds b2 is object of b1 ) & ( for b2, b3 being object of (c1 -SUP_category )
for b4, b5 being object of b1 st b4 = b2 & b5 = b3 & <^b2,b3^> <> {} holds
for b6 being Morphism of b2,b3 holds
( b6 in <^b4,b5^> iff UpperAdj (@ b6) is directed-sups-preserving ) ) )
proof end;
correctness
uniqueness
for b1, b2 being non empty strict subcategory of c1 -SUP_category st ( for b3 being object of (c1 -SUP_category ) holds b3 is object of b1 ) & ( for b3, b4 being object of (c1 -SUP_category )
for b5, b6 being object of b1 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff UpperAdj (@ b7) is directed-sups-preserving ) ) & ( for b3 being object of (c1 -SUP_category ) holds b3 is object of b2 ) & ( for b3, b4 being object of (c1 -SUP_category )
for b5, b6 being object of b2 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff UpperAdj (@ b7) is directed-sups-preserving ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def11 defines -SUP(SO)_category WAYBEL34:def 11 :
for b1 being with_non-empty_element set
for b2 being non empty strict subcategory of b1 -SUP_category holds
( b2 = b1 -SUP(SO)_category iff ( ( for b3 being object of (b1 -SUP_category ) holds b3 is object of b2 ) & ( for b3, b4 being object of (b1 -SUP_category )
for b5, b6 being object of b2 st b5 = b3 & b6 = b4 & <^b3,b4^> <> {} holds
for b7 being Morphism of b3,b4 holds
( b7 in <^b5,b6^> iff UpperAdj (@ b7) is directed-sups-preserving ) ) ) );

theorem Th44: :: WAYBEL34:44
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric RelStr
for b3 being Element of b2
for b4 being non empty Subset of b1 holds
( b1 --> b3 preserves_sup_of b4 & b1 --> b3 preserves_inf_of b4 )
proof end;

theorem Th45: :: WAYBEL34:45
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric lower-bounded RelStr holds b1 --> (Bottom b2) is sups-preserving
proof end;

theorem Th46: :: WAYBEL34:46
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric upper-bounded RelStr holds b1 --> (Top b2) is infs-preserving
proof end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric upper-bounded RelStr ;
cluster a1 --> (Top a2) -> infs-preserving directed-sups-preserving ;
coherence
( c1 --> (Top c2) is directed-sups-preserving & c1 --> (Top c2) is infs-preserving )
proof end;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric lower-bounded RelStr ;
cluster a1 --> (Bottom a2) -> sups-preserving filtered-infs-preserving ;
coherence
( c1 --> (Bottom c2) is filtered-infs-preserving & c1 --> (Bottom c2) is sups-preserving )
proof end;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric upper-bounded RelStr ;
cluster infs-preserving directed-sups-preserving Relation of the carrier of a1,the carrier of a2;
existence
ex b1 being Function of c1,c2 st
( b1 is directed-sups-preserving & b1 is infs-preserving )
proof end;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric lower-bounded RelStr ;
cluster sups-preserving filtered-infs-preserving Relation of the carrier of a1,the carrier of a2;
existence
ex b1 being Function of c1,c2 st
( b1 is filtered-infs-preserving & b1 is sups-preserving )
proof end;
end;

theorem Th47: :: WAYBEL34:47
for b1 being with_non-empty_element set
for b2 being LATTICE holds
( b2 is object of (b1 -INF(SC)_category ) iff ( b2 is strict & b2 is complete & the carrier of b2 in b1 ) )
proof end;

theorem Th48: :: WAYBEL34:48
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -INF(SC)_category )
for b4 being set holds
( b4 in <^b2,b3^> iff b4 is infs-preserving directed-sups-preserving Function of (latt b2),(latt b3) )
proof end;

theorem Th49: :: WAYBEL34:49
for b1 being with_non-empty_element set
for b2 being LATTICE holds
( b2 is object of (b1 -SUP(SO)_category ) iff ( b2 is strict & b2 is complete & the carrier of b2 in b1 ) )
proof end;

theorem Th50: :: WAYBEL34:50
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -SUP(SO)_category )
for b4 being set holds
( b4 in <^b2,b3^> iff ex b5 being sups-preserving Function of (latt b2),(latt b3) st
( b5 = b4 & UpperAdj b5 is directed-sups-preserving ) )
proof end;

theorem Th51: :: WAYBEL34:51
for b1 being with_non-empty_element set holds b1 -INF(SC)_category = Intersect (b1 -INF_category ),(b1 -UPS_category )
proof end;

definition
let c1 be with_non-empty_element set ;
defpred S1[ object of (c1 -INF(SC)_category )] means latt a1 is continuous;
consider c2 being non empty set such that
E48: c2 in c1 by SETFAM_1:def 11;
consider c3 being upper-bounded well-ordering Order of c2;
set c4 = RelStr(# c2,c3 #);
func c1 -CL_category -> non empty strict full subcategory of a1 -INF(SC)_category means :Def12: :: WAYBEL34:def 12
for b1 being object of (a1 -INF(SC)_category ) holds
( b1 is object of a2 iff latt b1 is continuous );
existence
ex b1 being non empty strict full subcategory of c1 -INF(SC)_category st
for b2 being object of (c1 -INF(SC)_category ) holds
( b2 is object of b1 iff latt b2 is continuous )
proof end;
correctness
uniqueness
for b1, b2 being non empty strict full subcategory of c1 -INF(SC)_category st ( for b3 being object of (c1 -INF(SC)_category ) holds
( b3 is object of b1 iff latt b3 is continuous ) ) & ( for b3 being object of (c1 -INF(SC)_category ) holds
( b3 is object of b2 iff latt b3 is continuous ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def12 defines -CL_category WAYBEL34:def 12 :
for b1 being with_non-empty_element set
for b2 being non empty strict full subcategory of b1 -INF(SC)_category holds
( b2 = b1 -CL_category iff for b3 being object of (b1 -INF(SC)_category ) holds
( b3 is object of b2 iff latt b3 is continuous ) );

registration
let c1 be with_non-empty_element set ;
cluster a1 -CL_category -> non empty strict full with_complete_lattices ;
coherence
c1 -CL_category is with_complete_lattices
;
end;

theorem Th52: :: WAYBEL34:52
for b1 being with_non-empty_element set
for b2 being LATTICE st the carrier of b2 in b1 holds
( b2 is object of (b1 -CL_category ) iff ( b2 is strict & b2 is complete & b2 is continuous ) )
proof end;

theorem Th53: :: WAYBEL34:53
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -CL_category )
for b4 being set holds
( b4 in <^b2,b3^> iff b4 is infs-preserving directed-sups-preserving Function of (latt b2),(latt b3) )
proof end;

definition
let c1 be with_non-empty_element set ;
defpred S1[ object of (c1 -SUP(SO)_category )] means latt a1 is continuous;
consider c2 being non empty set such that
E51: c2 in c1 by SETFAM_1:def 11;
consider c3 being upper-bounded well-ordering Order of c2;
set c4 = RelStr(# c2,c3 #);
func c1 -CL-opp_category -> non empty strict full subcategory of a1 -SUP(SO)_category means :Def13: :: WAYBEL34:def 13
for b1 being object of (a1 -SUP(SO)_category ) holds
( b1 is object of a2 iff latt b1 is continuous );
existence
ex b1 being non empty strict full subcategory of c1 -SUP(SO)_category st
for b2 being object of (c1 -SUP(SO)_category ) holds
( b2 is object of b1 iff latt b2 is continuous )
proof end;
correctness
uniqueness
for b1, b2 being non empty strict full subcategory of c1 -SUP(SO)_category st ( for b3 being object of (c1 -SUP(SO)_category ) holds
( b3 is object of b1 iff latt b3 is continuous ) ) & ( for b3 being object of (c1 -SUP(SO)_category ) holds
( b3 is object of b2 iff latt b3 is continuous ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def13 defines -CL-opp_category WAYBEL34:def 13 :
for b1 being with_non-empty_element set
for b2 being non empty strict full subcategory of b1 -SUP(SO)_category holds
( b2 = b1 -CL-opp_category iff for b3 being object of (b1 -SUP(SO)_category ) holds
( b3 is object of b2 iff latt b3 is continuous ) );

theorem Th54: :: WAYBEL34:54
for b1 being with_non-empty_element set
for b2 being LATTICE st the carrier of b2 in b1 holds
( b2 is object of (b1 -CL-opp_category ) iff ( b2 is strict & b2 is complete & b2 is continuous ) )
proof end;

theorem Th55: :: WAYBEL34:55
for b1 being with_non-empty_element set
for b2, b3 being object of (b1 -CL-opp_category )
for b4 being set holds
( b4 in <^b2,b3^> iff ex b5 being sups-preserving Function of (latt b2),(latt b3) st
( b5 = b4 & UpperAdj b5 is directed-sups-preserving ) )
proof end;

theorem Th56: :: WAYBEL34:56
for b1 being with_non-empty_element set holds b1 -INF(SC)_category ,b1 -SUP(SO)_category are_anti-isomorphic_under b1 LowerAdj
proof end;

theorem Th57: :: WAYBEL34:57
for b1 being with_non-empty_element set holds b1 -SUP(SO)_category ,b1 -INF(SC)_category are_anti-isomorphic_under b1 UpperAdj
proof end;

theorem Th58: :: WAYBEL34:58
for b1 being with_non-empty_element set holds b1 -CL_category ,b1 -CL-opp_category are_anti-isomorphic_under b1 LowerAdj
proof end;

theorem Th59: :: WAYBEL34:59
for b1 being with_non-empty_element set holds b1 -CL-opp_category ,b1 -CL_category are_anti-isomorphic_under b1 UpperAdj
proof end;

definition
let c1, c2 be non empty reflexive RelStr ;
let c3 be Function of c1,c2;
attr a3 is compact-preserving means :: WAYBEL34:def 14
for b1 being Element of a1 st b1 is compact holds
a3 . b1 is compact;
end;

:: deftheorem Def14 defines compact-preserving WAYBEL34:def 14 :
for b1, b2 being non empty reflexive RelStr
for b3 being Function of b1,b2 holds
( b3 is compact-preserving iff for b4 being Element of b1 st b4 is compact holds
b3 . b4 is compact );

theorem Th60: :: WAYBEL34:60
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b2,b1 st b3 is waybelow-preserving holds
b3 is compact-preserving
proof end;

theorem Th61: :: WAYBEL34:61
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b2,b1 st b2 is algebraic & b3 is compact-preserving holds
b3 is waybelow-preserving
proof end;

theorem Th62: :: WAYBEL34:62
for b1, b2, b3 being non empty RelStr
for b4 being Subset of b1
for b5 being Function of b1,b2
for b6 being Function of b2,b3 st b5 preserves_sup_of b4 & b6 preserves_sup_of b5 .: b4 holds
b6 * b5 preserves_sup_of b4
proof end;

definition
let c1, c2 be non empty RelStr ;
let c3 be Function of c1,c2;
attr a3 is finite-sups-preserving means :: WAYBEL34:def 15
for b1 being finite Subset of a1 holds a3 preserves_sup_of b1;
attr a3 is bottom-preserving means :Def16: :: WAYBEL34:def 16
a3 preserves_sup_of {} a1;
end;

:: deftheorem Def15 defines finite-sups-preserving WAYBEL34:def 15 :
for b1, b2 being non empty RelStr
for b3 being Function of b1,b2 holds
( b3 is finite-sups-preserving iff for b4 being finite Subset of b1 holds b3 preserves_sup_of b4 );

:: deftheorem Def16 defines bottom-preserving WAYBEL34:def 16 :
for b1, b2 being non empty RelStr
for b3 being Function of b1,b2 holds
( b3 is bottom-preserving iff b3 preserves_sup_of {} b1 );

theorem Th63: :: WAYBEL34:63
for b1, b2, b3 being non empty RelStr
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st b4 is finite-sups-preserving & b5 is finite-sups-preserving holds
b5 * b4 is finite-sups-preserving
proof end;

definition
let c1, c2 be non empty antisymmetric lower-bounded RelStr ;
let c3 be Function of c1,c2;
redefine attr a3 is bottom-preserving means :Def17: :: WAYBEL34:def 17
a3 . (Bottom a1) = Bottom a2;
compatibility
( c3 is bottom-preserving iff c3 . (Bottom c1) = Bottom c2 )
proof end;
end;

:: deftheorem Def17 defines bottom-preserving WAYBEL34:def 17 :
for b1, b2 being non empty antisymmetric lower-bounded RelStr
for b3 being Function of b1,b2 holds
( b3 is bottom-preserving iff b3 . (Bottom b1) = Bottom b2 );

definition
let c1 be non empty RelStr ;
let c2 be SubRelStr of c1;
attr a2 is finite-sups-inheriting means :Def18: :: WAYBEL34:def 18
for b1 being finite Subset of a2 st ex_sup_of b1,a1 holds
"\/" b1,a1 in the carrier of a2;
attr a2 is bottom-inheriting means :Def19: :: WAYBEL34:def 19
Bottom a1 in the carrier of a2;
end;

:: deftheorem Def18 defines finite-sups-inheriting WAYBEL34:def 18 :
for b1 being non empty RelStr
for b2 being SubRelStr of b1 holds
( b2 is finite-sups-inheriting iff for b3 being finite Subset of b2 st ex_sup_of b3,b1 holds
"\/" b3,b1 in the carrier of b2 );

:: deftheorem Def19 defines bottom-inheriting WAYBEL34:def 19 :
for b1 being non empty RelStr
for b2 being SubRelStr of b1 holds
( b2 is bottom-inheriting iff Bottom b1 in the carrier of b2 );

registration
let c1, c2 be non empty RelStr ;
cluster sups-preserving -> bottom-preserving Relation of the carrier of a1,the carrier of a2;
coherence
for b1 being Function of c1,c2 st b1 is sups-preserving holds
b1 is bottom-preserving
proof end;
end;

registration
let c1 be non empty antisymmetric lower-bounded RelStr ;
cluster finite-sups-inheriting -> join-inheriting bottom-inheriting SubRelStr of a1;
coherence
for b1 being SubRelStr of c1 st b1 is finite-sups-inheriting holds
( b1 is bottom-inheriting & b1 is join-inheriting )
proof end;
end;

registration
let c1 be non empty RelStr ;
cluster sups-inheriting -> finite-sups-inheriting SubRelStr of a1;
coherence
for b1 being SubRelStr of c1 st b1 is sups-inheriting holds
b1 is finite-sups-inheriting
proof end;
end;

registration
let c1, c2 be non empty lower-bounded Poset;
cluster sups-preserving bottom-preserving Relation of the carrier of a1,the carrier of a2;
existence
ex b1 being Function of c1,c2 st b1 is sups-preserving
proof end;
end;

registration
let c1 be non empty antisymmetric lower-bounded RelStr ;
cluster full bottom-inheriting -> non empty lower-bounded full SubRelStr of a1;
coherence
for b1 being full SubRelStr of c1 st b1 is bottom-inheriting holds
( not b1 is empty & b1 is lower-bounded )
proof end;
end;

registration
let c1 be non empty antisymmetric lower-bounded RelStr ;
cluster non empty lower-bounded full join-inheriting sups-inheriting finite-sups-inheriting bottom-inheriting SubRelStr of a1;
existence
ex b1 being SubRelStr of c1 st
( not b1 is empty & b1 is sups-inheriting & b1 is finite-sups-inheriting & b1 is bottom-inheriting & b1 is full )
proof end;
end;

theorem Th64: :: WAYBEL34:64
for b1 being non empty antisymmetric lower-bounded RelStr
for b2 being non empty full bottom-inheriting SubRelStr of b1 holds Bottom b2 = Bottom b1
proof end;

registration
let c1 be non empty lower-bounded with_suprema Poset;
cluster full join-inheriting bottom-inheriting -> non empty lower-bounded full join-inheriting finite-sups-inheriting bottom-inheriting SubRelStr of a1;
coherence
for b1 being full SubRelStr of c1 st b1 is bottom-inheriting & b1 is join-inheriting holds
b1 is finite-sups-inheriting
proof end;
end;

theorem Th65: :: WAYBEL34:65
for b1, b2 being non empty RelStr
for b3 being Function of b1,b2 st b3 is finite-sups-preserving holds
( b3 is join-preserving & b3 is bottom-preserving )
proof end;

theorem Th66: :: WAYBEL34:66
for b1, b2 being lower-bounded with_suprema Poset
for b3 being Function of b1,b2 st b3 is join-preserving & b3 is bottom-preserving holds
b3 is finite-sups-preserving
proof end;

registration
let c1, c2 be non empty RelStr ;
cluster sups-preserving -> finite-sups-preserving Relation of the carrier of a1,the carrier of a2;
coherence
for b1 being Function of c1,c2 st b1 is sups-preserving holds
b1 is finite-sups-preserving
proof end;
cluster finite-sups-preserving -> join-preserving bottom-preserving Relation of the carrier of a1,the carrier of a2;
coherence
for b1 being Function of c1,c2 st b1 is finite-sups-preserving holds
( b1 is join-preserving & b1 is bottom-preserving )
by Th65;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric lower-bounded RelStr ;
cluster sups-preserving join-preserving finite-sups-preserving bottom-preserving Relation of the carrier of a1,the carrier of a2;
existence
ex b1 being Function of c1,c2 st
( b1 is sups-preserving & b1 is finite-sups-preserving )
proof end;
end;

registration
let c1 be non empty lower-bounded Poset;
cluster CompactSublatt a1 -> lower-bounded ;
coherence
CompactSublatt c1 is lower-bounded
proof end;
end;

theorem Th67: :: WAYBEL34:67
for b1 being RelStr
for b2 being non empty RelStr
for b3 being Function of b1,b2
for b4 being SubRelStr of b1
for b5 being SubRelStr of b2 st b3 .: the carrier of b4 c= the carrier of b5 holds
b3 | the carrier of b4 is Function of b4,b5
proof end;

theorem Th68: :: WAYBEL34:68
for b1, b2 being LATTICE
for b3 being join-preserving Function of b1,b2
for b4 being non empty full join-inheriting SubRelStr of b1
for b5 being non empty full join-inheriting SubRelStr of b2
for b6 being Function of b4,b5 st b6 = b3 | the carrier of b4 holds
b6 is join-preserving
proof end;

theorem Th69: :: WAYBEL34:69
for b1, b2 being lower-bounded LATTICE
for b3 being finite-sups-preserving Function of b1,b2
for b4 being non empty full finite-sups-inheriting SubRelStr of b1
for b5 being non empty full finite-sups-inheriting SubRelStr of b2
for b6 being Function of b4,b5 st b6 = b3 | the carrier of b4 holds
b6 is finite-sups-preserving
proof end;

registration
let c1 be complete LATTICE;
cluster CompactSublatt a1 -> lower-bounded finite-sups-inheriting bottom-inheriting ;
coherence
CompactSublatt c1 is finite-sups-inheriting
proof end;
end;

theorem Th70: :: WAYBEL34:70
for b1, b2 being complete LATTICE
for b3 being sups-preserving Function of b2,b1 holds
( b3 is compact-preserving iff b3 | the carrier of (CompactSublatt b2) is finite-sups-preserving Function of (CompactSublatt b2),(CompactSublatt b1) )
proof end;

theorem Th71: :: WAYBEL34:71
for b1, b2 being complete LATTICE st b2 is algebraic holds
for b3 being infs-preserving Function of b1,b2 holds
( b3 is directed-sups-preserving iff (LowerAdj b3) | the carrier of (CompactSublatt b2) is finite-sups-preserving Function of (CompactSublatt b2),(CompactSublatt b1) )
proof end;