:: KURATO_2 semantic presentation

theorem Th1: :: KURATO_2:1
for b1, b2 being set
for b3 being Subset of b1 st not b2 in b3 & b2 in b1 holds
b2 in b3 `
proof end;

theorem Th2: :: KURATO_2:2
for b1 being Function
for b2 being set st b2 in dom b1 holds
meet b1 c= b1 . b2
proof end;

theorem Th3: :: KURATO_2:3
for b1 being set
for b2, b3 being SetSequence of b1 holds
( b2 = b3 iff for b4 being Nat holds b2 . b4 = b3 . b4 )
proof end;

theorem Th4: :: KURATO_2:4
for b1, b2, b3, b4 being set st b1 meets b2 & b3 meets b4 holds
[:b1,b3:] meets [:b2,b4:]
proof end;

registration
let c1 be set ;
cluster -> non empty M6( NAT , bool a1);
coherence
for b1 being SetSequence of c1 holds not b1 is empty
;
end;

registration
let c1 be non empty set ;
cluster non-empty M6( NAT , bool a1);
existence
ex b1 being SetSequence of c1 st b1 is non-empty
proof end;
end;

definition
let c1 be 1-sorted ;
mode SetSequence of a1 is SetSequence of the carrier of a1;
end;

scheme :: KURATO_2:sch 1
s1{ F1() -> set , F2( set ) -> Subset of F1() } :
ex b1 being SetSequence of F1() st
for b2 being Nat holds b1 . b2 = F2(b2)
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
redefine func Union as Union c2 -> Subset of a1;
coherence
Union c2 is Subset of c1
proof end;
redefine func meet as meet c2 -> Subset of a1;
coherence
meet c2 is Subset of c1
proof end;
end;

definition
let c1 be non empty set ;
let c2 be Function of NAT ,c1;
let c3 be Nat;
canceled;
func c2 ^\ c3 -> Function of NAT ,a1 means :Def2: :: KURATO_2:def 2
for b1 being Nat holds a4 . b1 = a2 . (b1 + a3);
existence
ex b1 being Function of NAT ,c1 st
for b2 being Nat holds b1 . b2 = c2 . (b2 + c3)
proof end;
uniqueness
for b1, b2 being Function of NAT ,c1 st ( for b3 being Nat holds b1 . b3 = c2 . (b3 + c3) ) & ( for b3 being Nat holds b2 . b3 = c2 . (b3 + c3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 KURATO_2:def 1 :
canceled;

:: deftheorem Def2 defines ^\ KURATO_2:def 2 :
for b1 being non empty set
for b2 being Function of NAT ,b1
for b3 being Nat
for b4 being Function of NAT ,b1 holds
( b4 = b2 ^\ b3 iff for b5 being Nat holds b4 . b5 = b2 . (b5 + b3) );

definition
let c1 be set ;
let c2 be SetSequence of c1;
func lim_inf c2 -> Subset of a1 means :Def3: :: KURATO_2:def 3
ex b1 being SetSequence of a1 st
( a3 = Union b1 & ( for b2 being Nat holds b1 . b2 = meet (a2 ^\ b2) ) );
existence
ex b1 being Subset of c1ex b2 being SetSequence of c1 st
( b1 = Union b2 & ( for b3 being Nat holds b2 . b3 = meet (c2 ^\ b3) ) )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ex b3 being SetSequence of c1 st
( b1 = Union b3 & ( for b4 being Nat holds b3 . b4 = meet (c2 ^\ b4) ) ) & ex b3 being SetSequence of c1 st
( b2 = Union b3 & ( for b4 being Nat holds b3 . b4 = meet (c2 ^\ b4) ) ) holds
b1 = b2
proof end;
func lim_sup c2 -> Subset of a1 means :Def4: :: KURATO_2:def 4
ex b1 being SetSequence of a1 st
( a3 = meet b1 & ( for b2 being Nat holds b1 . b2 = Union (a2 ^\ b2) ) );
existence
ex b1 being Subset of c1ex b2 being SetSequence of c1 st
( b1 = meet b2 & ( for b3 being Nat holds b2 . b3 = Union (c2 ^\ b3) ) )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ex b3 being SetSequence of c1 st
( b1 = meet b3 & ( for b4 being Nat holds b3 . b4 = Union (c2 ^\ b4) ) ) & ex b3 being SetSequence of c1 st
( b2 = meet b3 & ( for b4 being Nat holds b3 . b4 = Union (c2 ^\ b4) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines lim_inf KURATO_2:def 3 :
for b1 being set
for b2 being SetSequence of b1
for b3 being Subset of b1 holds
( b3 = lim_inf b2 iff ex b4 being SetSequence of b1 st
( b3 = Union b4 & ( for b5 being Nat holds b4 . b5 = meet (b2 ^\ b5) ) ) );

:: deftheorem Def4 defines lim_sup KURATO_2:def 4 :
for b1 being set
for b2 being SetSequence of b1
for b3 being Subset of b1 holds
( b3 = lim_sup b2 iff ex b4 being SetSequence of b1 st
( b3 = meet b4 & ( for b5 being Nat holds b4 . b5 = Union (b2 ^\ b5) ) ) );

theorem Th5: :: KURATO_2:5
canceled;

theorem Th6: :: KURATO_2:6
for b1 being set
for b2 being SetSequence of b1
for b3 being set holds
( b3 in meet b2 iff for b4 being Nat holds b3 in b2 . b4 )
proof end;

theorem Th7: :: KURATO_2:7
for b1 being set
for b2 being SetSequence of b1
for b3 being set holds
( b3 in lim_inf b2 iff ex b4 being Nat st
for b5 being Nat holds b3 in b2 . (b4 + b5) )
proof end;

theorem Th8: :: KURATO_2:8
for b1 being set
for b2 being SetSequence of b1
for b3 being set holds
( b3 in lim_sup b2 iff for b4 being Nat ex b5 being Nat st b3 in b2 . (b4 + b5) )
proof end;

theorem Th9: :: KURATO_2:9
for b1 being set
for b2 being SetSequence of b1 holds lim_inf b2 c= lim_sup b2
proof end;

theorem Th10: :: KURATO_2:10
for b1 being set
for b2 being SetSequence of b1 holds meet b2 c= lim_inf b2
proof end;

theorem Th11: :: KURATO_2:11
for b1 being set
for b2 being SetSequence of b1 holds lim_sup b2 c= Union b2
proof end;

theorem Th12: :: KURATO_2:12
for b1 being set
for b2 being SetSequence of b1 holds lim_inf b2 = (lim_sup (Complement b2)) `
proof end;

