:: WAYBEL27 semantic presentation

definition
let c1 be Function;
attr a1 is uncurrying means :Def1: :: WAYBEL27:def 1
( ( for b1 being set holds
( b1 in dom a1 implies b1 is Function-yielding Function ) ) & ( for b1 being Function holds
( b1 in dom a1 implies a1 . b1 = uncurry b1 ) ) );
attr a1 is currying means :Def2: :: WAYBEL27:def 2
( ( for b1 being set holds
( b1 in dom a1 implies ( b1 is Function & proj1 b1 is Relation ) ) ) & ( for b1 being Function holds
( b1 in dom a1 implies a1 . b1 = curry b1 ) ) );
attr a1 is commuting means :Def3: :: WAYBEL27:def 3
( ( for b1 being set holds
( b1 in dom a1 implies b1 is Function-yielding Function ) ) & ( for b1 being Function holds
( b1 in dom a1 implies a1 . b1 = commute b1 ) ) );
end;

:: deftheorem Def1 defines uncurrying WAYBEL27:def 1 :
for b1 being Function holds
( b1 is uncurrying iff ( ( for b2 being set holds
( b2 in dom b1 implies b2 is Function-yielding Function ) ) & ( for b2 being Function holds
( b2 in dom b1 implies b1 . b2 = uncurry b2 ) ) ) );

:: deftheorem Def2 defines currying WAYBEL27:def 2 :
for b1 being Function holds
( b1 is currying iff ( ( for b2 being set holds
( b2 in dom b1 implies ( b2 is Function & proj1 b2 is Relation ) ) ) & ( for b2 being Function holds
( b2 in dom b1 implies b1 . b2 = curry b2 ) ) ) );

:: deftheorem Def3 defines commuting WAYBEL27:def 3 :
for b1 being Function holds
( b1 is commuting iff ( ( for b2 being set holds
( b2 in dom b1 implies b2 is Function-yielding Function ) ) & ( for b2 being Function holds
( b2 in dom b1 implies b1 . b2 = commute b2 ) ) ) );

registration
cluster empty -> uncurrying currying commuting set ;
coherence
for b1 being Function holds
( b1 is empty implies ( b1 is uncurrying & b1 is currying & b1 is commuting ) )
proof end;
end;

registration
cluster uncurrying currying commuting set ;
existence
ex b1 being Function st
( b1 is uncurrying & b1 is currying & b1 is commuting )
proof end;
end;

registration
let c1 be uncurrying Function;
let c2 be set ;
cluster a1 | a2 -> uncurrying ;
coherence
c1 | c2 is uncurrying
proof end;
end;

registration
let c1 be currying Function;
let c2 be set ;
cluster a1 | a2 -> currying ;
coherence
c1 | c2 is currying
proof end;
end;

theorem Th1: :: WAYBEL27:1
for b1, b2, b3, b4 being set holds
not ( b4 c= Funcs b1,(Funcs b2,b3) & ( for b5 being ManySortedSet of b4 holds
not ( b5 is uncurrying & rng b5 c= Funcs [:b1,b2:],b3 ) ) )
proof end;

theorem Th2: :: WAYBEL27:2
for b1, b2, b3, b4 being set holds
not ( b4 c= Funcs [:b1,b2:],b3 & ( for b5 being ManySortedSet of b4 holds
not ( b5 is currying & ( ( b2 = {} implies b1 = {} ) implies rng b5 c= Funcs b1,(Funcs b2,b3) ) ) ) )
proof end;

registration
let c1, c2, c3 be set ;
cluster uncurrying ManySortedSet of Funcs a1,(Funcs a2,a3);
existence
ex b1 being ManySortedSet of Funcs c1,(Funcs c2,c3) st b1 is uncurrying
proof end;
cluster currying ManySortedSet of Funcs [:a1,a2:],a3;
existence
ex b1 being ManySortedSet of Funcs [:c1,c2:],c3 st b1 is currying
proof end;
end;

theorem Th3: :: WAYBEL27:3
for b1, b2 being non empty set
for b3 being set
for b4, b5 being commuting Function holds
( dom b4 c= Funcs b1,(Funcs b2,b3) & rng b4 c= dom b5 implies b5 * b4 = id (dom b4) )
proof end;

