:: WAYBEL20 semantic presentation

theorem Th1: :: WAYBEL20:1
for b1 being set
for b2 being Subset of (id b1) holds proj1 b2 = proj2 b2
proof end;

theorem Th2: :: WAYBEL20:2
for b1, b2 being non empty set
for b3 being Function of b1,b2 holds [:b3,b3:] " (id b2) is Equivalence_Relation of b1
proof end;

definition
let c1, c2, c3, c4 be RelStr ;
let c5 be Function of c1,c3;
let c6 be Function of c2,c4;
redefine func [: as [:c5,c6:] -> Function of [:a1,a2:],[:a3,a4:];
coherence
[:c5,c6:] is Function of [:c1,c2:],[:c3,c4:]
proof end;
end;

theorem Th3: :: WAYBEL20:3
for b1, b2 being Function
for b3 being set holds
( proj1 ([:b1,b2:] .: b3) c= b1 .: (proj1 b3) & proj2 ([:b1,b2:] .: b3) c= b2 .: (proj2 b3) )
proof end;

theorem Th4: :: WAYBEL20:4
for b1, b2 being Function
for b3 being set st b3 c= [:(dom b1),(dom b2):] holds
( proj1 ([:b1,b2:] .: b3) = b1 .: (proj1 b3) & proj2 ([:b1,b2:] .: b3) = b2 .: (proj2 b3) )
proof end;

theorem Th5: :: WAYBEL20:5
for b1 being non empty antisymmetric RelStr st ex_inf_of {} ,b1 holds
b1 is upper-bounded
proof end;

theorem Th6: :: WAYBEL20:6
for b1 being non empty antisymmetric RelStr st ex_sup_of {} ,b1 holds
b1 is lower-bounded
proof end;

theorem Th7: :: WAYBEL20:7
for b1, b2 being non empty antisymmetric RelStr
for b3 being Subset of [:b1,b2:] st ex_inf_of b3,[:b1,b2:] holds
inf b3 = [(inf (proj1 b3)),(inf (proj2 b3))]
proof end;

theorem Th8: :: WAYBEL20:8
for b1, b2 being non empty antisymmetric RelStr
for b3 being Subset of [:b1,b2:] st ex_sup_of b3,[:b1,b2:] holds
sup b3 = [(sup (proj1 b3)),(sup (proj2 b3))]
proof end;

theorem Th9: :: WAYBEL20:9
for b1, b2, b3, b4 being non empty antisymmetric RelStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is infs-preserving & b6 is infs-preserving holds
[:b5,b6:] is infs-preserving
proof end;

theorem Th10: :: WAYBEL20:10
for b1, b2, b3, b4 being non empty reflexive antisymmetric RelStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is filtered-infs-preserving & b6 is filtered-infs-preserving holds
[:b5,b6:] is filtered-infs-preserving
proof end;

theorem Th11: :: WAYBEL20:11
for b1, b2, b3, b4 being non empty antisymmetric RelStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is sups-preserving & b6 is sups-preserving holds
[:b5,b6:] is sups-preserving
proof end;

theorem Th12: :: WAYBEL20:12
for b1, b2, b3, b4 being non empty reflexive antisymmetric RelStr
for b5 being Function of b1,b3
for b6 being Function of b2,b4 st b5 is directed-sups-preserving & b6 is directed-sups-preserving holds
[:b5,b6:] is directed-sups-preserving
proof end;

theorem Th13: :: WAYBEL20:13
for b1 being non empty antisymmetric RelStr
for b2 being Subset of [:b1,b1:] st b2 c= id the carrier of b1 & ex_inf_of b2,[:b1,b1:] holds
inf b2 in id the carrier of b1
proof end;

theorem Th14: :: WAYBEL20:14
for b1 being non empty antisymmetric RelStr
for b2 being Subset of [:b1,b1:] st b2 c= id the carrier of b1 & ex_sup_of b2,[:b1,b1:] holds
sup b2 in id the carrier of b1
proof end;

theorem Th15: :: WAYBEL20:15
for b1, b2 being non empty RelStr st b1,b2 are_isomorphic & b1 is reflexive holds
b2 is reflexive
proof end;

theorem Th16: :: WAYBEL20:16
for b1, b2 being non empty RelStr st b1,b2 are_isomorphic & b1 is transitive holds
b2 is transitive
proof end;

theorem Th17: :: WAYBEL20:17
for b1, b2 being non empty RelStr st b1,b2 are_isomorphic & b1 is antisymmetric holds
b2 is antisymmetric
proof end;

theorem Th18: :: WAYBEL20:18
for b1, b2 being non empty RelStr st b1,b2 are_isomorphic & b1 is complete holds
b2 is complete
proof end;

theorem Th19: :: WAYBEL20:19
for b1 being non empty transitive RelStr
for b2 being Function of b1,b1 st b2 is infs-preserving holds
corestr b2 is infs-preserving
proof end;

theorem Th20: :: WAYBEL20:20
for b1 being non empty transitive RelStr
for b2 being Function of b1,b1 st b2 is filtered-infs-preserving holds
corestr b2 is filtered-infs-preserving
proof end;

theorem Th21: :: WAYBEL20:21
for b1 being non empty transitive RelStr
for b2 being Function of b1,b1 st b2 is sups-preserving holds
corestr b2 is sups-preserving
proof end;

theorem Th22: :: WAYBEL20:22
for b1 being non empty transitive RelStr
for b2 being Function of b1,b1 st b2 is directed-sups-preserving holds
corestr b2 is directed-sups-preserving
proof end;

theorem Th23: :: WAYBEL20:23
canceled;

theorem Th24: :: WAYBEL20:24
for b1, b2 being non empty reflexive antisymmetric RelStr
for b3 being Function of b1,b2 st b3 is filtered-infs-preserving holds
b3 is monotone
proof end;

theorem Th25: :: WAYBEL20:25
for b1, b2 being non empty RelStr
for b3 being Function of b1,b2 st b3 is monotone holds
for b4 being Subset of b1 st b4 is filtered holds
b3 .: b4 is filtered
proof end;

theorem Th26: :: WAYBEL20:26
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 infs-preserving & b5 is infs-preserving holds
b5 * b4 is infs-preserving
proof end;

theorem Th27: :: WAYBEL20:27
for b1, b2, b3 being non empty reflexive antisymmetric RelStr
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st b4 is filtered-infs-preserving & b5 is filtered-infs-preserving holds
b5 * b4 is filtered-infs-preserving
proof end;

theorem Th28: :: WAYBEL20:28
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 sups-preserving & b5 is sups-preserving holds
b5 * b4 is sups-preserving
proof end;

theorem Th29: :: WAYBEL20:29
for b1, b2, b3 being non empty reflexive antisymmetric RelStr
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st b4 is directed-sups-preserving & b5 is directed-sups-preserving holds
b5 * b4 is directed-sups-preserving
proof end;

theorem Th30: :: WAYBEL20:30
for b1 being non empty set
for b2 being RelStr-yielding non-Empty ManySortedSet of b1 st ( for b3 being Element of b1 holds b2 . b3 is antisymmetric lower-bounded RelStr ) holds
product b2 is lower-bounded
proof end;

theorem Th31: :: WAYBEL20:31
for b1 being non empty set
for b2 being RelStr-yielding non-Empty ManySortedSet of b1 st ( for b3 being Element of b1 holds b2 . b3 is antisymmetric upper-bounded RelStr ) holds
product b2 is upper-bounded
proof end;

theorem Th32: :: WAYBEL20:32
for b1 being non empty set
for b2 being RelStr-yielding non-Empty ManySortedSet of b1 st ( for b3 being Element of b1 holds b2 . b3 is antisymmetric lower-bounded RelStr ) holds
for b3 being Element of b1 holds (Bottom (product b2)) . b3 = Bottom (b2 . b3)
proof end;

theorem Th33: :: WAYBEL20:33
for b1 being non empty set
for b2 being RelStr-yielding non-Empty ManySortedSet of b1 st ( for b3 being Element of b1 holds b2 . b3 is antisymmetric upper-bounded RelStr ) holds
for b3 being Element of b1 holds (Top (product b2)) . b3 = Top (b2 . b3)
proof end;

theorem Th34: :: WAYBEL20:34
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 continuous LATTICE ) holds
product b2 is continuous
proof end;