theorem Th13: :: KURATO_2:13
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) /\ (b3 . b5) ) holds
lim_inf b4 = (lim_inf b2) /\ (lim_inf b3)
proof end;

theorem Th14: :: KURATO_2:14
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) \/ (b3 . b5) ) holds
lim_sup b4 = (lim_sup b2) \/ (lim_sup b3)
proof end;

theorem Th15: :: KURATO_2:15
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) \/ (b3 . b5) ) holds
(lim_inf b2) \/ (lim_inf b3) c= lim_inf b4
proof end;

theorem Th16: :: KURATO_2:16
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) /\ (b3 . b5) ) holds
lim_sup b4 c= (lim_sup b2) /\ (lim_sup b3)
proof end;

theorem Th17: :: KURATO_2:17
for b1 being set
for b2 being SetSequence of b1
for b3 being Subset of b1 st ( for b4 being Nat holds b2 . b4 = b3 ) holds
lim_sup b2 = b3
proof end;

theorem Th18: :: KURATO_2:18
for b1 being set
for b2 being SetSequence of b1
for b3 being Subset of b1 st ( for b4 being Nat holds b2 . b4 = b3 ) holds
lim_inf b2 = b3
proof end;

theorem Th19: :: KURATO_2:19
for b1 being set
for b2, b3 being SetSequence of b1
for b4 being Subset of b1 st ( for b5 being Nat holds b3 . b5 = b4 \+\ (b2 . b5) ) holds
b4 \+\ (lim_inf b2) c= lim_sup b3
proof end;