theorem Th4: :: WAYBEL27:4
for b1 being non empty set
for b2, b3 being set
for b4 being uncurrying Function
for b5 being currying Function holds
( dom b4 c= Funcs b2,(Funcs b1,b3) & rng b4 c= dom b5 implies b5 * b4 = id (dom b4) )
proof end;

theorem Th5: :: WAYBEL27:5
for b1, b2, b3 being set
for b4 being currying Function
for b5 being uncurrying Function holds
( dom b4 c= Funcs [:b1,b2:],b3 & rng b4 c= dom b5 implies b5 * b4 = id (dom b4) )
proof end;

theorem Th6: :: WAYBEL27:6
for b1 being Function-yielding Function
for b2, b3 being set holds
( b2 in dom (commute b1) implies ((commute b1) . b2) .: b3 c= pi (b1 .: b3),b2 )
proof end;

theorem Th7: :: WAYBEL27:7
for b1 being Function-yielding Function
for b2, b3 being set holds
( ( for b4 being Function holds
( b4 in b1 .: b3 implies b2 in dom b4 ) ) implies pi (b1 .: b3),b2 c= ((commute b1) . b2) .: b3 )
proof end;

theorem Th8: :: WAYBEL27:8
for b1, b2 being set
for b3 being Function holds
( rng b3 c= Funcs b1,b2 implies for b4, b5 being set holds
( b4 in b1 implies ((commute b3) . b4) .: b5 = pi (b3 .: b5),b4 ) )
proof end;

theorem Th9: :: WAYBEL27:9
for b1 being Function
for b2, b3 being set holds
( [:b3,{b2}:] c= dom b1 implies pi ((curry b1) .: b3),b2 = b1 .: [:b3,{b2}:] )
proof end;

registration
let c1 be set ;
let c2 be non empty functional set ;
cluster -> Function-yielding Relation of a1,a2;
coherence
for b1 being Function of c1,c2 holds b1 is Function-yielding
proof end;
end;

registration
let c1 be constituted-Functions 1-sorted ;
cluster the carrier of a1 -> functional ;
coherence
the carrier of c1 is functional
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
;
end;

registration
cluster constituted-Functions strict complete RelStr ;
existence
ex b1 being LATTICE st
( b1 is constituted-Functions & b1 is complete & b1 is strict )
proof end;
cluster non empty constituted-Functions 1-sorted ;
existence
ex b1 being 1-sorted st
( b1 is constituted-Functions & not b1 is empty )
proof end;
end;

registration
let c1 be non empty constituted-Functions RelStr ;
cluster non empty -> non empty constituted-Functions SubRelStr of a1;
coherence
for b1 being non empty SubRelStr of c1 holds b1 is constituted-Functions
proof end;
end;

theorem Th10: :: WAYBEL27:10
for b1, b2 being complete LATTICE
for b3 being idempotent Function of b2,b2
for b4 being Function of b1,(Image b3) holds b3 * b4 = b4
proof end;

theorem Th11: :: WAYBEL27:11
for b1, b2, b3 being non empty RelStr holds
( b2 is SubRelStr of b3 implies for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( b4 is monotone & b4 = b5 implies b5 is monotone ) )
proof end;

theorem Th12: :: WAYBEL27:12
for b1, b2, b3 being non empty RelStr holds
( b2 is full SubRelStr of b3 implies for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( b5 is monotone & b4 = b5 implies b4 is monotone ) )
proof end;

theorem Th13: :: WAYBEL27:13
for b1 being set
for b2 being Subset of b1 holds
( (chi b2,b1) " {1} = b2 & (chi b2,b1) " {0} = b1 \ b2 )
proof end;

definition
let c1 be non empty set ;
let c2 be non empty RelStr ;
let c3 be Element of (c2 |^ c1);
let c4 be Element of c1;
redefine func . as c3 . c4 -> Element of a2;
coherence
c3 . c4 is Element of c2
proof end;
end;

theorem Th14: :: WAYBEL27:14
for b1 being non empty set
for b2 being non empty RelStr
for b3, b4 being Element of (b2 |^ b1) holds
( b3 <= b4 iff for b5 being Element of b1 holds b3 . b5 <= b4 . b5 )
proof end;