theorem Th35: :: WAYBEL20:35
for b1, b2 being complete continuous LATTICE
for b3 being CLHomomorphism of b1,b2
for b4 being Subset of [:b1,b1:] st b4 = [:b3,b3:] " (id the carrier of b2) holds
subrelstr b4 is CLSubFrame of [:b1,b1:]
proof end;

definition
let c1 be RelStr ;
let c2 be Subset of [:c1,c1:];
assume E23: c2 is Equivalence_Relation of the carrier of c1 ;
func EqRel c2 -> Equivalence_Relation of the carrier of a1 equals :Def1: :: WAYBEL20:def 1
a2;
correctness
coherence
c2 is Equivalence_Relation of the carrier of c1
;
by E23;
end;

:: deftheorem Def1 defines EqRel WAYBEL20:def 1 :
for b1 being RelStr
for b2 being Subset of [:b1,b1:] st b2 is Equivalence_Relation of the carrier of b1 holds
EqRel b2 = b2;

definition
let c1 be non empty RelStr ;
let c2 be Subset of [:c1,c1:];
attr a2 is CLCongruence means :Def2: :: WAYBEL20:def 2
( a2 is Equivalence_Relation of the carrier of a1 & subrelstr a2 is CLSubFrame of [:a1,a1:] );
end;

