:: WAYBEL24 semantic presentation

theorem Th1: :: WAYBEL24:1
for b1, b2 being up-complete Scott TopLattice
for b3 being Subset of (SCMaps b1,b2) holds "\/" b3,(SCMaps b1,b2) is continuous Function of b1,b2
proof end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive RelStr ;
cluster constant -> monotone M4(the carrier of a1,the carrier of a2);
coherence
for b1 being Function of c1,c2 st b1 is constant holds
b1 is monotone
proof end;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive RelStr ;
let c3 be Element of c2;
cluster a1 --> a3 -> monotone ;
coherence
c1 --> c3 is monotone
proof end;
end;

theorem Th2: :: WAYBEL24:2
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric lower-bounded RelStr holds Bottom (MonMaps b1,b2) = b1 --> (Bottom b2)
proof end;

theorem Th3: :: WAYBEL24:3
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric upper-bounded RelStr holds Top (MonMaps b1,b2) = b1 --> (Top b2)
proof end;

scheme :: WAYBEL24:sch 1
s1{ F1() -> non empty RelStr , F2() -> non empty RelStr , F3( set ) -> Element of F2(), F4() -> Function, P1[ set ] } :
F4() .: { F3(b1) where B is Element of F1() : P1[b1] } = { (F4() . F3(b1)) where B is Element of F1() : P1[b1] }
provided
E1: the carrier of F2() c= dom F4()
proof end;

scheme :: WAYBEL24:sch 2
s2{ F1() -> LATTICE, F2( set ) -> set , P1[ set ], P2[ set ] } :
{ F2(b1) where B is Element of F1() : P1[b1] } = { F2(b1) where B is Element of F1() : P2[b1] }
provided
E1: for b1 being Element of F1() holds
( P1[b1] iff P2[b1] )
proof end;

theorem Th4: :: WAYBEL24:4
for b1, b2 being complete LATTICE
for b3 being monotone Function of b1,b2
for b4 being Element of b1 holds b3 . b4 = sup (b3 .: (downarrow b4))
proof end;

theorem Th5: :: WAYBEL24:5
for b1, b2 being lower-bounded complete LATTICE
for b3 being monotone Function of b1,b2
for b4 being Element of b1 holds b3 . b4 = "\/" { (b3 . b5) where B is Element of b1 : b5 <= b4 } ,b2
proof end;

theorem Th6: :: WAYBEL24:6
for b1 being RelStr
for b2 being non empty RelStr
for b3 being Subset of (b2 |^ the carrier of b1) holds sup b3 is Function of b1,b2
proof end;

definition
let c1, c2, c3 be non empty RelStr ;
let c4 be Function of [:c1,c2:],c3;
let c5 be Element of c1;
func Proj c4,c5 -> Function of a2,a3 equals :: WAYBEL24:def 1
(curry a4) . a5;
correctness
coherence
(curry c4) . c5 is Function of c2,c3
;
proof end;
end;

:: deftheorem Def1 defines Proj WAYBEL24:def 1 :
for b1, b2, b3 being non empty RelStr
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1 holds Proj b4,b5 = (curry b4) . b5;

theorem Th7: :: WAYBEL24:7
for b1, b2, b3 being non empty RelStr
for b4 being Function of [:b2,b3:],b1
for b5 being Element of b2
for b6 being Element of b3 holds (Proj b4,b5) . b6 = b4 . [b5,b6]
proof end;