theorem Th15: :: WAYBEL27:15
for b1 being set
for b2, b3 being non empty RelStr holds
( RelStr(# the carrier of b2,the InternalRel of b2 #) = RelStr(# the carrier of b3,the InternalRel of b3 #) implies b2 |^ b1 = b3 |^ b1 )
proof end;

theorem Th16: :: WAYBEL27:16
for b1, b2, b3, b4 being non empty TopSpace holds
( 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 #) implies oContMaps b1,b3 = oContMaps b2,b4 )
proof end;

theorem Th17: :: WAYBEL27:17
for b1 being set holds
ex b2 being Function of (BoolePoset b1),((BoolePoset 1) |^ b1) st
( b2 is isomorphic & ( for b3 being Subset of b1 holds b2 . b3 = chi b3,b1 ) )
proof end;

theorem Th18: :: WAYBEL27:18
for b1 being set holds BoolePoset b1,(BoolePoset 1) |^ b1 are_isomorphic
proof end;

theorem Th19: :: WAYBEL27:19
for b1, b2 being non empty set
for b3 being non empty Poset
for b4 being non empty full SubRelStr of (b3 |^ b1) |^ b2
for b5 being non empty full SubRelStr of (b3 |^ b2) |^ b1
for b6 being Function of b4,b5 holds
( b6 is commuting implies b6 is monotone )
proof end;

theorem Th20: :: WAYBEL27:20
for b1, b2 being non empty set
for b3 being non empty Poset
for b4 being non empty full SubRelStr of (b3 |^ b2) |^ b1
for b5 being non empty full SubRelStr of b3 |^ [:b1,b2:]
for b6 being Function of b4,b5 holds
( b6 is uncurrying implies b6 is monotone )
proof end;

theorem Th21: :: WAYBEL27:21
for b1, b2 being non empty set
for b3 being non empty Poset
for b4 being non empty full SubRelStr of (b3 |^ b2) |^ b1
for b5 being non empty full SubRelStr of b3 |^ [:b1,b2:]
for b6 being Function of b5,b4 holds
( b6 is currying implies b6 is monotone )
proof end;

definition
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric RelStr ;
func UPS c1,c2 -> strict RelStr means :Def4: :: WAYBEL27:def 4
( a3 is full SubRelStr of a2 |^ the carrier of a1 & ( for b1 being set holds
( b1 in the carrier of a3 iff b1 is directed-sups-preserving Function of a1,a2 ) ) );
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 b2 is directed-sups-preserving Function of c1,c2 ) ) )
proof end;
uniqueness
for b1, b2 being strict RelStr holds
( b1 is full SubRelStr of c2 |^ the carrier of c1 & ( for b3 being set holds
( b3 in the carrier of b1 iff b3 is directed-sups-preserving Function of c1,c2 ) ) & b2 is full SubRelStr of c2 |^ the carrier of c1 & ( for b3 being set holds
( b3 in the carrier of b2 iff b3 is directed-sups-preserving Function of c1,c2 ) ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def4 defines UPS WAYBEL27:def 4 :
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric RelStr
for b3 being strict RelStr holds
( b3 = UPS 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 b4 is directed-sups-preserving Function of b1,b2 ) ) ) );

registration
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric RelStr ;
cluster UPS a1,a2 -> non empty constituted-Functions strict reflexive antisymmetric ;
coherence
( not UPS c1,c2 is empty & UPS c1,c2 is reflexive & UPS c1,c2 is antisymmetric & UPS c1,c2 is constituted-Functions )
proof end;
end;

registration
let c1 be non empty RelStr ;
let c2 be non empty Poset;
cluster UPS a1,a2 -> non empty constituted-Functions strict reflexive transitive antisymmetric ;
coherence
UPS c1,c2 is transitive
proof end;
end;

theorem Th22: :: WAYBEL27:22
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric RelStr holds the carrier of (UPS b1,b2) c= Funcs the carrier of b1,the carrier of b2
proof end;

definition
let c1 be non empty RelStr ;
let c2 be non empty reflexive antisymmetric RelStr ;
let c3 be Element of (UPS c1,c2);
let c4 be Element of c1;
redefine func . as c3 . c4 -> Element of a2;
coherence
c3 . c4 is Element of c2
proof end;
end;

theorem Th23: :: WAYBEL27:23
for b1 being non empty RelStr
for b2 being non empty reflexive antisymmetric RelStr
for b3, b4 being Element of (UPS b1,b2) holds
( b3 <= b4 iff for b5 being Element of b1 holds b3 . b5 <= b4 . b5 )
proof end;