theorem Th20: :: KURATO_2:20
for b1 being set
for b2, b3 being SetSequence of b1
for b4 being Subset of b1 st ( for b5 being Nat holds b3 . b5 = b4 \+\ (b2 . b5) ) holds
b4 \+\ (lim_sup b2) c= lim_sup b3
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
attr a2 is descending means :Def5: :: KURATO_2:def 5
for b1 being Nat holds a2 . (b1 + 1) c= a2 . b1;
attr a2 is ascending means :Def6: :: KURATO_2:def 6
for b1 being Nat holds a2 . b1 c= a2 . (b1 + 1);
end;

:: deftheorem Def5 defines descending KURATO_2:def 5 :
for b1 being set
for b2 being SetSequence of b1 holds
( b2 is descending iff for b3 being Nat holds b2 . (b3 + 1) c= b2 . b3 );

:: deftheorem Def6 defines ascending KURATO_2:def 6 :
for b1 being set
for b2 being SetSequence of b1 holds
( b2 is ascending iff for b3 being Nat holds b2 . b3 c= b2 . (b3 + 1) );

theorem Th21: :: KURATO_2:21
for b1 being Function st ( for b2 being Nat holds b1 . (b2 + 1) c= b1 . b2 ) holds
for b2, b3 being Nat st b2 <= b3 holds
b1 . b3 c= b1 . b2
proof end;

theorem Th22: :: KURATO_2:22
for b1 being set
for b2 being SetSequence of b1 st b2 is descending holds
for b3, b4 being Nat st b3 >= b4 holds
b2 . b3 c= b2 . b4
proof end;

theorem Th23: :: KURATO_2:23
for b1 being set
for b2 being SetSequence of b1 st b2 is ascending holds
for b3, b4 being Nat st b3 >= b4 holds
b2 . b4 c= b2 . b3
proof end;

theorem Th24: :: KURATO_2:24
for b1 being set
for b2 being SetSequence of b1
for b3 being set st b2 is descending & ex b4 being Nat st
for b5 being Nat st b5 > b4 holds
b3 in b2 . b5 holds
b3 in meet b2
proof end;

theorem Th25: :: KURATO_2:25
for b1 being set
for b2 being SetSequence of b1 st b2 is descending holds
lim_inf b2 = meet b2
proof end;

theorem Th26: :: KURATO_2:26
for b1 being set
for b2 being SetSequence of b1 st b2 is ascending holds
lim_sup b2 = Union b2
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
attr a2 is convergent means :Def7: :: KURATO_2:def 7
lim_sup a2 = lim_inf a2;
end;

:: deftheorem Def7 defines convergent KURATO_2:def 7 :
for b1 being set
for b2 being SetSequence of b1 holds
( b2 is convergent iff lim_sup b2 = lim_inf b2 );

theorem Th27: :: KURATO_2:27
for b1 being set
for b2 being SetSequence of b1 st b2 is constant holds
the_value_of b2 is Subset of b1
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
redefine attr constant as a2 is constant means :Def8: :: KURATO_2:def 8
ex b1 being Subset of a1 st
for b2 being Nat holds a2 . b2 = b1;
compatibility
( c2 is constant iff ex b1 being Subset of c1 st
for b2 being Nat holds c2 . b2 = b1 )
proof end;
end;

:: deftheorem Def8 defines constant KURATO_2:def 8 :
for b1 being set
for b2 being SetSequence of b1 holds
( b2 is constant iff ex b3 being Subset of b1 st
for b4 being Nat holds b2 . b4 = b3 );

registration
let c1 be set ;
cluster V152 -> non empty descending ascending convergent M6( NAT , bool a1);
coherence
for b1 being SetSequence of c1 st b1 is constant holds
( b1 is convergent & b1 is ascending & b1 is descending )
proof end;
end;