definition
let c1, c2, c3 be non empty RelStr ;
let c4 be Function of [:c1,c2:],c3;
let c5 be Element of c2;
func Proj c4,c5 -> Function of a1,a3 equals :: WAYBEL24:def 2
(curry' a4) . a5;
correctness
coherence
(curry' c4) . c5 is Function of c1,c3
;
proof end;
end;

:: deftheorem Def2 defines Proj WAYBEL24:def 2 :
for b1, b2, b3 being non empty RelStr
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b2 holds Proj b4,b5 = (curry' b4) . b5;

theorem Th8: :: WAYBEL24:8
for b1, b2, b3 being non empty RelStr
for b4 being Function of [:b3,b2:],b1
for b5 being Element of b2
for b6 being Element of b3 holds (Proj b4,b5) . b6 = b4 . [b6,b5]
proof end;

theorem Th9: :: WAYBEL24:9
for b1, b2, b3 being non empty RelStr
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Element of b2 holds (Proj b4,b5) . b6 = (Proj b4,b6) . b5
proof end;

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive RelStr ;
cluster antitone M4(the carrier of a1,the carrier of a2);
existence
ex b1 being Function of c1,c2 st b1 is antitone
proof end;
end;

theorem Th10: :: WAYBEL24:10
for b1, b2, b3 being non empty reflexive RelStr
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Element of b2 st b4 is monotone holds
( Proj b4,b5 is monotone & Proj b4,b6 is monotone )
proof end;

theorem Th11: :: WAYBEL24:11
for b1, b2, b3 being non empty reflexive RelStr
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Element of b2 st b4 is antitone holds
( Proj b4,b5 is antitone & Proj b4,b6 is antitone )
proof end;

registration
let c1, c2, c3 be non empty reflexive RelStr ;
let c4 be monotone Function of [:c1,c2:],c3;
let c5 be Element of c1;
cluster Proj a4,a5 -> monotone ;
coherence
Proj c4,c5 is monotone
by Th10;
end;

registration
let c1, c2, c3 be non empty reflexive RelStr ;
let c4 be monotone Function of [:c1,c2:],c3;
let c5 be Element of c2;
cluster Proj a4,a5 -> monotone ;
coherence
Proj c4,c5 is monotone
by Th10;
end;

registration
let c1, c2, c3 be non empty reflexive RelStr ;
let c4 be antitone Function of [:c1,c2:],c3;
let c5 be Element of c1;
cluster Proj a4,a5 -> antitone ;
coherence
Proj c4,c5 is antitone
by Th11;
end;

registration
let c1, c2, c3 be non empty reflexive RelStr ;
let c4 be antitone Function of [:c1,c2:],c3;
let c5 be Element of c2;
cluster Proj a4,a5 -> antitone ;
coherence
Proj c4,c5 is antitone
by Th11;
end;

theorem Th12: :: WAYBEL24:12
for b1, b2, b3 being LATTICE
for b4 being Function of [:b1,b2:],b3 st ( for b5 being Element of b1
for b6 being Element of b2 holds
( Proj b4,b5 is monotone & Proj b4,b6 is monotone ) ) holds
b4 is monotone
proof end;

theorem Th13: :: WAYBEL24:13
for b1, b2, b3 being LATTICE
for b4 being Function of [:b1,b2:],b3 st ( for b5 being Element of b1
for b6 being Element of b2 holds
( Proj b4,b5 is antitone & Proj b4,b6 is antitone ) ) holds
b4 is antitone
proof end;

theorem Th14: :: WAYBEL24:14
for b1, b2, b3 being LATTICE
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b2
for b6 being Subset of b1 holds (Proj b4,b5) .: b6 = b4 .: [:b6,{b5}:]
proof end;

theorem Th15: :: WAYBEL24:15
for b1, b2, b3 being LATTICE
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Subset of b2 holds (Proj b4,b5) .: b6 = b4 .: [:{b5},b6:]
proof end;

theorem Th16: :: WAYBEL24:16
for b1, b2, b3 being LATTICE
for b4 being Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Element of b2 st b4 is directed-sups-preserving holds
( Proj b4,b5 is directed-sups-preserving & Proj b4,b6 is directed-sups-preserving )
proof end;

theorem Th17: :: WAYBEL24:17
for b1, b2, b3 being LATTICE
for b4 being monotone Function of [:b1,b2:],b3
for b5 being Element of b1
for b6 being Element of b2
for b7 being directed Subset of [:b1,b2:] st ex_sup_of b4 .: b7,b3 & b5 in proj1 b7 & b6 in proj2 b7 holds
b4 . [b5,b6] <= sup (b4 .: b7)
proof end;

theorem Th18: :: WAYBEL24:18
for b1, b2, b3 being complete LATTICE
for b4 being Function of [:b1,b2:],b3 st ( for b5 being Element of b1
for b6 being Element of b2 holds
( Proj b4,b5 is directed-sups-preserving & Proj b4,b6 is directed-sups-preserving ) ) holds
b4 is directed-sups-preserving
proof end;

theorem Th19: :: WAYBEL24:19
for b1 being set
for b2 being non empty RelStr
for b3 being set holds
( b3 is Element of (b2 |^ b1) iff b3 is Function of b1,the carrier of b2 )
proof end;

definition
let c1 be TopStruct ;
let c2 be non empty TopRelStr ;
func ContMaps c1,c2 -> strict RelStr means :Def3: :: WAYBEL24:def 3
( a3 is full SubRelStr of a2 |^ the carrier of a1 & ( for b1 being set holds
( b1 in the carrier of a3 iff ex b2 being Function of a1,a2 st
( b1 = b2 & b2 is continuous ) ) ) );
existence
ex b1 being strict RelStr st
( b1 is full SubRelStr of c2 |^ the carrier of c1 & ( for b2 being set holds
( b2 in the carrier of b1 iff ex b3 being Function of c1,c2 st
( b2 = b3 & b3 is continuous ) ) ) )
proof end;
uniqueness
for b1, b2 being strict RelStr st b1 is full SubRelStr of c2 |^ the carrier of c1 & ( for b3 being set holds
( b3 in the carrier of b1 iff ex b4 being Function of c1,c2 st
( b3 = b4 & b4 is continuous ) ) ) & b2 is full SubRelStr of c2 |^ the carrier of c1 & ( for b3 being set holds
( b3 in the carrier of b2 iff ex b4 being Function of c1,c2 st
( b3 = b4 & b4 is continuous ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines ContMaps WAYBEL24:def 3 :
for b1 being TopStruct
for b2 being non empty TopRelStr
for b3 being strict RelStr holds
( b3 = ContMaps b1,b2 iff ( b3 is full SubRelStr of b2 |^ the carrier of b1 & ( for b4 being set holds
( b4 in the carrier of b3 iff ex b5 being Function of b1,b2 st
( b4 = b5 & b5 is continuous ) ) ) ) );

registration
let c1 be non empty TopSpace;
let c2 be non empty TopSpace-like TopRelStr ;
cluster ContMaps a1,a2 -> non empty strict ;
coherence
not ContMaps c1,c2 is empty
proof end;
end;

registration
let c1 be non empty TopSpace;
let c2 be non empty TopSpace-like TopRelStr ;
cluster ContMaps a1,a2 -> non empty strict constituted-Functions ;
coherence
ContMaps c1,c2 is constituted-Functions
proof end;
end;

theorem Th20: :: WAYBEL24:20
for b1 being non empty TopSpace
for b2 being non empty reflexive TopSpace-like TopRelStr
for b3, b4 being Element of (ContMaps b1,b2) holds
( b3 <= b4 iff for b5 being Element of b1 holds [(b3 . b5),(b4 . b5)] in the InternalRel of b2 )
proof end;

theorem Th21: :: WAYBEL24:21
for b1 being non empty TopSpace
for b2 being non empty reflexive TopSpace-like TopRelStr
for b3 being set holds
( b3 is continuous Function of b1,b2 iff b3 is Element of (ContMaps b1,b2) )
proof end;

registration
let c1 be non empty TopSpace;
let c2 be non empty reflexive TopSpace-like TopRelStr ;
cluster ContMaps a1,a2 -> non empty strict reflexive constituted-Functions ;
coherence
ContMaps c1,c2 is reflexive
proof end;
end;

registration
let c1 be non empty TopSpace;
let c2 be non empty transitive TopSpace-like TopRelStr ;
cluster ContMaps a1,a2 -> non empty strict transitive constituted-Functions ;
coherence
ContMaps c1,c2 is transitive
proof end;
end;

registration
let c1 be non empty TopSpace;
let c2 be non empty antisymmetric TopSpace-like TopRelStr ;
cluster ContMaps a1,a2 -> non empty strict antisymmetric constituted-Functions ;
coherence
ContMaps c1,c2 is antisymmetric
proof end;
end;

registration
let c1 be set ;
let c2 be non empty RelStr ;
cluster a2 |^ a1 -> constituted-Functions ;
coherence
c2 |^ c1 is constituted-Functions
proof end;
end;

theorem Th22: :: WAYBEL24:22
for b1 being non empty 1-sorted
for b2 being complete LATTICE
for b3, b4, b5 being Function of b1,b2
for b6 being Element of b1 st b5 = "\/" {b3,b4},(b2 |^ the carrier of b1) holds
b5 . b6 = sup {(b3 . b6),(b4 . b6)}
proof end;

theorem Th23: :: WAYBEL24:23
for b1 being non empty set
for b2 being RelStr-yielding non-Empty reflexive-yielding ManySortedSet of b1 st ( for b3 being Element of b1 holds b2 . b3 is complete LATTICE ) holds
for b3 being Subset of (product b2)
for b4 being Element of b1 holds (inf b3) . b4 = inf (pi b3,b4)
proof end;

theorem Th24: :: WAYBEL24:24
for b1 being non empty 1-sorted
for b2 being complete LATTICE
for b3, b4, b5 being Function of b1,b2
for b6 being Element of b1 st b5 = "/\" {b3,b4},(b2 |^ the carrier of b1) holds
b5 . b6 = inf {(b3 . b6),(b4 . b6)}
proof end;

theorem Th25: :: WAYBEL24:25
for b1 being non empty RelStr
for b2 being complete LATTICE
for b3 being non empty Subset of (b2 |^ the carrier of b1)
for b4 being Element of b1 holds (sup b3) . b4 = "\/" { (b5 . b4) where B is Element of (b2 |^ the carrier of b1) : b5 in b3 } ,b2
proof end;

theorem Th26: :: WAYBEL24:26
for b1, b2 being complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2)
for b4 being Element of b1 holds ("\/" b3,(b2 |^ the carrier of b1)) . b4 = "\/" { (b5 . b4) where B is Element of (b2 |^ the carrier of b1) : b5 in b3 } ,b2
proof end;

theorem Th27: :: WAYBEL24:27
for b1 being non empty RelStr
for b2 being complete LATTICE
for b3 being non empty Subset of (b2 |^ the carrier of b1)
for b4 being non empty Subset of b1 holds (sup b3) .: b4 = { ("\/" { (b6 . b5) where B is Element of (b2 |^ the carrier of b1) : b6 in b3 } ,b2) where B is Element of b1 : b5 in b4 }
proof end;

theorem Th28: :: WAYBEL24:28
for b1, b2 being Scott complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2)
for b4 being non empty Subset of b1 holds ("\/" b3,(b2 |^ the carrier of b1)) .: b4 = { ("\/" { (b6 . b5) where B is Element of (b2 |^ the carrier of b1) : b6 in b3 } ,b2) where B is Element of b1 : b5 in b4 }
proof end;

scheme :: WAYBEL24:sch 3
s3{ F1() -> non empty TopRelStr , F2( set ) -> set , F3( set ) -> set , P1[ set ] } :
{ F2(b1) where B is Element of F1() : P1[b1] } = { F3(b1) where B is Element of F1() : P1[b1] }
provided
E21: for b1 being Element of F1() st P1[b1] holds
F2(b1) = F3(b1)
proof end;

scheme :: WAYBEL24:sch 4
s4{ F1() -> non empty RelStr , F2( set ) -> set , F3( set ) -> set , P1[ set ] } :
{ F2(b1) where B is Element of F1() : P1[b1] } = { F3(b1) where B is Element of F1() : P1[b1] }
provided
E21: for b1 being Element of F1() st P1[b1] holds
F2(b1) = F3(b1)
proof end;

scheme :: WAYBEL24:sch 5
s5{ F1() -> non empty TopRelStr , F2() -> non empty TopRelStr , F3( set ) -> Element of F2(), F4() -> Function, P1[ set ] } :
F4() .: { F3(b1) where B is Element of F1() : P1[b1] } = { (F4() . F3(b1)) where B is Element of F1() : P1[b1] }
provided
E21: the carrier of F2() c= dom F4()
proof end;

Lemma21: for b1 being non empty RelStr
for b2 being non empty Subset of b1 holds b2 = { b3 where B is Element of b1 : b3 in b2 }
proof end;

theorem Th29: :: WAYBEL24:29
for b1, b2 being Scott complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2) holds "\/" b3,(b2 |^ the carrier of b1) is monotone Function of b1,b2
proof end;

theorem Th30: :: WAYBEL24:30
for b1, b2 being Scott complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2)
for b4 being non empty directed Subset of b1 holds "\/" { ("\/" { (b5 . b6) where B is Element of b1 : b6 in b4 } ,b2) where B is Element of (b2 |^ the carrier of b1) : b5 in b3 } ,b2 = "\/" { ("\/" { (b6 . b5) where B is Element of (b2 |^ the carrier of b1) : b6 in b3 } ,b2) where B is Element of b1 : b5 in b4 } ,b2
proof end;

theorem Th31: :: WAYBEL24:31
for b1, b2 being Scott complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2)
for b4 being non empty directed Subset of b1 holds "\/" (("\/" b3,(b2 |^ the carrier of b1)) .: b4),b2 = ("\/" b3,(b2 |^ the carrier of b1)) . (sup b4)
proof end;

theorem Th32: :: WAYBEL24:32
for b1, b2 being Scott complete TopLattice
for b3 being non empty Subset of (ContMaps b1,b2) holds "\/" b3,(b2 |^ the carrier of b1) in the carrier of (ContMaps b1,b2)
proof end;

theorem Th33: :: WAYBEL24:33
for b1 being non empty RelStr
for b2 being non empty antisymmetric lower-bounded RelStr holds Bottom (b2 |^ the carrier of b1) = b1 --> (Bottom b2)
proof end;

theorem Th34: :: WAYBEL24:34
for b1 being non empty RelStr
for b2 being non empty antisymmetric upper-bounded RelStr holds Top (b2 |^ the carrier of b1) = b1 --> (Top b2)
proof end;

registration
let c1 be non empty reflexive RelStr ;
let c2 be complete LATTICE;
let c3 be Element of c2;
cluster a1 --> a3 -> monotone directed-sups-preserving ;
coherence
c1 --> c3 is directed-sups-preserving
proof end;
end;

theorem Th35: :: WAYBEL24:35
for b1, b2 being Scott complete TopLattice holds ContMaps b1,b2 is sups-inheriting SubRelStr of b2 |^ the carrier of b1
proof end;

registration
let c1, c2 be Scott complete TopLattice;
cluster ContMaps a1,a2 -> non empty strict reflexive transitive antisymmetric complete constituted-Functions ;
coherence
ContMaps c1,c2 is complete
proof end;
end;

theorem Th36: :: WAYBEL24:36
for b1, b2 being non empty Scott complete TopLattice holds Bottom (ContMaps b1,b2) = b1 --> (Bottom b2)
proof end;

theorem Th37: :: WAYBEL24:37
for b1, b2 being non empty Scott complete TopLattice holds Top (ContMaps b1,b2) = b1 --> (Top b2)
proof end;

theorem Th38: :: WAYBEL24:38
for b1, b2 being Scott complete TopLattice holds SCMaps b1,b2 = ContMaps b1,b2
proof end;