theorem Th24: :: WAYBEL27:24
for b1, b2 being complete Scott TopLattice holds UPS b1,b2 = SCMaps b1,b2
proof end;

theorem Th25: :: WAYBEL27:25
for b1, b2 being non empty RelStr
for b3, b4 being non empty reflexive antisymmetric RelStr holds
( RelStr(# the carrier of b1,the InternalRel of b1 #) = RelStr(# the carrier of b2,the InternalRel of b2 #) & RelStr(# the carrier of b3,the InternalRel of b3 #) = RelStr(# the carrier of b4,the InternalRel of b4 #) implies UPS b1,b3 = UPS b2,b4 )
proof end;

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

theorem Th26: :: WAYBEL27:26
for b1, b2 being complete LATTICE holds
UPS b1,b2 is sups-inheriting SubRelStr of b2 |^ the carrier of b1
proof end;

theorem Th27: :: WAYBEL27:27
for b1, b2 being complete LATTICE
for b3 being Subset of (UPS b1,b2) holds sup b3 = "\/" b3,(b2 |^ the carrier of b1)
proof end;

definition
let c1, c2, c3, c4 be non empty reflexive antisymmetric RelStr ;
let c5 be Function of c1,c2;
assume E30: c5 is directed-sups-preserving ;
let c6 be Function of c3,c4;
assume E31: c6 is directed-sups-preserving ;
func UPS c5,c6 -> Function of (UPS a2,a3),(UPS a1,a4) means :Def5: :: WAYBEL27:def 5
for b1 being directed-sups-preserving Function of a2,a3 holds a7 . b1 = (a6 * b1) * a5;
existence
ex b1 being Function of (UPS c2,c3),(UPS c1,c4) st
for b2 being directed-sups-preserving Function of c2,c3 holds b1 . b2 = (c6 * b2) * c5
proof end;
uniqueness
for b1, b2 being Function of (UPS c2,c3),(UPS c1,c4) holds
( ( for b3 being directed-sups-preserving Function of c2,c3 holds b1 . b3 = (c6 * b3) * c5 ) & ( for b3 being directed-sups-preserving Function of c2,c3 holds b2 . b3 = (c6 * b3) * c5 ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def5 defines UPS WAYBEL27:def 5 :
for b1, b2, b3, b4 being non empty reflexive antisymmetric RelStr
for b5 being Function of b1,b2 holds
( b5 is directed-sups-preserving implies for b6 being Function of b3,b4 holds
( b6 is directed-sups-preserving implies for b7 being Function of (UPS b2,b3),(UPS b1,b4) holds
( b7 = UPS b5,b6 iff for b8 being directed-sups-preserving Function of b2,b3 holds b7 . b8 = (b6 * b8) * b5 ) ) );

theorem Th28: :: WAYBEL27:28
for b1, b2, b3, b4, b5, b6 being non empty Poset
for b7 being directed-sups-preserving Function of b2,b3
for b8 being directed-sups-preserving Function of b1,b2
for b9 being directed-sups-preserving Function of b4,b5
for b10 being directed-sups-preserving Function of b5,b6 holds (UPS b8,b10) * (UPS b7,b9) = UPS (b7 * b8),(b10 * b9)
proof end;

theorem Th29: :: WAYBEL27:29
for b1, b2 being non empty reflexive antisymmetric RelStr holds UPS (id b1),(id b2) = id (UPS b1,b2)
proof end;

theorem Th30: :: WAYBEL27:30
for b1, b2, b3, b4 being complete LATTICE
for b5 being directed-sups-preserving Function of b1,b2
for b6 being directed-sups-preserving Function of b3,b4 holds UPS b5,b6 is directed-sups-preserving
proof end;

theorem Th31: :: WAYBEL27:31
Omega Sierpinski_Space is Scott
proof end;

theorem Th32: :: WAYBEL27:32
for b1 being complete Scott TopLattice holds oContMaps b1,Sierpinski_Space = UPS b1,(BoolePoset 1)
proof end;

theorem Th33: :: WAYBEL27:33
for b1 being complete LATTICE holds
ex b2 being Function of (UPS b1,(BoolePoset 1)),(InclPoset (sigma b1)) st
( b2 is isomorphic & ( for b3 being directed-sups-preserving Function of b1,(BoolePoset 1) holds b2 . b3 = b3 " {1} ) )
proof end;

theorem Th34: :: WAYBEL27:34
for b1 being complete LATTICE holds UPS b1,(BoolePoset 1), InclPoset (sigma b1) are_isomorphic
proof end;

theorem Th35: :: WAYBEL27:35
for b1, b2, b3, b4 being complete LATTICE
for b5 being Function of b1,b2
for b6 being Function of b3,b4 holds
( b5 is isomorphic & b6 is isomorphic implies UPS b5,b6 is isomorphic )
proof end;

theorem Th36: :: WAYBEL27:36
for b1, b2, b3, b4 being complete LATTICE holds
( b1,b2 are_isomorphic & b3,b4 are_isomorphic implies UPS b2,b3, UPS b1,b4 are_isomorphic )
proof end;

theorem Th37: :: WAYBEL27:37
for b1, b2 being complete LATTICE
for b3 being directed-sups-preserving projection Function of b2,b2 holds Image (UPS (id b1),b3) = UPS b1,(Image b3)
proof end;

E40: now
let c1 be non empty set ;
let c2, c3 be non empty Poset;
let c4 be directed-sups-preserving Function of c2,(c3 |^ c1);
the carrier of (c3 |^ c1) = Funcs c1,the carrier of c3 by YELLOW_1:28;
then ( dom c4 = the carrier of c2 & rng c4 c= Funcs c1,the carrier of c3 ) by FUNCT_2:def 1;
hence c4 in Funcs the carrier of c2,(Funcs c1,the carrier of c3) by FUNCT_2:def 2;
then commute c4 in Funcs c1,(Funcs the carrier of c2,the carrier of c3) by FUNCT_6:85;
then ex b1 being Function st
( commute c4 = b1 & dom b1 = c1 & rng b1 c= Funcs the carrier of c2,the carrier of c3 ) by FUNCT_2:def 2;
hence ( rng (commute c4) c= Funcs the carrier of c2,the carrier of c3 & dom (commute c4) = c1 ) ;
end;

theorem Th38: :: WAYBEL27:38
for b1 being non empty set
for b2, b3 being non empty Poset
for b4 being directed-sups-preserving Function of b2,(b3 |^ b1)
for b5 being Element of b1 holds
(commute b4) . b5 is directed-sups-preserving Function of b2,b3
proof end;

theorem Th39: :: WAYBEL27:39
for b1 being non empty set
for b2, b3 being non empty Poset
for b4 being directed-sups-preserving Function of b2,(b3 |^ b1) holds
commute b4 is Function of b1,the carrier of (UPS b2,b3)
proof end;

theorem Th40: :: WAYBEL27:40
for b1 being non empty set
for b2, b3 being non empty Poset
for b4 being Function of b1,the carrier of (UPS b2,b3) holds
commute b4 is directed-sups-preserving Function of b2,(b3 |^ b1)
proof end;

theorem Th41: :: WAYBEL27:41
for b1 being non empty set
for b2, b3 being non empty Poset holds
ex b4 being Function of (UPS b2,(b3 |^ b1)),((UPS b2,b3) |^ b1) st
( b4 is commuting & b4 is isomorphic )
proof end;

theorem Th42: :: WAYBEL27:42
for b1 being non empty set
for b2, b3 being non empty Poset holds UPS b2,(b3 |^ b1),(UPS b2,b3) |^ b1 are_isomorphic
proof end;

theorem Th43: :: WAYBEL27:43
for b1, b2 being complete continuous LATTICE holds UPS b1,b2 is continuous
proof end;

theorem Th44: :: WAYBEL27:44
for b1, b2 being complete algebraic LATTICE holds UPS b1,b2 is algebraic
proof end;

theorem Th45: :: WAYBEL27:45
for b1, b2, b3 being complete LATTICE
for b4 being directed-sups-preserving Function of b1,(UPS b2,b3) holds
uncurry b4 is directed-sups-preserving Function of [:b1,b2:],b3
proof end;

theorem Th46: :: WAYBEL27:46
for b1, b2, b3 being complete LATTICE
for b4 being directed-sups-preserving Function of [:b1,b2:],b3 holds
curry b4 is directed-sups-preserving Function of b1,(UPS b2,b3)
proof end;

theorem Th47: :: WAYBEL27:47
for b1, b2, b3 being complete LATTICE holds
ex b4 being Function of (UPS b1,(UPS b2,b3)),(UPS [:b1,b2:],b3) st
( b4 is uncurrying & b4 is isomorphic )
proof end;