registration
let c1 be set ;
cluster non empty V152 descending ascending convergent M6( NAT , bool a1);
existence
ex b1 being SetSequence of c1 st
( b1 is constant & not b1 is empty )
proof end;
end;

definition
let c1 be set ;
let c2 be convergent SetSequence of c1;
func Lim_K c2 -> Subset of a1 means :Def9: :: KURATO_2:def 9
( a3 = lim_sup a2 & a3 = lim_inf a2 );
existence
ex b1 being Subset of c1 st
( b1 = lim_sup c2 & b1 = lim_inf c2 )
proof end;
uniqueness
for b1, b2 being Subset of c1 st b1 = lim_sup c2 & b1 = lim_inf c2 & b2 = lim_sup c2 & b2 = lim_inf c2 holds
b1 = b2
;
end;

:: deftheorem Def9 defines Lim_K KURATO_2:def 9 :
for b1 being set
for b2 being convergent SetSequence of b1
for b3 being Subset of b1 holds
( b3 = Lim_K b2 iff ( b3 = lim_sup b2 & b3 = lim_inf b2 ) );

theorem Th28: :: KURATO_2:28
for b1 being set
for b2 being convergent SetSequence of b1
for b3 being set holds
( b3 in Lim_K b2 iff ex b4 being Nat st
for b5 being Nat holds b3 in b2 . (b4 + b5) )
proof end;

registration
let c1 be FinSequence of the carrier of (TOP-REAL 2);
cluster L~ a1 -> closed ;
coherence
L~ c1 is closed
by SPPOL_1:49;
end;

theorem Th29: :: KURATO_2:29
canceled;

theorem Th30: :: KURATO_2:30
for b1 being Nat
for b2 being Point of (Euclid b1)
for b3 being real number holds Ball b2,b3 is open Subset of (TOP-REAL b1)
proof end;

theorem Th31: :: KURATO_2:31
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4, b5 being Point of (Euclid b1) st b2 = b4 & b3 = b5 holds
dist b4,b5 = |.(b2 - b3).|
proof end;

theorem Th32: :: KURATO_2:32
for b1 being Nat
for b2 being Point of (Euclid b1)
for b3, b4 being Point of (TOP-REAL b1)
for b5 being real number st b2 = b4 & b3 in Ball b2,b5 holds
|.(b3 - b4).| < b5
proof end;

theorem Th33: :: KURATO_2:33
for b1 being Nat
for b2 being Point of (Euclid b1)
for b3, b4 being Point of (TOP-REAL b1)
for b5 being real number st b2 = b4 & |.(b3 - b4).| < b5 holds
b3 in Ball b2,b5
proof end;

theorem Th34: :: KURATO_2:34
for b1 being Nat
for b2 being Point of (TOP-REAL b1)
for b3 being Subset of (TOP-REAL b1) st b2 in Cl b3 holds
ex b4 being Real_Sequence of b1 st
( rng b4 c= b3 & b4 is convergent & lim b4 = b2 )
proof end;

registration
let c1 be non empty MetrSpace;
cluster TopSpaceMetr a1 -> first-countable ;
coherence
TopSpaceMetr c1 is first-countable
by FRECHET:21;
end;

registration
let c1 be Nat;
cluster TOP-REAL a1 -> first-countable ;
coherence
TOP-REAL c1 is first-countable
;
end;

theorem Th35: :: KURATO_2:35
for b1 being Nat
for b2 being Point of (Euclid b1)
for b3 being Point of (TOP-REAL b1)
for b4 being real number st b2 = b3 & b4 > 0 holds
Ball b2,b4 is a_neighborhood of b3
proof end;

theorem Th36: :: KURATO_2:36
for b1 being Nat
for b2 being Subset of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1)
for b4 being Point of (Euclid b1) st b3 = b4 holds
( b3 in Cl b2 iff for b5 being real number st b5 > 0 holds
Ball b4,b5 meets b2 )
proof end;

