:: SETLIM_1 semantic presentation

Lemma1: for b1, b2 being Nat holds
( not b1 <= b2 or b1 = b2 or b1 + 1 <= b2 )
proof end;

theorem Th1: :: SETLIM_1:1
for b1, b2 being set st b1 <> {} & ( for b3 being set st b3 in b1 holds
b3 = b2 ) holds
union b1 = b2
proof end;

theorem Th2: :: SETLIM_1:2
for b1, b2 being set st b1 <> {} & ( for b3 being set st b3 in b1 holds
b3 = b2 ) holds
meet b1 = b2
proof end;

theorem Th3: :: SETLIM_1:3
for b1 being set
for b2 being Function of NAT ,b1
for b3 being Nat holds { (b2 . b4) where B is Nat : b3 <= b4 } <> {}
proof end;

theorem Th4: :: SETLIM_1:4
for b1, b2 being Nat
for b3 being set
for b4 being Function of NAT ,b3 holds b4 . (b1 + b2) in { (b4 . b5) where B is Nat : b1 <= b5 }
proof end;

theorem Th5: :: SETLIM_1:5
for b1 being Nat
for b2 being set
for b3 being Function of NAT ,b2 holds { (b3 . b4) where B is Nat : b1 <= b4 } = { (b3 . b4) where B is Nat : b1 + 1 <= b4 } \/ {(b3 . b1)}
proof end;

theorem Th6: :: SETLIM_1:6
for b1 being Nat
for b2, b3 being set
for b4 being Function of NAT ,b2 holds
( ( for b5 being Nat holds b3 in b4 . (b1 + b5) ) iff for b5 being set st b5 in { (b4 . b6) where B is Nat : b1 <= b6 } holds
b3 in b5 )
proof end;

theorem Th7: :: SETLIM_1:7
for b1 being set
for b2 being non empty set
for b3 being Function of NAT ,b2 holds
( b1 in rng b3 iff ex b4 being Nat st b1 = b3 . b4 )
proof end;

theorem Th8: :: SETLIM_1:8
for b1, b2 being non empty set
for b3 being Function of b1,b2 holds
( rng b3 <> {} & b3 <> {} )
proof end;

theorem Th9: :: SETLIM_1:9
for b1 being non empty set
for b2 being Function of NAT ,b1 holds rng b2 = { (b2 . b3) where B is Nat : 0 <= b3 }
proof end;

theorem Th10: :: SETLIM_1:10
for b1 being Nat
for b2 being non empty set
for b3 being Function of NAT ,b2 holds rng (b3 ^\ b1) = { (b3 . b4) where B is Nat : b1 <= b4 }
proof end;

theorem Th11: :: SETLIM_1:11
canceled;

theorem Th12: :: SETLIM_1:12
for b1, b2 being set
for b3 being SetSequence of b1 holds
( b2 in meet (rng b3) iff for b4 being Nat holds b2 in b3 . b4 )
proof end;

theorem Th13: :: SETLIM_1:13
for b1 being set
for b2 being SetSequence of b1 holds Intersection b2 = meet (rng b2)
proof end;

theorem Th14: :: SETLIM_1:14
for b1 being set
for b2 being SetSequence of b1 holds Intersection b2 c= Union b2
proof end;

theorem Th15: :: SETLIM_1:15
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st ( for b4 being Nat holds b3 . b4 = b2 ) holds
Union b3 = b2
proof end;

theorem Th16: :: SETLIM_1:16
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st ( for b4 being Nat holds b3 . b4 = b2 ) holds
Intersection b3 = b2
proof end;

theorem Th17: :: SETLIM_1:17
for b1 being set
for b2 being SetSequence of b1 st b2 is constant holds
Union b2 = Intersection b2
proof end;

Lemma16: for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
for b4 being Nat holds
( b3 . b4 = b2 & Union b3 = b2 & Intersection b3 = b2 )
proof end;

