:: Bounding boxes for compact sets in ${\calE}^2$
:: by Czes{\l}aw Byli\'nski and Piotr Rudnicki
::
:: Received July 29, 1997
:: Copyright (c) 1997-2018 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, FREEALG, SETFAM_1, CARD_1, XBOOLE_0, SUBSET_1, REAL_1,
ORDINAL1, TARSKI, FUNCT_1, RELAT_1, ZFMISC_1, ARYTM_3, XXREAL_0, ARYTM_1,
SEQ_1, SEQ_2, VALUED_0, ORDINAL2, XXREAL_2, SEQ_4, RCOMP_1, XXREAL_1,
MEMBER_1, FUNCOP_1, PRALG_1, PRE_TOPC, STRUCT_0, LIMFUNC1, EUCLID,
MCART_1, RLTOPSP1, PSCOMP_1, FUNCT_7, XCMPLX_0, NAT_1;
notations TARSKI, XBOOLE_0, SUBSET_1, ORDINAL1, NUMBERS, XCMPLX_0, XREAL_0,
COMPLEX1, SETFAM_1, REAL_1, NAT_1, INT_1, MEMBERED, RELAT_1, FUNCT_1,
RELSET_1, PARTFUN1, FUNCT_2, FUNCOP_1, STRUCT_0, PRE_TOPC, TOPS_2,
VALUED_0, VALUED_1, SEQ_1, COMSEQ_2, SEQ_2, SEQ_4, RCOMP_1, LIMFUNC1,
COMPTS_1, RLTOPSP1, EUCLID, XXREAL_0, XXREAL_2, MEASURE6;
constructors DOMAIN_1, REAL_1, NAT_1, COMPLEX1, SEQ_2, SEQ_4, RCOMP_1,
FUNCOP_1, LIMFUNC1, MEASURE6, TOPS_2, COMPTS_1, PCOMPS_1, TSP_1,
TOPREAL1, SUPINF_1, XXREAL_2, PARTFUN1, RELSET_1, BINOP_2, COMSEQ_2;
registrations XBOOLE_0, SUBSET_1, RELAT_1, ORDINAL1, FUNCT_2, NUMBERS,
XXREAL_0, XREAL_0, MEMBERED, SEQ_2, STRUCT_0, PRE_TOPC, COMPTS_1, EUCLID,
SPPOL_2, VALUED_0, VALUED_1, XXREAL_2, FINSET_1, FCONT_3, MEASURE6,
TOPREAL1, RELSET_1, XCMPLX_0;
requirements REAL, NUMERALS, BOOLE, SUBSET, ARITHM;
begin :: Preliminaries
reserve r, s, t, g for Real,
r3, r1, r2, q3, p3 for Real;
begin :: Real maps
definition
let T be 1-sorted;
mode RealMap of T is Function of the carrier of T, REAL;
end;
registration
let T be non empty 1-sorted;
cluster bounded for RealMap of T;
end;
definition
let T be 1-sorted, f be RealMap of T;
func lower_bound f -> Real equals
:: PSCOMP_1:def 1
lower_bound (f.:the carrier of T);
func upper_bound f -> Real equals
:: PSCOMP_1:def 2
upper_bound (f.:the carrier of T);
end;
theorem :: PSCOMP_1:1
for T being non empty TopSpace, f being bounded_below RealMap of
T for p being Point of T holds f.p >= lower_bound f;
theorem :: PSCOMP_1:2
for T being non empty TopSpace, f being bounded_below RealMap of T for
s being Real st for t being Point of T holds f.t >= s
holds lower_bound f >= s;
theorem :: PSCOMP_1:3
for T being non empty TopSpace, f being RealMap of T st (for p being
Point of T holds f.p >= r) & for t st for p being Point of T holds f.p >= t
holds r >= t holds r = lower_bound f;
theorem :: PSCOMP_1:4
for T being non empty TopSpace, f being bounded_above RealMap of
T for p being Point of T holds f.p <= upper_bound f;
theorem :: PSCOMP_1:5
for T being non empty TopSpace, f being bounded_above RealMap of T for
t st for p being Point of T holds f.p <= t holds upper_bound f <= t;
theorem :: PSCOMP_1:6
for T being non empty TopSpace, f being RealMap of T st (for p being
Point of T holds f.p <= r) & (for t st for p being Point of T holds f.p <= t
holds r <= t) holds r = upper_bound f;
theorem :: PSCOMP_1:7
for T being non empty 1-sorted, f being bounded RealMap of T
holds lower_bound f <= upper_bound f;
definition
let T be TopStruct, f be RealMap of T;
attr f is continuous means
:: PSCOMP_1:def 3
for Y being Subset of REAL st Y is closed holds f"Y is closed;
end;
registration
let T be non empty TopSpace;
cluster continuous for RealMap of T;
end;
registration
let T be non empty TopSpace, S be non empty SubSpace of T;
cluster continuous for RealMap of S;
end;
reserve T for TopStruct,
f for RealMap of T;
theorem :: PSCOMP_1:8
f is continuous iff for Y being Subset of REAL st Y is open holds f"Y is open
;
theorem :: PSCOMP_1:9
f is continuous implies -f is continuous;
theorem :: PSCOMP_1:10
f is continuous implies r3+f is continuous;
theorem :: PSCOMP_1:11
f is continuous & not 0 in rng f implies Inv f is continuous;
theorem :: PSCOMP_1:12
for R being Subset-Family of REAL st f is continuous & R is open holds
("f).:R is open;
theorem :: PSCOMP_1:13
for R being Subset-Family of REAL st f is continuous & R is
closed holds ("f).:R is closed;
definition
let T be non empty TopStruct, f be RealMap of T, X be Subset of T;
redefine func f|X -> RealMap of T|X;
end;
registration
let T be non empty TopSpace, f be continuous RealMap of T, X be Subset of T;
cluster f|X -> continuous for RealMap of T|X;
end;
registration
let T be non empty TopSpace, P be compact non empty Subset of T;
cluster T|P -> compact;
end;
begin :: Pseudocompact spaces
theorem :: PSCOMP_1:14
for T being non empty TopSpace holds (for f being RealMap of T
st f is continuous holds f is with_max) iff for f being RealMap of T st f is
continuous holds f is with_min;
theorem :: PSCOMP_1:15
for T being non empty TopSpace holds (for f being RealMap of T
st f is continuous holds f is bounded) iff for f being RealMap of T st f is
continuous holds f is with_max;
definition
let T be TopStruct;
attr T is pseudocompact means
:: PSCOMP_1:def 4
for f being RealMap of T st f is continuous holds f is bounded;
end;
registration
cluster compact -> pseudocompact for non empty TopSpace;
end;
registration
cluster non empty compact for TopSpace;
end;
registration
let T be pseudocompact non empty TopSpace;
cluster continuous -> bounded with_max with_min for RealMap of T;
end;
theorem :: PSCOMP_1:16
for T being non empty TopSpace, X being non empty Subset of T, Y
being compact Subset of T, f being continuous RealMap of T st X c= Y
holds lower_bound
(f|Y) <= lower_bound (f|X);
theorem :: PSCOMP_1:17
for T being non empty TopSpace, X being non empty Subset of T, Y
being compact Subset of T, f being continuous RealMap of T st X c= Y
holds upper_bound
(f|X) <= upper_bound (f|Y);
begin :: Bounding boxes of compact sets in TOP-REAL 2
registration
let n be Element of NAT, X, Y be compact Subset of TOP-REAL n;
cluster X /\ Y -> compact for Subset of TOP-REAL n;
end;
reserve p for Point of TOP-REAL 2,
P for Subset of TOP-REAL 2,
Z for non empty Subset of TOP-REAL 2,
X for non empty compact Subset of TOP-REAL 2;
definition
func proj1 -> RealMap of TOP-REAL 2 means
:: PSCOMP_1:def 5
for p being Point of TOP-REAL 2 holds it.p = p`1;
func proj2 -> RealMap of TOP-REAL 2 means
:: PSCOMP_1:def 6
for p being Point of TOP-REAL 2 holds it.p = p`2;
end;
theorem :: PSCOMP_1:18
proj1"].r,s.[ = {|[ r1, r2 ]| : r < r1 & r1 < s};
theorem :: PSCOMP_1:19
for r3, q3 st P = {|[ r1, r2 ]| : r3 < r1 & r1 < q3} holds P is open;
theorem :: PSCOMP_1:20
proj2"].r,s.[ = {|[ r1, r2 ]| : r < r2 & r2 < s};
theorem :: PSCOMP_1:21
for r3, q3 st P = {|[ r1, r2 ]| : r3 < r2 & r2 < q3} holds P is open;
registration
cluster proj1 -> continuous;
cluster proj2 -> continuous;
end;
theorem :: PSCOMP_1:22
for X being Subset of TOP-REAL 2, p being Point of TOP-REAL 2 st
p in X holds (proj1|X).p = p`1;
theorem :: PSCOMP_1:23
for X being Subset of TOP-REAL 2, p being Point of TOP-REAL 2 st
p in X holds (proj2|X).p = p`2;
definition
let X be Subset of TOP-REAL 2;
func W-bound X -> Real equals
:: PSCOMP_1:def 7
lower_bound (proj1|X);
func N-bound X -> Real equals
:: PSCOMP_1:def 8
upper_bound (proj2|X);
func E-bound X -> Real equals
:: PSCOMP_1:def 9
upper_bound (proj1|X);
func S-bound X -> Real equals
:: PSCOMP_1:def 10
lower_bound (proj2|X);
end;
theorem :: PSCOMP_1:24
p in X implies W-bound X <= p`1 & p`1 <= E-bound X & S-bound X <= p`2
& p`2 <= N-bound X;
definition
let X be Subset of TOP-REAL 2;
func SW-corner X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 11
|[W-bound X, S-bound X]|;
func NW-corner X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 12
|[W-bound X, N-bound X]|;
func NE-corner X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 13
|[E-bound X, N-bound X]|;
func SE-corner X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 14
|[E-bound X, S-bound X]|;
end;
theorem :: PSCOMP_1:25
(SW-corner P)`1 = (NW-corner P)`1;
theorem :: PSCOMP_1:26
(SE-corner P)`1 = (NE-corner P)`1;
theorem :: PSCOMP_1:27
(NW-corner P)`2 = (NE-corner P)`2;
theorem :: PSCOMP_1:28
(SW-corner P)`2 = (SE-corner P)`2;
definition
let X be Subset of TOP-REAL 2;
func W-most X -> Subset of TOP-REAL 2 equals
:: PSCOMP_1:def 15
LSeg(SW-corner X, NW-corner X)
/\X;
func N-most X -> Subset of TOP-REAL 2 equals
:: PSCOMP_1:def 16
LSeg(NW-corner X, NE-corner X)
/\X;
func E-most X -> Subset of TOP-REAL 2 equals
:: PSCOMP_1:def 17
LSeg(SE-corner X, NE-corner X)
/\X;
func S-most X -> Subset of TOP-REAL 2 equals
:: PSCOMP_1:def 18
LSeg(SW-corner X, SE-corner X)
/\X;
end;
registration
let X be non empty compact Subset of TOP-REAL 2;
cluster W-most X -> non empty compact;
cluster N-most X -> non empty compact;
cluster E-most X -> non empty compact;
cluster S-most X -> non empty compact;
end;
definition
let X be Subset of TOP-REAL 2;
func W-min X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 19
|[W-bound X, lower_bound (proj2|W-most X)]|;
func W-max X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 20
|[W-bound X, upper_bound (proj2|W-most X)]|;
func N-min X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 21
|[lower_bound (proj1|N-most X), N-bound X]|;
func N-max X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 22
|[upper_bound (proj1|N-most X), N-bound X]|;
func E-max X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 23
|[E-bound X, upper_bound (proj2|E-most X)]|;
func E-min X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 24
|[E-bound X, lower_bound (proj2|E-most X)]|;
func S-max X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 25
|[upper_bound (proj1|S-most X), S-bound X]|;
func S-min X -> Point of TOP-REAL 2 equals
:: PSCOMP_1:def 26
|[lower_bound (proj1|S-most X), S-bound X]|;
end;
theorem :: PSCOMP_1:29
(SW-corner P)`1 = (W-min P)`1 & (SW-corner P)`1 = (W-max P)`1 &
(W-min P)`1 = (W-max P)`1 & (W-min P)`1 = (NW-corner P)`1 & (W-max P)`1 = (
NW-corner P)`1;
theorem :: PSCOMP_1:30
(SW-corner X)`2 <= (W-min X)`2 & (SW-corner X)`2 <= (W-max X)`2
& (SW-corner X)`2 <= (NW-corner X)`2 & (W-min X)`2 <= (W-max X)`2 & (W-min X)`2
<= (NW-corner X)`2 & (W-max X)`2 <= (NW-corner X)`2;
theorem :: PSCOMP_1:31
p in W-most Z implies p`1 = (W-min Z)`1 & (Z is compact implies
(W-min Z)`2 <= p`2 & p`2 <= (W-max Z)`2);
theorem :: PSCOMP_1:32
W-most X c= LSeg(W-min X, W-max X);
theorem :: PSCOMP_1:33
LSeg(W-min X, W-max X) c= LSeg(SW-corner X, NW-corner X);
theorem :: PSCOMP_1:34
W-min X in W-most X & W-max X in W-most X;
theorem :: PSCOMP_1:35
LSeg(SW-corner X, W-min X)/\X = {W-min X} & LSeg(W-max X, NW-corner X)
/\X = {W-max X};
theorem :: PSCOMP_1:36
W-min X = W-max X implies W-most X = {W-min X};
theorem :: PSCOMP_1:37
(NW-corner P)`2 = (N-min P)`2 & (NW-corner P)`2 = (N-max P)`2 &
(N-min P)`2 = (N-max P)`2 & (N-min P)`2 = (NE-corner P)`2 & (N-max P)`2 = (
NE-corner P)`2;
theorem :: PSCOMP_1:38
(NW-corner X)`1 <= (N-min X)`1 & (NW-corner X)`1 <= (N-max X)`1
& (NW-corner X)`1 <= (NE-corner X)`1 & (N-min X)`1 <= (N-max X)`1 & (N-min X)`1
<= (NE-corner X)`1 & (N-max X)`1 <= (NE-corner X)`1;
theorem :: PSCOMP_1:39
p in N-most Z implies p`2 = (N-min Z)`2 & (Z is compact implies
(N-min Z)`1 <= p`1 & p`1 <= (N-max Z)`1);
theorem :: PSCOMP_1:40
N-most X c= LSeg(N-min X, N-max X);
theorem :: PSCOMP_1:41
LSeg(N-min X, N-max X) c= LSeg(NW-corner X, NE-corner X);
theorem :: PSCOMP_1:42
N-min X in N-most X & N-max X in N-most X;
theorem :: PSCOMP_1:43
LSeg(NW-corner X, N-min X)/\X = {N-min X} & LSeg(N-max X, NE-corner X)
/\X = {N-max X};
theorem :: PSCOMP_1:44
N-min X = N-max X implies N-most X = {N-min X};
theorem :: PSCOMP_1:45
(SE-corner P)`1 = (E-min P)`1 & (SE-corner P)`1 = (E-max P)`1 &
(E-min P)`1 = (E-max P)`1 & (E-min P)`1 = (NE-corner P)`1 & (E-max P)`1 = (
NE-corner P)`1;
theorem :: PSCOMP_1:46
(SE-corner X)`2 <= (E-min X)`2 & (SE-corner X)`2 <= (E-max X)`2
& (SE-corner X)`2 <= (NE-corner X)`2 & (E-min X)`2 <= (E-max X)`2 & (E-min X)`2
<= (NE-corner X)`2 & (E-max X)`2 <= (NE-corner X)`2;
theorem :: PSCOMP_1:47
p in E-most Z implies p`1 = (E-min Z)`1 & (Z is compact implies
(E-min Z)`2 <= p`2 & p`2 <= (E-max Z)`2);
theorem :: PSCOMP_1:48
E-most X c= LSeg(E-min X, E-max X);
theorem :: PSCOMP_1:49
LSeg(E-min X, E-max X) c= LSeg(SE-corner X, NE-corner X);
theorem :: PSCOMP_1:50
E-min X in E-most X & E-max X in E-most X;
theorem :: PSCOMP_1:51
LSeg(SE-corner X, E-min X)/\X = {E-min X} & LSeg(E-max X, NE-corner X)
/\X = {E-max X};
theorem :: PSCOMP_1:52
E-min X = E-max X implies E-most X = {E-min X};
theorem :: PSCOMP_1:53
(SW-corner P)`2 = (S-min P)`2 & (SW-corner P)`2 = (S-max P)`2 &
(S-min P)`2 = (S-max P)`2 & (S-min P)`2 = (SE-corner P)`2 & (S-max P)`2 = (
SE-corner P)`2;
theorem :: PSCOMP_1:54
(SW-corner X)`1 <= (S-min X)`1 & (SW-corner X)`1 <= (S-max X)`1
& (SW-corner X)`1 <= (SE-corner X)`1 & (S-min X)`1 <= (S-max X)`1 & (S-min X)`1
<= (SE-corner X)`1 & (S-max X)`1 <= (SE-corner X)`1;
theorem :: PSCOMP_1:55
p in S-most Z implies p`2 = (S-min Z)`2 & (Z is compact implies
(S-min Z)`1 <= p`1 & p`1 <= (S-max Z)`1);
theorem :: PSCOMP_1:56
S-most X c= LSeg(S-min X, S-max X);
theorem :: PSCOMP_1:57
LSeg(S-min X, S-max X) c= LSeg(SW-corner X, SE-corner X);
theorem :: PSCOMP_1:58
S-min X in S-most X & S-max X in S-most X;
theorem :: PSCOMP_1:59
LSeg(SW-corner X, S-min X)/\X = {S-min X} & LSeg(S-max X, SE-corner X)
/\X = {S-max X};
theorem :: PSCOMP_1:60
S-min X = S-max X implies S-most X = {S-min X};
:: Degenerate cases
theorem :: PSCOMP_1:61
W-max P = N-min P implies W-max P = NW-corner P;
theorem :: PSCOMP_1:62
N-max P = E-max P implies N-max P = NE-corner P;
theorem :: PSCOMP_1:63
E-min P = S-max P implies E-min P = SE-corner P;
theorem :: PSCOMP_1:64
S-min P = W-min P implies S-min P = SW-corner P;
theorem :: PSCOMP_1:65
proj2. |[r,s]| = s & proj1. |[r,s]| = r;
:: Moved from JORDAN1E, AK, 23.02.2006
theorem :: PSCOMP_1:66
for X be non empty Subset of TOP-REAL 2 for Y be compact Subset of
TOP-REAL 2 st X c= Y holds N-bound X <= N-bound Y;
theorem :: PSCOMP_1:67
for X be non empty Subset of TOP-REAL 2 for Y be compact Subset of
TOP-REAL 2 st X c= Y holds E-bound X <= E-bound Y;
theorem :: PSCOMP_1:68
for X be non empty Subset of TOP-REAL 2 for Y be compact Subset of
TOP-REAL 2 st X c= Y holds S-bound X >= S-bound Y;
theorem :: PSCOMP_1:69
for X be non empty Subset of TOP-REAL 2 for Y be compact Subset of
TOP-REAL 2 st X c= Y holds W-bound X >= W-bound Y;