theorem Th37: :: KURATO_2:37
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1)
for b4 being Point of (Euclid b1) st b4 = b2 & b2 <> b3 holds
ex b5 being Real st not b3 in Ball b4,b5
proof end;

theorem Th38: :: KURATO_2:38
for b1 being Nat
for b2 being Subset of (TOP-REAL b1) holds
( not b2 is Bounded iff for b3 being Real st b3 > 0 holds
ex b4, b5 being Point of (Euclid b1) st
( b4 in b2 & b5 in b2 & dist b4,b5 > b3 ) )
proof end;

theorem Th39: :: KURATO_2:39
for b1 being Nat
for b2, b3 being real number
for b4, b5 being Point of (Euclid b1) st Ball b4,b2 meets Ball b5,b3 holds
dist b4,b5 < b2 + b3
proof end;

theorem Th40: :: KURATO_2:40
for b1 being Nat
for b2, b3, b4 being real number
for b5, b6, b7 being Point of (Euclid b1) st Ball b5,b2 meets Ball b7,b4 & Ball b7,b4 meets Ball b6,b3 holds
dist b5,b6 < (b2 + b3) + (2 * b4)
proof end;

theorem Th41: :: KURATO_2:41
for b1, b2 being non empty TopSpace
for b3 being Point of b1
for b4 being Point of b2
for b5 being Subset of [:b1,b2:] holds
( b5 is a_neighborhood of [:{b3},{b4}:] iff b5 is a_neighborhood of [b3,b4] )
proof end;

definition
let c1 be non empty set ;
let c2 be SetSequence of c1;
let c3 be Nat;
redefine func . as c2 . c3 -> Subset of a1;
coherence
c2 . c3 is Subset of c1
proof end;
end;

theorem Th42: :: KURATO_2:42
for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1
for b3 being Seq_of_Nat holds b2 * b3 is SetSequence of b1
proof end;

theorem Th43: :: KURATO_2:43
id NAT is increasing Seq_of_Nat
proof end;

registration
cluster id NAT -> real-yielding ;
coherence
id NAT is real-yielding
;
end;

Lemma35: for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1 ex b3 being increasing Seq_of_Nat st b2 = b2 * b3
proof end;

definition
let c1 be non empty 1-sorted ;
let c2 be SetSequence of the carrier of c1;
mode subsequence of c2 -> SetSequence of a1 means :Def10: :: KURATO_2:def 10
ex b1 being increasing Seq_of_Nat st a3 = a2 * b1;
existence
ex b1 being SetSequence of c1ex b2 being increasing Seq_of_Nat st b1 = c2 * b2
proof end;
end;

:: deftheorem Def10 defines subsequence KURATO_2:def 10 :
for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1
for b3 being SetSequence of b1 holds
( b3 is subsequence of b2 iff ex b4 being increasing Seq_of_Nat st b3 = b2 * b4 );

theorem Th44: :: KURATO_2:44
for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1 holds b2 is subsequence of b2
proof end;

theorem Th45: :: KURATO_2:45
for b1 being non empty 1-sorted
for b2 being SetSequence of b1
for b3 being subsequence of b2 holds rng b3 c= rng b2
proof end;

theorem Th46: :: KURATO_2:46
for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1
for b3 being subsequence of b2
for b4 being subsequence of b3 holds b4 is subsequence of b2
proof end;

theorem Th47: :: KURATO_2:47
for b1 being non empty 1-sorted
for b2, b3 being SetSequence of the carrier of b1
for b4 being Subset of b1 st b3 is subsequence of b2 & ( for b5 being Nat holds b2 . b5 = b4 ) holds
b3 = b2
proof end;

theorem Th48: :: KURATO_2:48
for b1 being non empty 1-sorted
for b2 being V152 SetSequence of b1
for b3 being subsequence of b2 holds b2 = b3
proof end;

theorem Th49: :: KURATO_2:49
for b1 being non empty 1-sorted
for b2 being SetSequence of the carrier of b1
for b3 being subsequence of b2
for b4 being Nat ex b5 being Nat st
( b5 >= b4 & b3 . b4 = b2 . b5 )
proof end;