theorem Th18: :: SETLIM_1:18
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
for b4 being Nat holds union { (b3 . b5) where B is Nat : b4 <= b5 } = b2
proof end;

theorem Th19: :: SETLIM_1:19
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
for b4 being Nat holds meet { (b3 . b5) where B is Nat : b4 <= b5 } = b2
proof end;

theorem Th20: :: SETLIM_1:20
for b1 being set
for b2 being SetSequence of b1 ex b3 being Function of NAT , bool b1 st
for b4 being Nat
for b5 being set st b5 = { (b2 . b6) where B is Nat : b4 <= b6 } holds
b3 . b4 = meet b5
proof end;

theorem Th21: :: SETLIM_1:21
for b1 being set
for b2 being SetSequence of b1 ex b3 being Function of NAT , bool b1 st
for b4 being Nat
for b5 being set st b5 = { (b2 . b6) where B is Nat : b4 <= b6 } holds
b3 . b4 = union b5
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
attr a2 is monotone means :Def1: :: SETLIM_1:def 1
( a2 is non-decreasing or a2 is non-increasing );
end;

:: deftheorem Def1 defines monotone SETLIM_1:def 1 :
for b1 being set
for b2 being SetSequence of b1 holds
( b2 is monotone iff ( b2 is non-decreasing or b2 is non-increasing ) );

