:: Scott-Continuous Functions, Part II :: by Adam Grabowski :: :: Received June 22, 1999 :: Copyright (c) 1999-2012 Association of Mizar Users begin theorem :: WAYBEL24:1 for S, T being up-complete Scott TopLattice for M being Subset of (SCMaps (S,T)) holds "\/" (M,(SCMaps (S,T))) is continuous Function of S,T proofend; registration let S be non empty RelStr ; let T be non empty reflexive RelStr ; cluster Function-like constant quasi_total -> monotone for Element of bool [: the carrier of S, the carrier of T:]; coherence for b1 being Function of S,T st b1 is constant holds b1 is monotone proofend; end; registration let S be non empty RelStr ; let T be non empty reflexive RelStr ; let a be Element of T; clusterS --> a -> monotone ; coherence S --> a is monotone proofend; end; theorem :: WAYBEL24:2 for S being non empty RelStr for T being non empty reflexive antisymmetric lower-bounded RelStr holds Bottom (MonMaps (S,T)) = S --> (Bottom T) proofend; theorem :: WAYBEL24:3 for S being non empty RelStr for T being non empty reflexive antisymmetric upper-bounded RelStr holds Top (MonMaps (S,T)) = S --> (Top T) proofend; scheme :: WAYBEL24:sch 1 FuncFraenkelSL{ F1() -> non empty RelStr , F2() -> non empty RelStr , F3( set ) -> Element of F2(), F4() -> Function, P1[ set ] } : F4() .: { F3(x) where x is Element of F1() : P1[x] } = { (F4() . F3(x)) where x is Element of F1() : P1[x] } provided A1: the carrier of F2() c= dom F4() proofend; scheme :: WAYBEL24:sch 2 Fraenkel6A{ F1() -> LATTICE, F2( set ) -> set , P1[ set ], P2[ set ] } : { F2(v1) where v1 is Element of F1() : P1[v1] } = { F2(v2) where v2 is Element of F1() : P2[v2] } provided A1: for v being Element of F1() holds ( P1[v] iff P2[v] ) proofend; theorem Th4: :: WAYBEL24:4 for S, T being complete LATTICE for f being monotone Function of S,T for x being Element of S holds f . x = sup (f .: (downarrow x)) proofend; theorem :: WAYBEL24:5 for S, T being lower-bounded complete LATTICE for f being monotone Function of S,T for x being Element of S holds f . x = "\/" ( { (f . w) where w is Element of S : w <= x } ,T) proofend; theorem Th6: :: WAYBEL24:6 for S being RelStr for T being non empty RelStr for F being Subset of (T |^ the carrier of S) holds sup F is Function of S,T proofend; begin definition let X1, X2, Y be non empty RelStr ; let f be Function of [:X1,X2:],Y; let x be Element of X1; func Proj (f,x) -> Function of X2,Y equals :: WAYBEL24:def 1 (curry f) . x; correctness coherence (curry f) . x is Function of X2,Y; proofend; end; :: deftheorem defines Proj WAYBEL24:def_1_:_ for X1, X2, Y being non empty RelStr for f being Function of [:X1,X2:],Y for x being Element of X1 holds Proj (f,x) = (curry f) . x; theorem Th7: :: WAYBEL24:7 for Y, X1, X2 being non empty RelStr for f being Function of [:X1,X2:],Y for x being Element of X1 for y being Element of X2 holds (Proj (f,x)) . y = f . (x,y) proofend; definition let X1, X2, Y be non empty RelStr ; let f be Function of [:X1,X2:],Y; let y be Element of X2; func Proj (f,y) -> Function of X1,Y equals :: WAYBEL24:def 2 (curry' f) . y; correctness coherence (curry' f) . y is Function of X1,Y; proofend; end; :: deftheorem defines Proj WAYBEL24:def_2_:_ for X1, X2, Y being non empty RelStr for f being Function of [:X1,X2:],Y for y being Element of X2 holds Proj (f,y) = (curry' f) . y; theorem Th8: :: WAYBEL24:8 for Y, X2, X1 being non empty RelStr for f being Function of [:X1,X2:],Y for y being Element of X2 for x being Element of X1 holds (Proj (f,y)) . x = f . (x,y) proofend; theorem Th9: :: WAYBEL24:9 for R, S, T being non empty RelStr for f being Function of [:R,S:],T for a being Element of R for b being Element of S holds (Proj (f,a)) . b = (Proj (f,b)) . a proofend; registration let S be non empty RelStr ; let T be non empty reflexive RelStr ; cluster non empty Relation-like the carrier of S -defined the carrier of T -valued Function-like V14( the carrier of S) quasi_total antitone for Element of bool [: the carrier of S, the carrier of T:]; existence ex b1 being Function of S,T st b1 is antitone proofend; end; theorem Th10: :: WAYBEL24:10 for R, S, T being non empty reflexive RelStr for f being Function of [:R,S:],T for a being Element of R for b being Element of S st f is monotone holds ( Proj (f,a) is monotone & Proj (f,b) is monotone ) proofend; theorem Th11: :: WAYBEL24:11 for R, S, T being non empty reflexive RelStr for f being Function of [:R,S:],T for a being Element of R for b being Element of S st f is antitone holds ( Proj (f,a) is antitone & Proj (f,b) is antitone ) proofend; registration let R, S, T be non empty reflexive RelStr ; let f be monotone Function of [:R,S:],T; let a be Element of R; cluster Proj (f,a) -> monotone ; coherence Proj (f,a) is monotone by Th10; end; registration let R, S, T be non empty reflexive RelStr ; let f be monotone Function of [:R,S:],T; let b be Element of S; cluster Proj (f,b) -> monotone ; coherence Proj (f,b) is monotone by Th10; end; registration let R, S, T be non empty reflexive RelStr ; let f be antitone Function of [:R,S:],T; let a be Element of R; cluster Proj (f,a) -> antitone ; coherence Proj (f,a) is antitone by Th11; end; registration let R, S, T be non empty reflexive RelStr ; let f be antitone Function of [:R,S:],T; let b be Element of S; cluster Proj (f,b) -> antitone ; coherence Proj (f,b) is antitone by Th11; end; theorem Th12: :: WAYBEL24:12 for R, S, T being LATTICE for f being Function of [:R,S:],T st ( for a being Element of R for b being Element of S holds ( Proj (f,a) is monotone & Proj (f,b) is monotone ) ) holds f is monotone proofend; theorem :: WAYBEL24:13 for R, S, T being LATTICE for f being Function of [:R,S:],T st ( for a being Element of R for b being Element of S holds ( Proj (f,a) is antitone & Proj (f,b) is antitone ) ) holds f is antitone proofend; theorem Th14: :: WAYBEL24:14 for R, S, T being LATTICE for f being Function of [:R,S:],T for b being Element of S for X being Subset of R holds (Proj (f,b)) .: X = f .: [:X,{b}:] proofend; theorem Th15: :: WAYBEL24:15 for R, S, T being LATTICE for f being Function of [:R,S:],T for b being Element of R for X being Subset of S holds (Proj (f,b)) .: X = f .: [:{b},X:] proofend; theorem :: WAYBEL24:16 for R, S, T being LATTICE for f being Function of [:R,S:],T for a being Element of R for b being Element of S st f is directed-sups-preserving holds ( Proj (f,a) is directed-sups-preserving & Proj (f,b) is directed-sups-preserving ) proofend; theorem Th17: :: WAYBEL24:17 for R, S, T being LATTICE for f being monotone Function of [:R,S:],T for a being Element of R for b being Element of S for X being directed Subset of [:R,S:] st ex_sup_of f .: X,T & a in proj1 X & b in proj2 X holds f . [a,b] <= sup (f .: X) proofend; theorem :: WAYBEL24:18 for R, S, T being complete LATTICE for f being Function of [:R,S:],T st ( for a being Element of R for b being Element of S holds ( Proj (f,a) is directed-sups-preserving & Proj (f,b) is directed-sups-preserving ) ) holds f is directed-sups-preserving proofend; theorem Th19: :: WAYBEL24:19 for S being set for T being non empty RelStr for f being set holds ( f is Element of (T |^ S) iff f is Function of S, the carrier of T ) proofend; begin definition let S be TopStruct ; let T be non empty TopRelStr ; func ContMaps (S,T) -> strict RelStr means :Def3: :: WAYBEL24:def 3 ( it is full SubRelStr of T |^ the carrier of S & ( for x being set holds ( x in the carrier of it iff ex f being Function of S,T st ( x = f & f is continuous ) ) ) ); existence ex b1 being strict RelStr st ( b1 is full SubRelStr of T |^ the carrier of S & ( for x being set holds ( x in the carrier of b1 iff ex f being Function of S,T st ( x = f & f is continuous ) ) ) ) proofend; uniqueness for b1, b2 being strict RelStr st b1 is full SubRelStr of T |^ the carrier of S & ( for x being set holds ( x in the carrier of b1 iff ex f being Function of S,T st ( x = f & f is continuous ) ) ) & b2 is full SubRelStr of T |^ the carrier of S & ( for x being set holds ( x in the carrier of b2 iff ex f being Function of S,T st ( x = f & f is continuous ) ) ) holds b1 = b2 proofend; end; :: deftheorem Def3 defines ContMaps WAYBEL24:def_3_:_ for S being TopStruct for T being non empty TopRelStr for b3 being strict RelStr holds ( b3 = ContMaps (S,T) iff ( b3 is full SubRelStr of T |^ the carrier of S & ( for x being set holds ( x in the carrier of b3 iff ex f being Function of S,T st ( x = f & f is continuous ) ) ) ) ); registration let S be non empty TopSpace; let T be non empty TopSpace-like TopRelStr ; cluster ContMaps (S,T) -> non empty strict ; coherence not ContMaps (S,T) is empty proofend; end; registration let S be non empty TopSpace; let T be non empty TopSpace-like TopRelStr ; cluster ContMaps (S,T) -> constituted-Functions strict ; coherence ContMaps (S,T) is constituted-Functions proofend; end; theorem Th20: :: WAYBEL24:20 for S being non empty TopSpace for T being non empty TopSpace-like reflexive TopRelStr for x, y being Element of (ContMaps (S,T)) holds ( x <= y iff for i being Element of S holds [(x . i),(y . i)] in the InternalRel of T ) proofend; theorem Th21: :: WAYBEL24:21 for S being non empty TopSpace for T being non empty TopSpace-like reflexive TopRelStr for x being set holds ( x is continuous Function of S,T iff x is Element of (ContMaps (S,T)) ) proofend; registration let S be non empty TopSpace; let T be non empty TopSpace-like reflexive TopRelStr ; cluster ContMaps (S,T) -> strict reflexive ; coherence ContMaps (S,T) is reflexive proofend; end; registration let S be non empty TopSpace; let T be non empty TopSpace-like transitive TopRelStr ; cluster ContMaps (S,T) -> strict transitive ; coherence ContMaps (S,T) is transitive proofend; end; registration let S be non empty TopSpace; let T be non empty TopSpace-like antisymmetric TopRelStr ; cluster ContMaps (S,T) -> strict antisymmetric ; coherence ContMaps (S,T) is antisymmetric proofend; end; registration let S be set ; let T be non empty RelStr ; clusterT |^ S -> constituted-Functions ; coherence T |^ S is constituted-Functions proofend; end; theorem :: WAYBEL24:22 for S being non empty 1-sorted for T being complete LATTICE for f, g, h being Function of S,T for i being Element of S st h = "\/" ({f,g},(T |^ the carrier of S)) holds h . i = sup {(f . i),(g . i)} proofend; theorem Th23: :: WAYBEL24:23 for I being non empty set for J being RelStr-yielding non-Empty reflexive-yielding ManySortedSet of I st ( for i being Element of I holds J . i is complete LATTICE ) holds for X being Subset of (product J) for i being Element of I holds (inf X) . i = inf (pi (X,i)) proofend; theorem :: WAYBEL24:24 for S being non empty 1-sorted for T being complete LATTICE for f, g, h being Function of S,T for i being Element of S st h = "/\" ({f,g},(T |^ the carrier of S)) holds h . i = inf {(f . i),(g . i)} proofend; theorem Th25: :: WAYBEL24:25 for S being non empty RelStr for T being complete LATTICE for F being non empty Subset of (T |^ the carrier of S) for i being Element of S holds (sup F) . i = "\/" ( { (f . i) where f is Element of (T |^ the carrier of S) : f in F } ,T) proofend; theorem Th26: :: WAYBEL24:26 for S, T being complete TopLattice for F being non empty Subset of (ContMaps (S,T)) for i being Element of S holds ("\/" (F,(T |^ the carrier of S))) . i = "\/" ( { (f . i) where f is Element of (T |^ the carrier of S) : f in F } ,T) proofend; theorem Th27: :: WAYBEL24:27 for S being non empty RelStr for T being complete LATTICE for F being non empty Subset of (T |^ the carrier of S) for D being non empty Subset of S holds (sup F) .: D = { ("\/" ( { (f . i) where f is Element of (T |^ the carrier of S) : f in F } ,T)) where i is Element of S : i in D } proofend; theorem Th28: :: WAYBEL24:28 for S, T being complete Scott TopLattice for F being non empty Subset of (ContMaps (S,T)) for D being non empty Subset of S holds ("\/" (F,(T |^ the carrier of S))) .: D = { ("\/" ( { (f . i) where f is Element of (T |^ the carrier of S) : f in F } ,T)) where i is Element of S : i in D } proofend; scheme :: WAYBEL24:sch 3 FraenkelF9RS{ F1() -> non empty TopRelStr , F2( set ) -> set , F3( set ) -> set , P1[ set ] } : { F2(v1) where v1 is Element of F1() : P1[v1] } = { F3(v2) where v2 is Element of F1() : P1[v2] } provided A1: for v being Element of F1() st P1[v] holds F2(v) = F3(v) proofend; scheme :: WAYBEL24:sch 4 FraenkelF9RSS{ F1() -> non empty RelStr , F2( set ) -> set , F3( set ) -> set , P1[ set ] } : { F2(v1) where v1 is Element of F1() : P1[v1] } = { F3(v2) where v2 is Element of F1() : P1[v2] } provided A1: for v being Element of F1() st P1[v] holds F2(v) = F3(v) proofend; scheme :: WAYBEL24:sch 5 FuncFraenkelS{ F1() -> non empty TopRelStr , F2() -> non empty TopRelStr , F3( set ) -> Element of F2(), F4() -> Function, P1[ set ] } : F4() .: { F3(x) where x is Element of F1() : P1[x] } = { (F4() . F3(x)) where x is Element of F1() : P1[x] } provided A1: the carrier of F2() c= dom F4() proofend; Lm1: for S being non empty RelStr for D being non empty Subset of S holds D = { i where i is Element of S : i in D } proofend; theorem Th29: :: WAYBEL24:29 for S, T being complete Scott TopLattice for F being non empty Subset of (ContMaps (S,T)) holds "\/" (F,(T |^ the carrier of S)) is monotone Function of S,T proofend; theorem Th30: :: WAYBEL24:30 for S, T being complete Scott TopLattice for F being non empty Subset of (ContMaps (S,T)) for D being non empty directed Subset of S holds "\/" ( { ("\/" ( { (g . i) where i is Element of S : i in D } ,T)) where g is Element of (T |^ the carrier of S) : g in F } ,T) = "\/" ( { ("\/" ( { (g9 . i9) where g9 is Element of (T |^ the carrier of S) : g9 in F } ,T)) where i9 is Element of S : i9 in D } ,T) proofend; theorem Th31: :: WAYBEL24:31 for S, T being complete Scott TopLattice for F being non empty Subset of (ContMaps (S,T)) for D being non empty directed Subset of S holds "\/" ((("\/" (F,(T |^ the carrier of S))) .: D),T) = ("\/" (F,(T |^ the carrier of S))) . (sup D) proofend; theorem Th32: :: WAYBEL24:32 for S, T being complete Scott TopLattice for F being non empty Subset of (ContMaps (S,T)) holds "\/" (F,(T |^ the carrier of S)) in the carrier of (ContMaps (S,T)) proofend; theorem Th33: :: WAYBEL24:33 for S being non empty RelStr for T being non empty antisymmetric lower-bounded RelStr holds Bottom (T |^ the carrier of S) = S --> (Bottom T) proofend; theorem :: WAYBEL24:34 for S being non empty RelStr for T being non empty antisymmetric upper-bounded RelStr holds Top (T |^ the carrier of S) = S --> (Top T) proofend; registration let S be non empty reflexive RelStr ; let T be complete LATTICE; let a be Element of T; clusterS --> a -> directed-sups-preserving ; coherence S --> a is directed-sups-preserving proofend; end; theorem Th35: :: WAYBEL24:35 for S, T being complete Scott TopLattice holds ContMaps (S,T) is sups-inheriting SubRelStr of T |^ the carrier of S proofend; registration let S, T be complete Scott TopLattice; cluster ContMaps (S,T) -> strict complete ; coherence ContMaps (S,T) is complete proofend; end; theorem :: WAYBEL24:36 for S, T being non empty complete Scott TopLattice holds Bottom (ContMaps (S,T)) = S --> (Bottom T) proofend; theorem :: WAYBEL24:37 for S, T being non empty complete Scott TopLattice holds Top (ContMaps (S,T)) = S --> (Top T) proofend; theorem :: WAYBEL24:38 for S, T being complete Scott TopLattice holds SCMaps (S,T) = ContMaps (S,T) proofend;