registration
let c1 be non empty 1-sorted ;
let c2 be V152 SetSequence of c1;
cluster -> V152 subsequence of a2;
coherence
for b1 being subsequence of c2 holds b1 is constant
proof end;
end;

scheme :: KURATO_2:sch 2
s2{ F1() -> non empty TopSpace, F2() -> SetSequence of the carrier of F1(), P1[ set ] } :
ex b1 being subsequence of F2() st
for b2 being Nat holds P1[b1 . b2]
provided
E40: for b1 being Nat ex b2 being Nat st
( b1 <= b2 & P1[F2() . b2] )
proof end;

definition
let c1 be non empty TopSpace;
let c2 be SetSequence of the carrier of c1;
func Lim_inf c2 -> Subset of a1 means :Def11: :: KURATO_2:def 11
for b1 being Point of a1 holds
( b1 in a3 iff for b2 being a_neighborhood of b1 ex b3 being Nat st
for b4 being Nat st b4 > b3 holds
a2 . b4 meets b2 );
existence
ex b1 being Subset of c1 st
for b2 being Point of c1 holds
( b2 in b1 iff for b3 being a_neighborhood of b2 ex b4 being Nat st
for b5 being Nat st b5 > b4 holds
c2 . b5 meets b3 )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ( for b3 being Point of c1 holds
( b3 in b1 iff for b4 being a_neighborhood of b3 ex b5 being Nat st
for b6 being Nat st b6 > b5 holds
c2 . b6 meets b4 ) ) & ( for b3 being Point of c1 holds
( b3 in b2 iff for b4 being a_neighborhood of b3 ex b5 being Nat st
for b6 being Nat st b6 > b5 holds
c2 . b6 meets b4 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def11 defines Lim_inf KURATO_2:def 11 :
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1
for b3 being Subset of b1 holds
( b3 = Lim_inf b2 iff for b4 being Point of b1 holds
( b4 in b3 iff for b5 being a_neighborhood of b4 ex b6 being Nat st
for b7 being Nat st b7 > b6 holds
b2 . b7 meets b5 ) );

theorem Th50: :: KURATO_2:50
for b1 being Nat
for b2 being SetSequence of the carrier of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1)
for b4 being Point of (Euclid b1) st b3 = b4 holds
( b3 in Lim_inf b2 iff for b5 being real number st b5 > 0 holds
ex b6 being Nat st
for b7 being Nat st b7 > b6 holds
b2 . b7 meets Ball b4,b5 )
proof end;

theorem Th51: :: KURATO_2:51
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1 holds Cl (Lim_inf b2) = Lim_inf b2
proof end;

theorem Th52: :: KURATO_2:52
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1 holds Lim_inf b2 is closed
proof end;

theorem Th53: :: KURATO_2:53
for b1 being non empty TopSpace
for b2, b3 being SetSequence of the carrier of b1 st b2 is subsequence of b3 holds
Lim_inf b3 c= Lim_inf b2
proof end;

theorem Th54: :: KURATO_2:54
for b1 being non empty TopSpace
for b2, b3 being SetSequence of the carrier of b1 st ( for b4 being Nat holds b2 . b4 c= b3 . b4 ) holds
Lim_inf b2 c= Lim_inf b3
proof end;

theorem Th55: :: KURATO_2:55
for b1 being non empty TopSpace
for b2, b3, b4 being SetSequence of the carrier of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) \/ (b3 . b5) ) holds
(Lim_inf b2) \/ (Lim_inf b3) c= Lim_inf b4
proof end;

theorem Th56: :: KURATO_2:56
for b1 being non empty TopSpace
for b2, b3, b4 being SetSequence of the carrier of b1 st ( for b5 being Nat holds b4 . b5 = (b2 . b5) /\ (b3 . b5) ) holds
Lim_inf b4 c= (Lim_inf b2) /\ (Lim_inf b3)
proof end;