definition
let c1 be set ;
let c2 be SetSequence of c1;
func inferior_setsequence c2 -> SetSequence of a1 means :Def2: :: SETLIM_1:def 2
for b1 being Nat
for b2 being set st b2 = { (a2 . b3) where B is Nat : b1 <= b3 } holds
a3 . b1 = meet b2;
existence
ex b1 being SetSequence of c1 st
for b2 being Nat
for b3 being set st b3 = { (c2 . b4) where B is Nat : b2 <= b4 } holds
b1 . b2 = meet b3
by Th20;
uniqueness
for b1, b2 being SetSequence of c1 st ( for b3 being Nat
for b4 being set st b4 = { (c2 . b5) where B is Nat : b3 <= b5 } holds
b1 . b3 = meet b4 ) & ( for b3 being Nat
for b4 being set st b4 = { (c2 . b5) where B is Nat : b3 <= b5 } holds
b2 . b3 = meet b4 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines inferior_setsequence SETLIM_1:def 2 :
for b1 being set
for b2, b3 being SetSequence of b1 holds
( b3 = inferior_setsequence b2 iff for b4 being Nat
for b5 being set st b5 = { (b2 . b6) where B is Nat : b4 <= b6 } holds
b3 . b4 = meet b5 );

definition
let c1 be set ;
let c2 be SetSequence of c1;
func superior_setsequence c2 -> SetSequence of a1 means :Def3: :: SETLIM_1:def 3
for b1 being Nat
for b2 being set st b2 = { (a2 . b3) where B is Nat : b1 <= b3 } holds
a3 . b1 = union b2;
existence
ex b1 being SetSequence of c1 st
for b2 being Nat
for b3 being set st b3 = { (c2 . b4) where B is Nat : b2 <= b4 } holds
b1 . b2 = union b3
by Th21;
uniqueness
for b1, b2 being SetSequence of c1 st ( for b3 being Nat
for b4 being set st b4 = { (c2 . b5) where B is Nat : b3 <= b5 } holds
b1 . b3 = union b4 ) & ( for b3 being Nat
for b4 being set st b4 = { (c2 . b5) where B is Nat : b3 <= b5 } holds
b2 . b3 = union b4 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines superior_setsequence SETLIM_1:def 3 :
for b1 being set
for b2, b3 being SetSequence of b1 holds
( b3 = superior_setsequence b2 iff for b4 being Nat
for b5 being set st b5 = { (b2 . b6) where B is Nat : b4 <= b6 } holds
b3 . b4 = union b5 );

theorem Th22: :: SETLIM_1:22
for b1 being set
for b2 being SetSequence of b1 holds (inferior_setsequence b2) . 0 = Intersection b2
proof end;

theorem Th23: :: SETLIM_1:23
for b1 being set
for b2 being SetSequence of b1 holds (superior_setsequence b2) . 0 = Union b2
proof end;

theorem Th24: :: SETLIM_1:24
for b1 being Nat
for b2, b3 being set
for b4 being SetSequence of b2 holds
( b3 in (inferior_setsequence b4) . b1 iff for b5 being Nat holds b3 in b4 . (b1 + b5) )
proof end;

theorem Th25: :: SETLIM_1:25
for b1 being Nat
for b2, b3 being set
for b4 being SetSequence of b2 holds
( b3 in (superior_setsequence b4) . b1 iff ex b5 being Nat st b3 in b4 . (b1 + b5) )
proof end;

theorem Th26: :: SETLIM_1:26
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds (inferior_setsequence b3) . b1 = ((inferior_setsequence b3) . (b1 + 1)) /\ (b3 . b1)
proof end;

theorem Th27: :: SETLIM_1:27
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds (superior_setsequence b3) . b1 = ((superior_setsequence b3) . (b1 + 1)) \/ (b3 . b1)
proof end;

theorem Th28: :: SETLIM_1:28
for b1 being set
for b2 being SetSequence of b1 holds inferior_setsequence b2 is non-decreasing
proof end;

theorem Th29: :: SETLIM_1:29
for b1 being set
for b2 being SetSequence of b1 holds superior_setsequence b2 is non-increasing
proof end;

theorem Th30: :: SETLIM_1:30
for b1 being set
for b2 being SetSequence of b1 holds
( inferior_setsequence b2 is monotone & superior_setsequence b2 is monotone )
proof end;

registration
let c1 be set ;
let c2 be SetSequence of c1;
cluster inferior_setsequence a2 -> non-decreasing ;
coherence
inferior_setsequence c2 is non-decreasing
by Th28;
end;

registration
let c1 be set ;
let c2 be SetSequence of c1;
cluster superior_setsequence a2 -> non-increasing ;
coherence
superior_setsequence c2 is non-increasing
by Th29;
end;

theorem Th31: :: SETLIM_1:31
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds Intersection b3 c= (inferior_setsequence b3) . b1
proof end;

theorem Th32: :: SETLIM_1:32
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds (superior_setsequence b3) . b1 c= Union b3
proof end;

theorem Th33: :: SETLIM_1:33
for b1 being set
for b2 being SetSequence of b1
for b3 being Nat holds { (b2 . b4) where B is Nat : b3 <= b4 } is Subset-Family of b1
proof end;

theorem Th34: :: SETLIM_1:34
canceled;

theorem Th35: :: SETLIM_1:35
for b1 being set
for b2 being SetSequence of b1 holds Union b2 = (Intersection (Complement b2)) `
proof end;

theorem Th36: :: SETLIM_1:36
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds (inferior_setsequence b3) . b1 = ((superior_setsequence (Complement b3)) . b1) `
proof end;

theorem Th37: :: SETLIM_1:37
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 holds (superior_setsequence b3) . b1 = ((inferior_setsequence (Complement b3)) . b1) `
proof end;

theorem Th38: :: SETLIM_1:38
for b1 being set
for b2 being SetSequence of b1 holds Complement (inferior_setsequence b2) = superior_setsequence (Complement b2)
proof end;

theorem Th39: :: SETLIM_1:39
for b1 being set
for b2 being SetSequence of b1 holds Complement (superior_setsequence b2) = inferior_setsequence (Complement b2)
proof end;

theorem Th40: :: SETLIM_1:40
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b2 . b5 = (b3 . b5) \/ (b4 . b5) ) holds
for b5 being Nat holds ((inferior_setsequence b3) . b5) \/ ((inferior_setsequence b4) . b5) c= (inferior_setsequence b2) . b5
proof end;

theorem Th41: :: SETLIM_1:41
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b2 . b5 = (b3 . b5) /\ (b4 . b5) ) holds
for b5 being Nat holds (inferior_setsequence b2) . b5 = ((inferior_setsequence b3) . b5) /\ ((inferior_setsequence b4) . b5)
proof end;

theorem Th42: :: SETLIM_1:42
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b2 . b5 = (b3 . b5) \/ (b4 . b5) ) holds
for b5 being Nat holds (superior_setsequence b2) . b5 = ((superior_setsequence b3) . b5) \/ ((superior_setsequence b4) . b5)
proof end;

theorem Th43: :: SETLIM_1:43
for b1 being set
for b2, b3, b4 being SetSequence of b1 st ( for b5 being Nat holds b2 . b5 = (b3 . b5) /\ (b4 . b5) ) holds
for b5 being Nat holds (superior_setsequence b2) . b5 c= ((superior_setsequence b3) . b5) /\ ((superior_setsequence b4) . b5)
proof end;

theorem Th44: :: SETLIM_1:44
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
for b4 being Nat holds (inferior_setsequence b3) . b4 = b2
proof end;

theorem Th45: :: SETLIM_1:45
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
for b4 being Nat holds (superior_setsequence b3) . b4 = b2
proof end;

theorem Th46: :: SETLIM_1:46
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-decreasing holds
b3 . b1 c= (superior_setsequence b3) . (b1 + 1)
proof end;

theorem Th47: :: SETLIM_1:47
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-decreasing holds
(superior_setsequence b3) . b1 = (superior_setsequence b3) . (b1 + 1)
proof end;

theorem Th48: :: SETLIM_1:48
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-decreasing holds
(superior_setsequence b3) . b1 = Union b3
proof end;

theorem Th49: :: SETLIM_1:49
for b1 being set
for b2 being SetSequence of b1 st b2 is non-decreasing holds
Intersection (superior_setsequence b2) = Union b2
proof end;

theorem Th50: :: SETLIM_1:50
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-decreasing holds
b3 . b1 c= (inferior_setsequence b3) . (b1 + 1)
proof end;

theorem Th51: :: SETLIM_1:51
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-decreasing holds
(inferior_setsequence b3) . b1 = b3 . b1
proof end;

theorem Th52: :: SETLIM_1:52
for b1 being set
for b2 being SetSequence of b1 st b2 is non-decreasing holds
inferior_setsequence b2 = b2
proof end;

theorem Th53: :: SETLIM_1:53
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-increasing holds
(superior_setsequence b3) . (b1 + 1) c= b3 . b1
proof end;

theorem Th54: :: SETLIM_1:54
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-increasing holds
(superior_setsequence b3) . b1 = b3 . b1
proof end;

theorem Th55: :: SETLIM_1:55
for b1 being set
for b2 being SetSequence of b1 st b2 is non-increasing holds
superior_setsequence b2 = b2
proof end;

theorem Th56: :: SETLIM_1:56
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-increasing holds
(inferior_setsequence b3) . (b1 + 1) c= b3 . b1
proof end;

theorem Th57: :: SETLIM_1:57
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-increasing holds
(inferior_setsequence b3) . b1 = (inferior_setsequence b3) . (b1 + 1)
proof end;

theorem Th58: :: SETLIM_1:58
for b1 being Nat
for b2 being set
for b3 being SetSequence of b2 st b3 is non-increasing holds
(inferior_setsequence b3) . b1 = Intersection b3
proof end;

theorem Th59: :: SETLIM_1:59
for b1 being set
for b2 being SetSequence of b1 st b2 is non-increasing holds
Union (inferior_setsequence b2) = Intersection b2
proof end;

definition
let c1 be set ;
let c2 be SetSequence of c1;
redefine func lim_inf c2 -> Element of bool a1 equals :: SETLIM_1:def 4
Union (inferior_setsequence a2);
compatibility
for b1 being Element of bool c1 holds
( b1 = lim_inf c2 iff b1 = Union (inferior_setsequence c2) )
proof end;
end;

:: deftheorem Def4 defines lim_inf SETLIM_1:def 4 :
for b1 being set
for b2 being SetSequence of b1 holds lim_inf b2 = Union (inferior_setsequence b2);

definition
let c1 be set ;
let c2 be SetSequence of c1;
redefine func lim_sup c2 -> Element of bool a1 equals :: SETLIM_1:def 5
Intersection (superior_setsequence a2);
compatibility
for b1 being Element of bool c1 holds
( b1 = lim_sup c2 iff b1 = Intersection (superior_setsequence c2) )
proof end;
end;

:: deftheorem Def5 defines lim_sup SETLIM_1:def 5 :
for b1 being set
for b2 being SetSequence of b1 holds lim_sup b2 = Intersection (superior_setsequence b2);

definition
let c1 be set ;
let c2 be SetSequence of c1;
assume E51: c2 is convergent ;
func lim c2 -> Subset of a1 means :Def6: :: SETLIM_1:def 6
( 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 Def6 defines lim SETLIM_1:def 6 :
for b1 being set
for b2 being SetSequence of b1 st b2 is convergent holds
for b3 being Subset of b1 holds
( b3 = lim b2 iff ( b3 = lim_sup b2 & b3 = lim_inf b2 ) );

theorem Th60: :: SETLIM_1:60
for b1 being set
for b2 being SetSequence of b1 holds Intersection b2 c= lim_inf b2
proof end;

theorem Th61: :: SETLIM_1:61
for b1 being set
for b2 being SetSequence of b1 holds lim_inf b2 = lim (inferior_setsequence b2)
proof end;

theorem Th62: :: SETLIM_1:62
for b1 being set
for b2 being SetSequence of b1 holds lim_sup b2 = lim (superior_setsequence b2)
proof end;

theorem Th63: :: SETLIM_1:63
for b1 being set
for b2 being SetSequence of b1 holds lim_sup b2 = (lim_inf (Complement b2)) `
proof end;

theorem Th64: :: SETLIM_1:64
for b1 being set
for b2 being Subset of b1
for b3 being SetSequence of b1 st b3 is constant & the_value_of b3 = b2 holds
( b3 is convergent & lim b3 = b2 & lim_inf b3 = b2 & lim_sup b3 = b2 )
proof end;

theorem Th65: :: SETLIM_1:65
for b1 being set
for b2 being SetSequence of b1 st b2 is non-decreasing holds
lim_sup b2 = Union b2 by Th49;

theorem Th66: :: SETLIM_1:66
for b1 being set
for b2 being SetSequence of b1 st b2 is non-decreasing holds
lim_inf b2 = Union b2 by Th52;

theorem Th67: :: SETLIM_1:67
for b1 being set
for b2 being SetSequence of b1 st b2 is non-increasing holds
lim_sup b2 = Intersection b2 by Th55;

theorem Th68: :: SETLIM_1:68
for b1 being set
for b2 being SetSequence of b1 st b2 is non-increasing holds
lim_inf b2 = Intersection b2 by Th59;

theorem Th69: :: SETLIM_1:69
for b1 being set
for b2 being SetSequence of b1 st b2 is non-decreasing holds
( b2 is convergent & lim b2 = Union b2 )
proof end;

theorem Th70: :: SETLIM_1:70
for b1 being set
for b2 being SetSequence of b1 st b2 is non-increasing holds
( b2 is convergent & lim b2 = Intersection b2 )
proof end;

theorem Th71: :: SETLIM_1:71
for b1 being set
for b2 being SetSequence of b1 st b2 is monotone holds
b2 is convergent
proof end;

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
redefine attr constant as a3 is constant means :: SETLIM_1:def 7
ex b1 being Element of a2 st
for b2 being Nat holds a3 . b2 = b1;
compatibility
( c3 is constant iff ex b1 being Element of c2 st
for b2 being Nat holds c3 . b2 = b1 )
proof end;
end;

:: deftheorem Def7 defines constant SETLIM_1:def 7 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds
( b3 is constant iff ex b4 being Element of b2 st
for b5 being Nat holds b3 . b5 = b4 );

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
func @inferior_setsequence c3 -> SetSequence of a2 equals :: SETLIM_1:def 8
inferior_setsequence a3;
coherence
inferior_setsequence c3 is SetSequence of c2
proof end;
end;

:: deftheorem Def8 defines @inferior_setsequence SETLIM_1:def 8 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds @inferior_setsequence b3 = inferior_setsequence b3;

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
func @superior_setsequence c3 -> SetSequence of a2 equals :: SETLIM_1:def 9
superior_setsequence a3;
coherence
superior_setsequence c3 is SetSequence of c2
proof end;
end;

:: deftheorem Def9 defines @superior_setsequence SETLIM_1:def 9 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds @superior_setsequence b3 = superior_setsequence b3;

theorem Th72: :: SETLIM_1:72
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds @superior_setsequence b3 is non-increasing ;

theorem Th73: :: SETLIM_1:73
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds @inferior_setsequence b3 is non-decreasing ;

registration
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
cluster @superior_setsequence a3 -> non-increasing ;
coherence
@superior_setsequence c3 is non-increasing
;
end;

registration
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
cluster @inferior_setsequence a3 -> non-decreasing ;
coherence
@inferior_setsequence c3 is non-decreasing
;
end;

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
func lim_inf c3 -> Element of a2 equals :: SETLIM_1:def 10
Union (@inferior_setsequence a3);
coherence
Union (@inferior_setsequence c3) is Element of c2
by PROB_1:46;
end;

:: deftheorem Def10 defines lim_inf SETLIM_1:def 10 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_inf b3 = Union (@inferior_setsequence b3);

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
func lim_sup c3 -> Element of a2 equals :: SETLIM_1:def 11
Intersection (@superior_setsequence a3);
coherence
Intersection (@superior_setsequence c3) is Element of c2
proof end;
end;

:: deftheorem Def11 defines lim_sup SETLIM_1:def 11 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_sup b3 = Intersection (@superior_setsequence b3);

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
attr a3 is convergent means :Def12: :: SETLIM_1:def 12
lim_sup a3 = lim_inf a3;
end;

:: deftheorem Def12 defines convergent SETLIM_1:def 12 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds
( b3 is convergent iff lim_sup b3 = lim_inf b3 );

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
assume E60: c3 is convergent ;
func lim c3 -> Element of a2 means :Def13: :: SETLIM_1:def 13
( a4 = lim_sup a3 & a4 = lim_inf a3 );
existence
ex b1 being Element of c2 st
( b1 = lim_sup c3 & b1 = lim_inf c3 )
proof end;
uniqueness
for b1, b2 being Element of c2 st b1 = lim_sup c3 & b1 = lim_inf c3 & b2 = lim_sup c3 & b2 = lim_inf c3 holds
b1 = b2
;
end;

:: deftheorem Def13 defines lim SETLIM_1:def 13 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is convergent holds
for b4 being Element of b2 holds
( b4 = lim b3 iff ( b4 = lim_sup b3 & b4 = lim_inf b3 ) );

theorem Th74: :: SETLIM_1:74
for b1, b2 being set
for b3 being SigmaField of b1
for b4 being SetSequence of b3 holds
( b2 in lim_sup b4 iff for b5 being Nat ex b6 being Nat st b2 in b4 . (b5 + b6) )
proof end;

theorem Th75: :: SETLIM_1:75
for b1, b2 being set
for b3 being SigmaField of b1
for b4 being SetSequence of b3 holds
( b2 in lim_inf b4 iff ex b5 being Nat st
for b6 being Nat holds b2 in b4 . (b5 + b6) )
proof end;

theorem Th76: :: SETLIM_1:76
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds Intersection b3 c= lim_inf b3
proof end;

theorem Th77: :: SETLIM_1:77
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_sup b3 c= Union b3
proof end;

theorem Th78: :: SETLIM_1:78
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_inf b3 c= lim_sup b3
proof end;

definition
let c1 be set ;
let c2 be SigmaField of c1;
let c3 be SetSequence of c2;
func @Complement c3 -> SetSequence of a2 equals :: SETLIM_1:def 14
Complement a3;
coherence
Complement c3 is SetSequence of c2
proof end;
end;

:: deftheorem Def14 defines @Complement SETLIM_1:def 14 :
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds @Complement b3 = Complement b3;

theorem Th79: :: SETLIM_1:79
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_inf b3 = (lim_sup (@Complement b3)) `
proof end;

theorem Th80: :: SETLIM_1:80
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 holds lim_sup b3 = (lim_inf (@Complement b3)) `
proof end;

theorem Th81: :: SETLIM_1:81
for b1 being set
for b2 being SigmaField of b1
for b3, b4, b5 being SetSequence of b2 st ( for b6 being Nat holds b3 . b6 = (b4 . b6) \/ (b5 . b6) ) holds
(lim_inf b4) \/ (lim_inf b5) c= lim_inf b3
proof end;

theorem Th82: :: SETLIM_1:82
for b1 being set
for b2 being SigmaField of b1
for b3, b4, b5 being SetSequence of b2 st ( for b6 being Nat holds b3 . b6 = (b4 . b6) /\ (b5 . b6) ) holds
lim_inf b3 = (lim_inf b4) /\ (lim_inf b5)
proof end;

theorem Th83: :: SETLIM_1:83
for b1 being set
for b2 being SigmaField of b1
for b3, b4, b5 being SetSequence of b2 st ( for b6 being Nat holds b3 . b6 = (b4 . b6) \/ (b5 . b6) ) holds
lim_sup b3 = (lim_sup b4) \/ (lim_sup b5)
proof end;

theorem Th84: :: SETLIM_1:84
for b1 being set
for b2 being SigmaField of b1
for b3, b4, b5 being SetSequence of b2 st ( for b6 being Nat holds b3 . b6 = (b4 . b6) /\ (b5 . b6) ) holds
lim_sup b3 c= (lim_sup b4) /\ (lim_sup b5)
proof end;

theorem Th85: :: SETLIM_1:85
for b1 being set
for b2 being Subset of b1
for b3 being SigmaField of b1
for b4 being SetSequence of b3 st b4 is constant & the_value_of b4 = b2 holds
( b4 is convergent & lim b4 = b2 & lim_inf b4 = b2 & lim_sup b4 = b2 )
proof end;

theorem Th86: :: SETLIM_1:86
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-decreasing holds
lim_sup b3 = Union b3
proof end;

theorem Th87: :: SETLIM_1:87
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-decreasing holds
lim_inf b3 = Union b3
proof end;

theorem Th88: :: SETLIM_1:88
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-decreasing holds
( b3 is convergent & lim b3 = Union b3 )
proof end;

theorem Th89: :: SETLIM_1:89
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-increasing holds
lim_sup b3 = Intersection b3
proof end;

theorem Th90: :: SETLIM_1:90
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-increasing holds
lim_inf b3 = Intersection b3
proof end;

theorem Th91: :: SETLIM_1:91
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is non-increasing holds
( b3 is convergent & lim b3 = Intersection b3 )
proof end;

theorem Th92: :: SETLIM_1:92
for b1 being set
for b2 being SigmaField of b1
for b3 being SetSequence of b2 st b3 is monotone holds
b3 is convergent
proof end;