:: YELLOW10 semantic presentation

registration
let c1, c2 be non empty upper-bounded RelStr ;
cluster [:a1,a2:] -> upper-bounded ;
coherence
[:c1,c2:] is upper-bounded
proof end;
end;

registration
let c1, c2 be non empty lower-bounded RelStr ;
cluster [:a1,a2:] -> lower-bounded ;
coherence
[:c1,c2:] is lower-bounded
proof end;
end;

theorem Th1: :: YELLOW10:1
for b1, b2 being non empty RelStr st [:b1,b2:] is upper-bounded holds
( b1 is upper-bounded & b2 is upper-bounded )
proof end;

theorem Th2: :: YELLOW10:2
for b1, b2 being non empty RelStr st [:b1,b2:] is lower-bounded holds
( b1 is lower-bounded & b2 is lower-bounded )
proof end;

theorem Th3: :: YELLOW10:3
for b1, b2 being non empty antisymmetric upper-bounded RelStr holds Top [:b1,b2:] = [(Top b1),(Top b2)]
proof end;

theorem Th4: :: YELLOW10:4
for b1, b2 being non empty antisymmetric lower-bounded RelStr holds Bottom [:b1,b2:] = [(Bottom b1),(Bottom b2)]
proof end;

theorem Th5: :: YELLOW10:5
for b1, b2 being non empty antisymmetric lower-bounded RelStr
for b3 being Subset of [:b1,b2:] st ( [:b1,b2:] is complete or ex_sup_of b3,[:b1,b2:] ) holds
sup b3 = [(sup (proj1 b3)),(sup (proj2 b3))]
proof end;

theorem Th6: :: YELLOW10:6
for b1, b2 being non empty antisymmetric upper-bounded RelStr
for b3 being Subset of [:b1,b2:] st ( [:b1,b2:] is complete or ex_inf_of b3,[:b1,b2:] ) holds
inf b3 = [(inf (proj1 b3)),(inf (proj2 b3))]
proof end;

theorem Th7: :: YELLOW10:7
for b1, b2 being non empty RelStr
for b3, b4 being Element of [:b1,b2:] holds
( b3 is_<=_than {b4} iff ( b3 `1 is_<=_than {(b4 `1 )} & b3 `2 is_<=_than {(b4 `2 )} ) )
proof end;

theorem Th8: :: YELLOW10:8
for b1, b2 being non empty RelStr
for b3, b4, b5 being Element of [:b1,b2:] holds
( b3 is_<=_than {b4,b5} iff ( b3 `1 is_<=_than {(b4 `1 ),(b5 `1 )} & b3 `2 is_<=_than {(b4 `2 ),(b5 `2 )} ) )
proof end;

theorem Th9: :: YELLOW10:9
for b1, b2 being non empty RelStr
for b3, b4 being Element of [:b1,b2:] holds
( b3 is_>=_than {b4} iff ( b3 `1 is_>=_than {(b4 `1 )} & b3 `2 is_>=_than {(b4 `2 )} ) )
proof end;

theorem Th10: :: YELLOW10:10
for b1, b2 being non empty RelStr
for b3, b4, b5 being Element of [:b1,b2:] holds
( b3 is_>=_than {b4,b5} iff ( b3 `1 is_>=_than {(b4 `1 ),(b5 `1 )} & b3 `2 is_>=_than {(b4 `2 ),(b5 `2 )} ) )
proof end;

theorem Th11: :: YELLOW10:11
for b1, b2 being non empty antisymmetric RelStr
for b3, b4 being Element of [:b1,b2:] holds
( ex_inf_of {b3,b4},[:b1,b2:] iff ( ex_inf_of {(b3 `1 ),(b4 `1 )},b1 & ex_inf_of {(b3 `2 ),(b4 `2 )},b2 ) )
proof end;

theorem Th12: :: YELLOW10:12
for b1, b2 being non empty antisymmetric RelStr
for b3, b4 being Element of [:b1,b2:] holds
( ex_sup_of {b3,b4},[:b1,b2:] iff ( ex_sup_of {(b3 `1 ),(b4 `1 )},b1 & ex_sup_of {(b3 `2 ),(b4 `2 )},b2 ) )
proof end;