theorem Th57: :: KURATO_2:57
for b1 being non empty TopSpace
for b2, b3 being SetSequence of the carrier of b1 st ( for b4 being Nat holds b3 . b4 = Cl (b2 . b4) ) holds
Lim_inf b3 = Lim_inf b2
proof end;

theorem Th58: :: KURATO_2:58
for b1 being Nat
for b2 being SetSequence of the carrier of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1) st ex b4 being Real_Sequence of b1 st
( b4 is convergent & ( for b5 being Nat holds b4 . b5 in b2 . b5 ) & b3 = lim b4 ) holds
b3 in Lim_inf b2
proof end;

theorem Th59: :: KURATO_2:59
for b1 being non empty TopSpace
for b2 being Subset of b1
for b3 being SetSequence of the carrier of b1 st ( for b4 being Nat holds b3 . b4 c= b2 ) holds
Lim_inf b3 c= Cl b2
proof end;

theorem Th60: :: KURATO_2:60
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1
for b3 being Subset of b1 st ( for b4 being Nat holds b2 . b4 = b3 ) holds
Lim_inf b2 = Cl b3
proof end;

theorem Th61: :: KURATO_2:61
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1
for b3 being closed Subset of b1 st ( for b4 being Nat holds b2 . b4 = b3 ) holds
Lim_inf b2 = b3
proof end;

theorem Th62: :: KURATO_2:62
for b1 being Nat
for b2 being SetSequence of the carrier of (TOP-REAL b1)
for b3 being Subset of (TOP-REAL b1) st b3 is Bounded & ( for b4 being Nat holds b2 . b4 c= b3 ) holds
Lim_inf b2 is Bounded
proof end;

theorem Th63: :: KURATO_2:63
for b1 being SetSequence of the carrier of (TOP-REAL 2)
for b2 being Subset of (TOP-REAL 2) st b2 is Bounded & ( for b3 being Nat holds b1 . b3 c= b2 ) holds
Lim_inf b1 is compact
proof end;

theorem Th64: :: KURATO_2:64
for b1 being Nat
for b2, b3 being SetSequence of the carrier of (TOP-REAL b1)
for b4 being SetSequence of the carrier of [:(TOP-REAL b1),(TOP-REAL b1):] st ( for b5 being Nat holds b4 . b5 = [:(b2 . b5),(b3 . b5):] ) holds
[:(Lim_inf b2),(Lim_inf b3):] = Lim_inf b4
proof end;

theorem Th65: :: KURATO_2:65
for b1 being SetSequence of (TOP-REAL 2) holds lim_inf b1 c= Lim_inf b1
proof end;