:: deftheorem Def2 defines CLCongruence WAYBEL20:def 2 :
for b1 being non empty RelStr
for b2 being Subset of [:b1,b1:] holds
( b2 is CLCongruence iff ( b2 is Equivalence_Relation of the carrier of b1 & subrelstr b2 is CLSubFrame of [:b1,b1:] ) );

theorem Th36: :: WAYBEL20:36
for b1 being complete LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
for b3 being Element of b1 holds [(inf (Class (EqRel b2),b3)),b3] in b2
proof end;

definition
let c1 be complete LATTICE;
let c2 be non empty Subset of [:c1,c1:];
assume E26: c2 is CLCongruence ;
func kernel_op c2 -> kernel Function of a1,a1 means :Def3: :: WAYBEL20:def 3
for b1 being Element of a1 holds a3 . b1 = inf (Class (EqRel a2),b1);
existence
ex b1 being kernel Function of c1,c1 st
for b2 being Element of c1 holds b1 . b2 = inf (Class (EqRel c2),b2)
proof end;
uniqueness
for b1, b2 being kernel Function of c1,c1 st ( for b3 being Element of c1 holds b1 . b3 = inf (Class (EqRel c2),b3) ) & ( for b3 being Element of c1 holds b2 . b3 = inf (Class (EqRel c2),b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines kernel_op WAYBEL20:def 3 :
for b1 being complete LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
for b3 being kernel Function of b1,b1 holds
( b3 = kernel_op b2 iff for b4 being Element of b1 holds b3 . b4 = inf (Class (EqRel b2),b4) );

theorem Th37: :: WAYBEL20:37
for b1 being complete LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
( kernel_op b2 is directed-sups-preserving & b2 = [:(kernel_op b2),(kernel_op b2):] " (id the carrier of b1) )
proof end;

theorem Th38: :: WAYBEL20:38
for b1 being complete continuous LATTICE
for b2 being Subset of [:b1,b1:]
for b3 being kernel Function of b1,b1 st b3 is directed-sups-preserving & b2 = [:b3,b3:] " (id the carrier of b1) holds
ex b4 being strict complete continuous LATTICE st
( the carrier of b4 = Class (EqRel b2) & the InternalRel of b4 = { [(Class (EqRel b2),b5),(Class (EqRel b2),b6)] where B is Element of b1, B is Element of b1 : b3 . b5 <= b3 . b6 } & ( for b5 being Function of b1,b4 st ( for b6 being Element of b1 holds b5 . b6 = Class (EqRel b2),b6 ) holds
b5 is CLHomomorphism of b1,b4 ) )
proof end;

theorem Th39: :: WAYBEL20:39
for b1 being complete continuous LATTICE
for b2 being Subset of [:b1,b1:] st b2 is Equivalence_Relation of the carrier of b1 & ex b3 being complete continuous LATTICE st
( the carrier of b3 = Class (EqRel b2) & ( for b4 being Function of b1,b3 st ( for b5 being Element of b1 holds b4 . b5 = Class (EqRel b2),b5 ) holds
b4 is CLHomomorphism of b1,b3 ) ) holds
subrelstr b2 is CLSubFrame of [:b1,b1:]
proof end;

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

definition
let c1 be non empty reflexive RelStr ;
let c2 be kernel Function of c1,c1;
func kernel_congruence c2 -> non empty Subset of [:a1,a1:] equals :: WAYBEL20:def 4
[:a2,a2:] " (id the carrier of a1);
coherence
[:c2,c2:] " (id the carrier of c1) is non empty Subset of [:c1,c1:]
proof end;
end;

:: deftheorem Def4 defines kernel_congruence WAYBEL20:def 4 :
for b1 being non empty reflexive RelStr
for b2 being kernel Function of b1,b1 holds kernel_congruence b2 = [:b2,b2:] " (id the carrier of b1);

theorem Th40: :: WAYBEL20:40
for b1 being non empty reflexive RelStr
for b2 being kernel Function of b1,b1 holds kernel_congruence b2 is Equivalence_Relation of the carrier of b1 by Th2;

theorem Th41: :: WAYBEL20:41
for b1 being complete continuous LATTICE
for b2 being directed-sups-preserving kernel Function of b1,b1 holds kernel_congruence b2 is CLCongruence
proof end;

definition
let c1 be complete continuous LATTICE;
let c2 be non empty Subset of [:c1,c1:];
assume E32: c2 is CLCongruence ;
func c1 ./. c2 -> strict complete continuous LATTICE means :Def5: :: WAYBEL20:def 5
( the carrier of a3 = Class (EqRel a2) & ( for b1, b2 being Element of a3 holds
( b1 <= b2 iff "/\" b1,a1 <= "/\" b2,a1 ) ) );
existence
ex b1 being strict complete continuous LATTICE st
( the carrier of b1 = Class (EqRel c2) & ( for b2, b3 being Element of b1 holds
( b2 <= b3 iff "/\" b2,c1 <= "/\" b3,c1 ) ) )
proof end;
uniqueness
for b1, b2 being strict complete continuous LATTICE st the carrier of b1 = Class (EqRel c2) & ( for b3, b4 being Element of b1 holds
( b3 <= b4 iff "/\" b3,c1 <= "/\" b4,c1 ) ) & the carrier of b2 = Class (EqRel c2) & ( for b3, b4 being Element of b2 holds
( b3 <= b4 iff "/\" b3,c1 <= "/\" b4,c1 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines ./. WAYBEL20:def 5 :
for b1 being complete continuous LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
for b3 being strict complete continuous LATTICE holds
( b3 = b1 ./. b2 iff ( the carrier of b3 = Class (EqRel b2) & ( for b4, b5 being Element of b3 holds
( b4 <= b5 iff "/\" b4,b1 <= "/\" b5,b1 ) ) ) );

theorem Th42: :: WAYBEL20:42
for b1 being complete continuous LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
for b3 being set holds
( b3 is Element of (b1 ./. b2) iff ex b4 being Element of b1 st b3 = Class (EqRel b2),b4 )
proof end;

theorem Th43: :: WAYBEL20:43
for b1 being complete continuous LATTICE
for b2 being non empty Subset of [:b1,b1:] st b2 is CLCongruence holds
b2 = kernel_congruence (kernel_op b2) by Th37;

theorem Th44: :: WAYBEL20:44
for b1 being complete continuous LATTICE
for b2 being directed-sups-preserving kernel Function of b1,b1 holds b2 = kernel_op (kernel_congruence b2)
proof end;

theorem Th45: :: WAYBEL20:45
for b1 being complete continuous LATTICE
for b2 being projection Function of b1,b1 st b2 is infs-preserving holds
( Image b2 is continuous LATTICE & Image b2 is infs-inheriting )
proof end;