:: MSUALG_7 semantic presentation

theorem Th1: :: MSUALG_7:1
for b1, b2 being set holds
( b1 in the carrier of (EqRelLatt b2) iff b1 is Equivalence_Relation of b2 )
proof end;

theorem Th2: :: MSUALG_7:2
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
id b2 is Equivalence_Relation of b2
proof end;

theorem Th3: :: MSUALG_7:3
for b1 being non empty set
for b2 being ManySortedSet of b1 holds
[|b2,b2|] is Equivalence_Relation of b2
proof end;

registration
let c1 be non empty set ;
let c2 be ManySortedSet of c1;
cluster EqRelLatt a2 -> bounded ;
coherence
EqRelLatt c2 is bounded
proof end;
end;

theorem Th4: :: MSUALG_7:4
for b1 being non empty set
for b2 being ManySortedSet of b1 holds Bottom (EqRelLatt b2) = id b2
proof end;

theorem Th5: :: MSUALG_7:5
for b1 being non empty set
for b2 being ManySortedSet of b1 holds Top (EqRelLatt b2) = [|b2,b2|]
proof end;

theorem Th6: :: MSUALG_7:6
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Subset of (EqRelLatt b2) holds
b3 is SubsetFamily of [|b2,b2|]
proof end;

theorem Th7: :: MSUALG_7:7
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3, b4 being Element of (EqRelLatt b2)
for b5, b6 being Equivalence_Relation of b2 holds
( b3 = b5 & b4 = b6 implies ( b3 [= b4 iff b5 c= b6 ) )
proof end;

theorem Th8: :: MSUALG_7:8
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Subset of (EqRelLatt b2)
for b4 being SubsetFamily of [|b2,b2|] holds
( b4 = b3 implies for b5, b6 being Equivalence_Relation of b2 holds
( b5 = meet |:b4:| & b6 in b3 implies b5 c= b6 ) )
proof end;

theorem Th9: :: MSUALG_7:9
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Subset of (EqRelLatt b2)
for b4 being SubsetFamily of [|b2,b2|] holds
( b4 = b3 & not b3 is empty implies meet |:b4:| is Equivalence_Relation of b2 )
proof end;

definition
let c1 be non empty LattStr ;
redefine attr a1 is complete means :Def1: :: MSUALG_7:def 1
for b1 being Subset of a1 holds
ex b2 being Element of a1 st
( b1 is_less_than b2 & ( for b3 being Element of a1 holds
( b1 is_less_than b3 implies b2 [= b3 ) ) );
compatibility
( c1 is complete iff for b1 being Subset of c1 holds
ex b2 being Element of c1 st
( b1 is_less_than b2 & ( for b3 being Element of c1 holds
( b1 is_less_than b3 implies b2 [= b3 ) ) ) )
proof end;
end;

:: deftheorem Def1 defines complete MSUALG_7:def 1 :
for b1 being non empty LattStr holds
( b1 is complete iff for b2 being Subset of b1 holds
ex b3 being Element of b1 st
( b2 is_less_than b3 & ( for b4 being Element of b1 holds
( b2 is_less_than b4 implies b3 [= b4 ) ) ) );

theorem Th10: :: MSUALG_7:10
for b1 being non empty set
for b2 being ManySortedSet of b1 holds EqRelLatt b2 is complete
proof end;

registration
let c1 be non empty set ;
let c2 be ManySortedSet of c1;
cluster EqRelLatt a2 -> bounded complete ;
coherence
EqRelLatt c2 is complete
by Th10;
end;

theorem Th11: :: MSUALG_7:11
for b1 being non empty set
for b2 being ManySortedSet of b1
for b3 being Subset of (EqRelLatt b2)
for b4 being SubsetFamily of [|b2,b2|] holds
( b4 = b3 & not b3 is empty implies for b5, b6 being Equivalence_Relation of b2 holds
( b5 = meet |:b4:| & b6 = "/\" b3,(EqRelLatt b2) implies b5 = b6 ) )
proof end;

definition
let c1 be Lattice;
let c2 be SubLattice of c1;
attr a2 is /\-inheriting means :Def2: :: MSUALG_7:def 2
for b1 being Subset of a2 holds "/\" b1,a1 in the carrier of a2;
attr a2 is \/-inheriting means :Def3: :: MSUALG_7:def 3
for b1 being Subset of a2 holds "\/" b1,a1 in the carrier of a2;
end;

:: deftheorem Def2 defines /\-inheriting MSUALG_7:def 2 :
for b1 being Lattice
for b2 being SubLattice of b1 holds
( b2 is /\-inheriting iff for b3 being Subset of b2 holds "/\" b3,b1 in the carrier of b2 );

:: deftheorem Def3 defines \/-inheriting MSUALG_7:def 3 :
for b1 being Lattice
for b2 being SubLattice of b1 holds
( b2 is \/-inheriting iff for b3 being Subset of b2 holds "\/" b3,b1 in the carrier of b2 );

theorem Th12: :: MSUALG_7:12
for b1 being Lattice
for b2 being SubLattice of b1
for b3, b4 being Element of b1
for b5, b6 being Element of b2 holds
( b3 = b5 & b4 = b6 implies ( b3 "\/" b4 = b5 "\/" b6 & b3 "/\" b4 = b5 "/\" b6 ) )
proof end;

theorem Th13: :: MSUALG_7:13
for b1 being Lattice
for b2 being SubLattice of b1
for b3 being Subset of b2
for b4 being Element of b1
for b5 being Element of b2 holds
( b4 = b5 implies ( b4 is_less_than b3 iff b5 is_less_than b3 ) )
proof end;

theorem Th14: :: MSUALG_7:14
for b1 being Lattice
for b2 being SubLattice of b1
for b3 being Subset of b2
for b4 being Element of b1
for b5 being Element of b2 holds
( b4 = b5 implies ( b3 is_less_than b4 iff b3 is_less_than b5 ) )
proof end;

theorem Th15: :: MSUALG_7:15
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is /\-inheriting implies b2 is complete )
proof end;

theorem Th16: :: MSUALG_7:16
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is \/-inheriting implies b2 is complete )
proof end;

registration
let c1 be complete Lattice;
cluster complete SubLattice of a1;
existence
ex b1 being SubLattice of c1 st b1 is complete
proof end;
end;

registration
let c1 be complete Lattice;
cluster /\-inheriting -> complete SubLattice of a1;
coherence
for b1 being SubLattice of c1 holds
( b1 is /\-inheriting implies b1 is complete )
by Th15;
cluster \/-inheriting -> complete SubLattice of a1;
coherence
for b1 being SubLattice of c1 holds
( b1 is \/-inheriting implies b1 is complete )
by Th16;
end;

theorem Th17: :: MSUALG_7:17
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is /\-inheriting implies for b3 being Subset of b2 holds "/\" b3,b1 = "/\" b3,b2 )
proof end;

theorem Th18: :: MSUALG_7:18
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is \/-inheriting implies for b3 being Subset of b2 holds "\/" b3,b1 = "\/" b3,b2 )
proof end;

theorem Th19: :: MSUALG_7:19
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is /\-inheriting implies for b3 being Subset of b1
for b4 being Subset of b2 holds
( b3 = b4 implies "/\" b3 = "/\" b4 ) ) by Th17;

theorem Th20: :: MSUALG_7:20
for b1 being complete Lattice
for b2 being SubLattice of b1 holds
( b2 is \/-inheriting implies for b3 being Subset of b1
for b4 being Subset of b2 holds
( b3 = b4 implies "\/" b3 = "\/" b4 ) ) by Th18;

definition
let c1, c2 be Real;
assume E18: c1 <= c2 ;
func RealSubLatt c1,c2 -> strict Lattice means :Def4: :: MSUALG_7:def 4
( the carrier of a3 = [.a1,a2.] & the L_join of a3 = maxreal || [.a1,a2.] & the L_meet of a3 = minreal || [.a1,a2.] );
existence
ex b1 being strict Lattice st
( the carrier of b1 = [.c1,c2.] & the L_join of b1 = maxreal || [.c1,c2.] & the L_meet of b1 = minreal || [.c1,c2.] )
proof end;
uniqueness
for b1, b2 being strict Lattice holds
( the carrier of b1 = [.c1,c2.] & the L_join of b1 = maxreal || [.c1,c2.] & the L_meet of b1 = minreal || [.c1,c2.] & the carrier of b2 = [.c1,c2.] & the L_join of b2 = maxreal || [.c1,c2.] & the L_meet of b2 = minreal || [.c1,c2.] implies b1 = b2 )
;
end;

:: deftheorem Def4 defines RealSubLatt MSUALG_7:def 4 :
for b1, b2 being Real holds
( b1 <= b2 implies for b3 being strict Lattice holds
( b3 = RealSubLatt b1,b2 iff ( the carrier of b3 = [.b1,b2.] & the L_join of b3 = maxreal || [.b1,b2.] & the L_meet of b3 = minreal || [.b1,b2.] ) ) );

theorem Th21: :: MSUALG_7:21
for b1, b2 being Real holds
( b1 <= b2 implies RealSubLatt b1,b2 is complete )
proof end;

theorem Th22: :: MSUALG_7:22
ex b1 being SubLattice of RealSubLatt 0,1 st
( b1 is \/-inheriting & not b1 is /\-inheriting )
proof end;

theorem Th23: :: MSUALG_7:23
ex b1 being complete Latticeex b2 being SubLattice of b1 st
( b2 is \/-inheriting & not b2 is /\-inheriting )
proof end;

theorem Th24: :: MSUALG_7:24
ex b1 being SubLattice of RealSubLatt 0,1 st
( b1 is /\-inheriting & not b1 is \/-inheriting )
proof end;

theorem Th25: :: MSUALG_7:25
ex b1 being complete Latticeex b2 being SubLattice of b1 st
( b2 is /\-inheriting & not b2 is \/-inheriting )
proof end;