theorem Th66: :: KURATO_2:66
for b1 being Simple_closed_curve
for b2 being Nat holds Fr ((UBD (L~ (Cage b1,b2))) ` ) = L~ (Cage b1,b2)
proof end;

definition
let c1 be non empty TopSpace;
let c2 be SetSequence of the carrier of c1;
func Lim_sup c2 -> Subset of a1 means :Def12: :: KURATO_2:def 12
for b1 being set holds
( b1 in a3 iff ex b2 being subsequence of a2 st b1 in Lim_inf b2 );
existence
ex b1 being Subset of c1 st
for b2 being set holds
( b2 in b1 iff ex b3 being subsequence of c2 st b2 in Lim_inf b3 )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ( for b3 being set holds
( b3 in b1 iff ex b4 being subsequence of c2 st b3 in Lim_inf b4 ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being subsequence of c2 st b3 in Lim_inf b4 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def12 defines Lim_sup KURATO_2:def 12 :
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1
for b3 being Subset of b1 holds
( b3 = Lim_sup b2 iff for b4 being set holds
( b4 in b3 iff ex b5 being subsequence of b2 st b4 in Lim_inf b5 ) );

theorem Th67: :: KURATO_2:67
for b1 being Nat
for b2 being sequence of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1)
for b4 being Point of (Euclid b1) st b3 = b4 holds
( b3 is_a_cluster_point_of b2 iff for b5 being real number
for b6 being Nat st b5 > 0 holds
ex b7 being Nat st
( b6 <= b7 & b2 . b7 in Ball b4,b5 ) )
proof end;

theorem Th68: :: KURATO_2:68
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1 holds Lim_inf b2 c= Lim_sup b2
proof end;

theorem Th69: :: KURATO_2:69
for b1, b2, b3 being SetSequence of the carrier of (TOP-REAL 2) st ( for b4 being Nat holds b1 . b4 c= b2 . b4 ) & b3 is subsequence of b1 holds
ex b4 being subsequence of b2 st
for b5 being Nat holds b3 . b5 c= b4 . b5
proof end;

theorem Th70: :: KURATO_2:70
for b1, b2, b3 being SetSequence of the carrier of (TOP-REAL 2) st ( for b4 being Nat holds b1 . b4 c= b2 . b4 ) & b3 is subsequence of b2 holds
ex b4 being subsequence of b1 st
for b5 being Nat holds b4 . b5 c= b3 . b5
proof end;

theorem Th71: :: KURATO_2:71
for b1, b2 being SetSequence of the carrier of (TOP-REAL 2) st ( for b3 being Nat holds b1 . b3 c= b2 . b3 ) holds
Lim_sup b1 c= Lim_sup b2
proof end;

theorem Th72: :: KURATO_2:72
for b1, b2, b3 being SetSequence of the carrier of (TOP-REAL 2) st ( for b4 being Nat holds b3 . b4 = (b1 . b4) \/ (b2 . b4) ) holds
(Lim_sup b1) \/ (Lim_sup b2) c= Lim_sup b3
proof end;

theorem Th73: :: KURATO_2:73
for b1, b2, b3 being SetSequence of the carrier of (TOP-REAL 2) st ( for b4 being Nat holds b3 . b4 = (b1 . b4) /\ (b2 . b4) ) holds
Lim_sup b3 c= (Lim_sup b1) /\ (Lim_sup b2)
proof end;

theorem Th74: :: KURATO_2:74
for b1, b2 being SetSequence of the carrier of (TOP-REAL 2)
for b3, b4 being SetSequence of the carrier of [:(TOP-REAL 2),(TOP-REAL 2):] st ( for b5 being Nat holds b3 . b5 = [:(b1 . b5),(b2 . b5):] ) & b4 is subsequence of b3 holds
ex b5, b6 being SetSequence of the carrier of (TOP-REAL 2) st
( b5 is subsequence of b1 & b6 is subsequence of b2 & ( for b7 being Nat holds b4 . b7 = [:(b5 . b7),(b6 . b7):] ) )
proof end;

theorem Th75: :: KURATO_2:75
for b1, b2 being SetSequence of the carrier of (TOP-REAL 2)
for b3 being SetSequence of the carrier of [:(TOP-REAL 2),(TOP-REAL 2):] st ( for b4 being Nat holds b3 . b4 = [:(b1 . b4),(b2 . b4):] ) holds
Lim_sup b3 c= [:(Lim_sup b1),(Lim_sup b2):]
proof end;

theorem Th76: :: KURATO_2:76
for b1 being non empty TopSpace
for b2 being SetSequence of the carrier of b1
for b3 being Subset of b1 st ( for b4 being Nat holds b2 . b4 = b3 ) holds
Lim_inf b2 = Lim_sup b2
proof end;

theorem Th77: :: KURATO_2:77
for b1 being SetSequence of the carrier of (TOP-REAL 2)
for b2 being Subset of (TOP-REAL 2) st ( for b3 being Nat holds b1 . b3 = b2 ) holds
Lim_sup b1 = Cl b2
proof end;

theorem Th78: :: KURATO_2:78
for b1, b2 being SetSequence of the carrier of (TOP-REAL 2) st ( for b3 being Nat holds b2 . b3 = Cl (b1 . b3) ) holds
Lim_sup b2 = Lim_sup b1
proof end;