theorem Th13: :: YELLOW10:13
for b1, b2 being antisymmetric with_infima RelStr
for b3, b4 being Element of [:b1,b2:] holds
( (b3 "/\" b4) `1 = (b3 `1 ) "/\" (b4 `1 ) & (b3 "/\" b4) `2 = (b3 `2 ) "/\" (b4 `2 ) )
proof end;

theorem Th14: :: YELLOW10:14
for b1, b2 being antisymmetric with_suprema RelStr
for b3, b4 being Element of [:b1,b2:] holds
( (b3 "\/" b4) `1 = (b3 `1 ) "\/" (b4 `1 ) & (b3 "\/" b4) `2 = (b3 `2 ) "\/" (b4 `2 ) )
proof end;

theorem Th15: :: YELLOW10:15
for b1, b2 being antisymmetric with_infima RelStr
for b3, b4 being Element of b1
for b5, b6 being Element of b2 holds [(b3 "/\" b4),(b5 "/\" b6)] = [b3,b5] "/\" [b4,b6]
proof end;

theorem Th16: :: YELLOW10:16
for b1, b2 being antisymmetric with_suprema RelStr
for b3, b4 being Element of b1
for b5, b6 being Element of b2 holds [(b3 "\/" b4),(b5 "\/" b6)] = [b3,b5] "\/" [b4,b6]
proof end;

definition
let c1 be antisymmetric with_suprema with_infima RelStr ;
let c2, c3 be Element of c1;
redefine pred is_a_complement_of as c3 is_a_complement_of c2;
symmetry
for b1, b2 being Element of c1 st b1 is_a_complement_of b2 holds
b2 is_a_complement_of b1
proof end;
end;

theorem Th17: :: YELLOW10:17
for b1, b2 being antisymmetric with_suprema with_infima bounded RelStr
for b3, b4 being Element of [:b1,b2:] holds
( b3 is_a_complement_of b4 iff ( b3 `1 is_a_complement_of b4 `1 & b3 `2 is_a_complement_of b4 `2 ) )
proof end;

theorem Th18: :: YELLOW10:18
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3, b4 being Element of b1
for b5, b6 being Element of b2 st [b3,b5] << [b4,b6] holds
( b3 << b4 & b5 << b6 )
proof end;

theorem Th19: :: YELLOW10:19
for b1, b2 being non empty up-complete Poset
for b3, b4 being Element of b1
for b5, b6 being Element of b2 holds
( [b3,b5] << [b4,b6] iff ( b3 << b4 & b5 << b6 ) )
proof end;

theorem Th20: :: YELLOW10:20
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3, b4 being Element of [:b1,b2:] st b3 << b4 holds
( b3 `1 << b4 `1 & b3 `2 << b4 `2 )
proof end;

theorem Th21: :: YELLOW10:21
for b1, b2 being non empty up-complete Poset
for b3, b4 being Element of [:b1,b2:] holds
( b3 << b4 iff ( b3 `1 << b4 `1 & b3 `2 << b4 `2 ) )
proof end;

theorem Th22: :: YELLOW10:22
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Element of [:b1,b2:] st b3 is compact holds
( b3 `1 is compact & b3 `2 is compact )
proof end;

theorem Th23: :: YELLOW10:23
for b1, b2 being non empty up-complete Poset
for b3 being Element of [:b1,b2:] st b3 `1 is compact & b3 `2 is compact holds
b3 is compact
proof end;

theorem Th24: :: YELLOW10:24
for b1, b2 being antisymmetric with_infima RelStr
for b3, b4 being Subset of [:b1,b2:] holds
( proj1 (b3 "/\" b4) = (proj1 b3) "/\" (proj1 b4) & proj2 (b3 "/\" b4) = (proj2 b3) "/\" (proj2 b4) )
proof end;

theorem Th25: :: YELLOW10:25
for b1, b2 being antisymmetric with_suprema RelStr
for b3, b4 being Subset of [:b1,b2:] holds
( proj1 (b3 "\/" b4) = (proj1 b3) "\/" (proj1 b4) & proj2 (b3 "\/" b4) = (proj2 b3) "\/" (proj2 b4) )
proof end;

theorem Th26: :: YELLOW10:26
for b1, b2 being RelStr
for b3 being Subset of [:b1,b2:] holds downarrow b3 c= [:(downarrow (proj1 b3)),(downarrow (proj2 b3)):]
proof end;

theorem Th27: :: YELLOW10:27
for b1, b2 being RelStr
for b3 being Subset of b1
for b4 being Subset of b2 holds [:(downarrow b3),(downarrow b4):] = downarrow [:b3,b4:]
proof end;

theorem Th28: :: YELLOW10:28
for b1, b2 being RelStr
for b3 being Subset of [:b1,b2:] holds
( proj1 (downarrow b3) c= downarrow (proj1 b3) & proj2 (downarrow b3) c= downarrow (proj2 b3) )
proof end;

theorem Th29: :: YELLOW10:29
for b1 being RelStr
for b2 being reflexive RelStr
for b3 being Subset of [:b1,b2:] holds proj1 (downarrow b3) = downarrow (proj1 b3)
proof end;

theorem Th30: :: YELLOW10:30
for b1 being reflexive RelStr
for b2 being RelStr
for b3 being Subset of [:b1,b2:] holds proj2 (downarrow b3) = downarrow (proj2 b3)
proof end;

theorem Th31: :: YELLOW10:31
for b1, b2 being RelStr
for b3 being Subset of [:b1,b2:] holds uparrow b3 c= [:(uparrow (proj1 b3)),(uparrow (proj2 b3)):]
proof end;

theorem Th32: :: YELLOW10:32
for b1, b2 being RelStr
for b3 being Subset of b1
for b4 being Subset of b2 holds [:(uparrow b3),(uparrow b4):] = uparrow [:b3,b4:]
proof end;

theorem Th33: :: YELLOW10:33
for b1, b2 being RelStr
for b3 being Subset of [:b1,b2:] holds
( proj1 (uparrow b3) c= uparrow (proj1 b3) & proj2 (uparrow b3) c= uparrow (proj2 b3) )
proof end;

theorem Th34: :: YELLOW10:34
for b1 being RelStr
for b2 being reflexive RelStr
for b3 being Subset of [:b1,b2:] holds proj1 (uparrow b3) = uparrow (proj1 b3)
proof end;

theorem Th35: :: YELLOW10:35
for b1 being reflexive RelStr
for b2 being RelStr
for b3 being Subset of [:b1,b2:] holds proj2 (uparrow b3) = uparrow (proj2 b3)
proof end;

theorem Th36: :: YELLOW10:36
for b1, b2 being non empty RelStr
for b3 being Element of b1
for b4 being Element of b2 holds [:(downarrow b3),(downarrow b4):] = downarrow [b3,b4]
proof end;

theorem Th37: :: YELLOW10:37
for b1, b2 being non empty RelStr
for b3 being Element of [:b1,b2:] holds
( proj1 (downarrow b3) c= downarrow (b3 `1 ) & proj2 (downarrow b3) c= downarrow (b3 `2 ) )
proof end;

theorem Th38: :: YELLOW10:38
for b1 being non empty RelStr
for b2 being non empty reflexive RelStr
for b3 being Element of [:b1,b2:] holds proj1 (downarrow b3) = downarrow (b3 `1 )
proof end;

theorem Th39: :: YELLOW10:39
for b1 being non empty reflexive RelStr
for b2 being non empty RelStr
for b3 being Element of [:b1,b2:] holds proj2 (downarrow b3) = downarrow (b3 `2 )
proof end;

theorem Th40: :: YELLOW10:40
for b1, b2 being non empty RelStr
for b3 being Element of b1
for b4 being Element of b2 holds [:(uparrow b3),(uparrow b4):] = uparrow [b3,b4]
proof end;

theorem Th41: :: YELLOW10:41
for b1, b2 being non empty RelStr
for b3 being Element of [:b1,b2:] holds
( proj1 (uparrow b3) c= uparrow (b3 `1 ) & proj2 (uparrow b3) c= uparrow (b3 `2 ) )
proof end;

theorem Th42: :: YELLOW10:42
for b1 being non empty RelStr
for b2 being non empty reflexive RelStr
for b3 being Element of [:b1,b2:] holds proj1 (uparrow b3) = uparrow (b3 `1 )
proof end;

theorem Th43: :: YELLOW10:43
for b1 being non empty reflexive RelStr
for b2 being non empty RelStr
for b3 being Element of [:b1,b2:] holds proj2 (uparrow b3) = uparrow (b3 `2 )
proof end;

theorem Th44: :: YELLOW10:44
for b1, b2 being non empty up-complete Poset
for b3 being Element of b1
for b4 being Element of b2 holds [:(waybelow b3),(waybelow b4):] = waybelow [b3,b4]
proof end;

theorem Th45: :: YELLOW10:45
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Element of [:b1,b2:] holds
( proj1 (waybelow b3) c= waybelow (b3 `1 ) & proj2 (waybelow b3) c= waybelow (b3 `2 ) )
proof end;

theorem Th46: :: YELLOW10:46
for b1 being non empty up-complete Poset
for b2 being non empty lower-bounded up-complete Poset
for b3 being Element of [:b1,b2:] holds proj1 (waybelow b3) = waybelow (b3 `1 )
proof end;

theorem Th47: :: YELLOW10:47
for b1 being non empty lower-bounded up-complete Poset
for b2 being non empty up-complete Poset
for b3 being Element of [:b1,b2:] holds proj2 (waybelow b3) = waybelow (b3 `2 )
proof end;

theorem Th48: :: YELLOW10:48
for b1, b2 being non empty up-complete Poset
for b3 being Element of b1
for b4 being Element of b2 holds [:(wayabove b3),(wayabove b4):] = wayabove [b3,b4]
proof end;

theorem Th49: :: YELLOW10:49
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Element of [:b1,b2:] holds
( proj1 (wayabove b3) c= wayabove (b3 `1 ) & proj2 (wayabove b3) c= wayabove (b3 `2 ) )
proof end;

theorem Th50: :: YELLOW10:50
for b1, b2 being non empty up-complete Poset
for b3 being Element of b1
for b4 being Element of b2 holds [:(compactbelow b3),(compactbelow b4):] = compactbelow [b3,b4]
proof end;

theorem Th51: :: YELLOW10:51
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Element of [:b1,b2:] holds
( proj1 (compactbelow b3) c= compactbelow (b3 `1 ) & proj2 (compactbelow b3) c= compactbelow (b3 `2 ) )
proof end;

theorem Th52: :: YELLOW10:52
for b1 being non empty up-complete Poset
for b2 being non empty lower-bounded up-complete Poset
for b3 being Element of [:b1,b2:] holds proj1 (compactbelow b3) = compactbelow (b3 `1 )
proof end;

theorem Th53: :: YELLOW10:53
for b1 being non empty lower-bounded up-complete Poset
for b2 being non empty up-complete Poset
for b3 being Element of [:b1,b2:] holds proj2 (compactbelow b3) = compactbelow (b3 `2 )
proof end;

registration
let c1 be non empty reflexive RelStr ;
cluster empty -> Open M2( bool the carrier of a1);
coherence
for b1 being Subset of c1 st b1 is empty holds
b1 is Open
proof end;
end;

theorem Th54: :: YELLOW10:54
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Subset of [:b1,b2:] st b3 is Open holds
( proj1 b3 is Open & proj2 b3 is Open )
proof end;

theorem Th55: :: YELLOW10:55
for b1, b2 being non empty up-complete Poset
for b3 being Subset of b1
for b4 being Subset of b2 st b3 is Open & b4 is Open holds
[:b3,b4:] is Open
proof end;

theorem Th56: :: YELLOW10:56
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Subset of [:b1,b2:] st b3 is inaccessible_by_directed_joins holds
( proj1 b3 is inaccessible_by_directed_joins & proj2 b3 is inaccessible_by_directed_joins )
proof end;

theorem Th57: :: YELLOW10:57
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being upper Subset of b1
for b4 being upper Subset of b2 st b3 is inaccessible_by_directed_joins & b4 is inaccessible_by_directed_joins holds
[:b3,b4:] is inaccessible_by_directed_joins
proof end;

theorem Th58: :: YELLOW10:58
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Subset of b1
for b4 being Subset of b2 st [:b3,b4:] is closed_under_directed_sups holds
( ( b4 <> {} implies b3 is closed_under_directed_sups ) & ( b3 <> {} implies b4 is closed_under_directed_sups ) )
proof end;

theorem Th59: :: YELLOW10:59
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Subset of b1
for b4 being Subset of b2 st b3 is closed_under_directed_sups & b4 is closed_under_directed_sups holds
[:b3,b4:] is closed_under_directed_sups
proof end;

theorem Th60: :: YELLOW10:60
for b1, b2 being non empty reflexive antisymmetric up-complete RelStr
for b3 being Subset of [:b1,b2:] st b3 has_the_property_(S) holds
( proj1 b3 has_the_property_(S) & proj2 b3 has_the_property_(S) )
proof end;

theorem Th61: :: YELLOW10:61
for b1, b2 being non empty up-complete Poset
for b3 being Subset of b1
for b4 being Subset of b2 st b3 has_the_property_(S) & b4 has_the_property_(S) holds
[:b3,b4:] has_the_property_(S)
proof end;

theorem Th62: :: YELLOW10:62
for b1, b2 being non empty reflexive RelStr st RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & b1 is /\-complete holds
b2 is /\-complete
proof end;

registration
let c1 be non empty reflexive /\-complete RelStr ;
cluster RelStr(# the carrier of a1,the InternalRel of a1 #) -> /\-complete ;
coherence
RelStr(# the carrier of c1,the InternalRel of c1 #) is /\-complete
by Th62;
end;

registration
let c1, c2 be non empty reflexive /\-complete RelStr ;
cluster [:a1,a2:] -> lower-bounded /\-complete ;
coherence
[:c1,c2:] is /\-complete
proof end;
end;

theorem Th63: :: YELLOW10:63
for b1, b2 being non empty reflexive RelStr st [:b1,b2:] is /\-complete holds
( b1 is /\-complete & b2 is /\-complete )
proof end;

registration
let c1, c2 be non empty antisymmetric with_suprema with_infima bounded complemented RelStr ;
cluster [:a1,a2:] -> lower-bounded upper-bounded complemented ;
coherence
[:c1,c2:] is complemented
proof end;
end;

theorem Th64: :: YELLOW10:64
for b1, b2 being antisymmetric with_suprema with_infima bounded RelStr st [:b1,b2:] is complemented holds
( b1 is complemented & b2 is complemented )
proof end;

registration
let c1, c2 be non empty antisymmetric with_suprema with_infima distributive RelStr ;
cluster [:a1,a2:] -> distributive ;
coherence
[:c1,c2:] is distributive
proof end;
end;

theorem Th65: :: YELLOW10:65
for b1 being antisymmetric with_suprema with_infima RelStr
for b2 being reflexive antisymmetric with_suprema with_infima RelStr st [:b1,b2:] is distributive holds
b1 is distributive
proof end;

theorem Th66: :: YELLOW10:66
for b1 being reflexive antisymmetric with_suprema with_infima RelStr
for b2 being antisymmetric with_suprema with_infima RelStr st [:b1,b2:] is distributive holds
b2 is distributive
proof end;

registration
let c1, c2 be meet-continuous Semilattice;
cluster [:a1,a2:] -> satisfying_MC ;
coherence
[:c1,c2:] is satisfying_MC
proof end;
end;

theorem Th67: :: YELLOW10:67
for b1, b2 being Semilattice st [:b1,b2:] is meet-continuous holds
( b1 is meet-continuous & b2 is meet-continuous )
proof end;

registration
let c1, c2 be non empty up-complete /\-complete satisfying_axiom_of_approximation Poset;
cluster [:a1,a2:] -> lower-bounded /\-complete satisfying_axiom_of_approximation ;
coherence
[:c1,c2:] is satisfying_axiom_of_approximation
proof end;
end;

registration
let c1, c2 be non empty /\-complete continuous Poset;
cluster [:a1,a2:] -> lower-bounded /\-complete satisfying_axiom_of_approximation continuous ;
coherence
[:c1,c2:] is continuous
proof end;
end;

theorem Th68: :: YELLOW10:68
for b1, b2 being non empty lower-bounded up-complete Poset st [:b1,b2:] is continuous holds
( b1 is continuous & b2 is continuous )
proof end;

registration
let c1, c2 be lower-bounded up-complete satisfying_axiom_K sup-Semilattice;
cluster [:a1,a2:] -> /\-complete satisfying_axiom_K ;
coherence
[:c1,c2:] is satisfying_axiom_K
proof end;
end;

registration
let c1, c2 be complete lower-bounded algebraic sup-Semilattice;
cluster [:a1,a2:] -> /\-complete satisfying_axiom_of_approximation continuous satisfying_axiom_K algebraic ;
coherence
[:c1,c2:] is algebraic
proof end;
end;

theorem Th69: :: YELLOW10:69
for b1, b2 being non empty lower-bounded Poset st [:b1,b2:] is algebraic holds
( b1 is algebraic & b2 is algebraic )
proof end;

registration
let c1, c2 be lower-bounded arithmetic LATTICE;
cluster [:a1,a2:] -> /\-complete satisfying_axiom_of_approximation continuous satisfying_axiom_K algebraic arithmetic ;
coherence
[:c1,c2:] is arithmetic
proof end;
end;

theorem Th70: :: YELLOW10:70
for b1, b2 being lower-bounded LATTICE st [:b1,b2:] is arithmetic holds
( b1 is arithmetic & b2 is arithmetic )
proof end;