:: SUPINF_2 semantic presentation

definition
func 0. -> R_eal equals :: SUPINF_2:def 1
0;
correctness
coherence
0 is R_eal
;
by SUPINF_1:10;
end;

:: deftheorem Def1 defines 0. SUPINF_2:def 1 :
0. = 0;

definition
let c1, c2 be R_eal;
func c1 + c2 -> R_eal means :Def2: :: SUPINF_2:def 2
ex b1, b2 being Real st
( a1 = b1 & a2 = b2 & a3 = b1 + b2 ) if ( a1 in REAL & a2 in REAL )
a3 = +infty if ( ( a1 = +infty & a2 <> -infty ) or ( a2 = +infty & a1 <> -infty ) )
a3 = -infty if ( ( a1 = -infty & a2 <> +infty ) or ( a2 = -infty & a1 <> +infty ) )
otherwise a3 = 0. ;
existence
( ( c1 in REAL & c2 in REAL implies ex b1 being R_ealex b2, b3 being Real st
( c1 = b2 & c2 = b3 & b1 = b2 + b3 ) ) & ( ( ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) ) implies ex b1 being R_eal st b1 = +infty ) & ( ( ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) ) implies ex b1 being R_eal st b1 = -infty ) & ( ( c1 in REAL & c2 in REAL ) or ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) or ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) or ex b1 being R_eal st b1 = 0. ) )
proof end;
uniqueness
for b1, b2 being R_eal holds
( ( c1 in REAL & c2 in REAL & ex b3, b4 being Real st
( c1 = b3 & c2 = b4 & b1 = b3 + b4 ) & ex b3, b4 being Real st
( c1 = b3 & c2 = b4 & b2 = b3 + b4 ) implies b1 = b2 ) & ( ( ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) ) & b1 = +infty & b2 = +infty implies b1 = b2 ) & ( ( ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) ) & b1 = -infty & b2 = -infty implies b1 = b2 ) & ( ( c1 in REAL & c2 in REAL ) or ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) or ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) or not b1 = 0. or not b2 = 0. or b1 = b2 ) )
;
consistency
for b1 being R_eal holds
( ( c1 in REAL & c2 in REAL & ( ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) ) implies ( ex b2, b3 being Real st
( c1 = b2 & c2 = b3 & b1 = b2 + b3 ) iff b1 = +infty ) ) & ( c1 in REAL & c2 in REAL & ( ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) ) implies ( ex b2, b3 being Real st
( c1 = b2 & c2 = b3 & b1 = b2 + b3 ) iff b1 = -infty ) ) & ( ( ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) ) & ( ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) ) implies ( b1 = +infty iff b1 = -infty ) ) )
by SUPINF_1:6;
commutativity
for b1, b2, b3 being R_eal st ( b2 in REAL & b3 in REAL implies ex b4, b5 being Real st
( b2 = b4 & b3 = b5 & b1 = b4 + b5 ) ) & ( ( ( b2 = +infty & b3 <> -infty ) or ( b3 = +infty & b2 <> -infty ) ) implies b1 = +infty ) & ( ( ( b2 = -infty & b3 <> +infty ) or ( b3 = -infty & b2 <> +infty ) ) implies b1 = -infty ) & ( ( b2 in REAL & b3 in REAL ) or ( b2 = +infty & b3 <> -infty ) or ( b3 = +infty & b2 <> -infty ) or ( b2 = -infty & b3 <> +infty ) or ( b3 = -infty & b2 <> +infty ) or b1 = 0. ) holds
( ( b3 in REAL & b2 in REAL implies ex b4, b5 being Real st
( b3 = b4 & b2 = b5 & b1 = b4 + b5 ) ) & ( ( ( b3 = +infty & b2 <> -infty ) or ( b2 = +infty & b3 <> -infty ) ) implies b1 = +infty ) & ( ( ( b3 = -infty & b2 <> +infty ) or ( b2 = -infty & b3 <> +infty ) ) implies b1 = -infty ) & ( ( b3 in REAL & b2 in REAL ) or ( b3 = +infty & b2 <> -infty ) or ( b2 = +infty & b3 <> -infty ) or ( b3 = -infty & b2 <> +infty ) or ( b2 = -infty & b3 <> +infty ) or b1 = 0. ) )
;
end;

:: deftheorem Def2 defines + SUPINF_2:def 2 :
for b1, b2, b3 being R_eal holds
( ( b1 in REAL & b2 in REAL implies ( b3 = b1 + b2 iff ex b4, b5 being Real st
( b1 = b4 & b2 = b5 & b3 = b4 + b5 ) ) ) & ( ( ( b1 = +infty & b2 <> -infty ) or ( b2 = +infty & b1 <> -infty ) ) implies ( b3 = b1 + b2 iff b3 = +infty ) ) & ( ( ( b1 = -infty & b2 <> +infty ) or ( b2 = -infty & b1 <> +infty ) ) implies ( b3 = b1 + b2 iff b3 = -infty ) ) & ( ( b1 in REAL & b2 in REAL ) or ( b1 = +infty & b2 <> -infty ) or ( b2 = +infty & b1 <> -infty ) or ( b1 = -infty & b2 <> +infty ) or ( b2 = -infty & b1 <> +infty ) or ( b3 = b1 + b2 iff b3 = 0. ) ) );

theorem Th1: :: SUPINF_2:1
for b1, b2 being R_eal
for b3, b4 being Real st b1 = b3 & b2 = b4 holds
b1 + b2 = b3 + b4
proof end;

theorem Th2: :: SUPINF_2:2
for b1 being R_eal holds
( b1 in REAL or b1 = +infty or b1 = -infty )
proof end;

definition
let c1 be R_eal;
func - c1 -> R_eal means :Def3: :: SUPINF_2:def 3
ex b1 being Real st
( a1 = b1 & a2 = - b1 ) if a1 in REAL
a2 = -infty if a1 = +infty
otherwise a2 = +infty ;
existence
( ( c1 in REAL implies ex b1 being R_ealex b2 being Real st
( c1 = b2 & b1 = - b2 ) ) & ( c1 = +infty implies ex b1 being R_eal st b1 = -infty ) & ( not c1 in REAL & not c1 = +infty implies ex b1 being R_eal st b1 = +infty ) )
proof end;
uniqueness
for b1, b2 being R_eal holds
( ( c1 in REAL & ex b3 being Real st
( c1 = b3 & b1 = - b3 ) & ex b3 being Real st
( c1 = b3 & b2 = - b3 ) implies b1 = b2 ) & ( c1 = +infty & b1 = -infty & b2 = -infty implies b1 = b2 ) & ( not c1 in REAL & not c1 = +infty & b1 = +infty & b2 = +infty implies b1 = b2 ) )
;
consistency
for b1 being R_eal st c1 in REAL & c1 = +infty holds
( ex b2 being Real st
( c1 = b2 & b1 = - b2 ) iff b1 = -infty )
;
involutiveness
for b1, b2 being R_eal st ( b2 in REAL implies ex b3 being Real st
( b2 = b3 & b1 = - b3 ) ) & ( b2 = +infty implies b1 = -infty ) & ( not b2 in REAL & not b2 = +infty implies b1 = +infty ) holds
( ( b1 in REAL implies ex b3 being Real st
( b1 = b3 & b2 = - b3 ) ) & ( b1 = +infty implies b2 = -infty ) & ( not b1 in REAL & not b1 = +infty implies b2 = +infty ) )
proof end;
end;

:: deftheorem Def3 defines - SUPINF_2:def 3 :
for b1, b2 being R_eal holds
( ( b1 in REAL implies ( b2 = - b1 iff ex b3 being Real st
( b1 = b3 & b2 = - b3 ) ) ) & ( b1 = +infty implies ( b2 = - b1 iff b2 = -infty ) ) & ( not b1 in REAL & not b1 = +infty implies ( b2 = - b1 iff b2 = +infty ) ) );

definition
let c1, c2 be R_eal;
func c1 - c2 -> R_eal equals :: SUPINF_2:def 4
a1 + (- a2);
coherence
c1 + (- c2) is R_eal
;
end;

:: deftheorem Def4 defines - SUPINF_2:def 4 :
for b1, b2 being R_eal holds b1 - b2 = b1 + (- b2);

theorem Th3: :: SUPINF_2:3
for b1 being R_eal
for b2 being Real st b1 = b2 holds
- b1 = - b2
proof end;

theorem Th4: :: SUPINF_2:4
- -infty = +infty by Def3, SUPINF_1:6, SUPINF_1:14;

theorem Th5: :: SUPINF_2:5
for b1, b2 being R_eal
for b3, b4 being Real st b1 = b3 & b2 = b4 holds
b1 - b2 = b3 - b4
proof end;

theorem Th6: :: SUPINF_2:6
for b1 being R_eal st b1 <> +infty holds
( +infty - b1 = +infty & b1 - +infty = -infty )
proof end;

theorem Th7: :: SUPINF_2:7
for b1 being R_eal st b1 <> -infty holds
( -infty - b1 = -infty & b1 - -infty = +infty )
proof end;

theorem Th8: :: SUPINF_2:8
for b1, b2 being R_eal holds
( not b1 + b2 = +infty or b1 = +infty or b2 = +infty )
proof end;

theorem Th9: :: SUPINF_2:9
for b1, b2 being R_eal holds
( not b1 + b2 = -infty or b1 = -infty or b2 = -infty )
proof end;

theorem Th10: :: SUPINF_2:10
for b1, b2 being R_eal holds
( not b1 - b2 = +infty or b1 = +infty or b2 = -infty )
proof end;

theorem Th11: :: SUPINF_2:11
for b1, b2 being R_eal holds
( not b1 - b2 = -infty or b1 = -infty or b2 = +infty )
proof end;

theorem Th12: :: SUPINF_2:12
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not b1 + b2 in REAL or ( b1 in REAL & b2 in REAL ) )
proof end;

theorem Th13: :: SUPINF_2:13
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or not b1 - b2 in REAL or ( b1 in REAL & b2 in REAL ) )
proof end;

theorem Th14: :: SUPINF_2:14
for b1, b2, b3, b4 being R_eal holds
( ( b1 = +infty & b3 = -infty ) or ( b1 = -infty & b3 = +infty ) or ( b2 = +infty & b4 = -infty ) or ( b2 = -infty & b4 = +infty ) or not b1 <=' b2 or not b3 <=' b4 or b1 + b3 <=' b2 + b4 )
proof end;

theorem Th15: :: SUPINF_2:15
for b1, b2, b3, b4 being R_eal holds
( ( b1 = +infty & b4 = +infty ) or ( b1 = -infty & b4 = -infty ) or ( b2 = +infty & b3 = +infty ) or ( b2 = -infty & b3 = -infty ) or not b1 <=' b2 or not b3 <=' b4 or b1 - b4 <=' b2 - b3 )
proof end;

Lemma17: for b1 being R_eal holds
( - b1 in REAL iff b1 in REAL )
proof end;

Lemma18: for b1, b2 being R_eal st b1 <=' b2 holds
- b2 <=' - b1
proof end;

theorem Th16: :: SUPINF_2:16
for b1, b2 being R_eal holds
( b1 <=' b2 iff - b2 <=' - b1 )
proof end;

theorem Th17: :: SUPINF_2:17
for b1, b2 being R_eal holds
( b1 <' b2 iff - b2 <' - b1 ) by Th16;

theorem Th18: :: SUPINF_2:18
for b1 being R_eal holds
( b1 + 0. = b1 & 0. + b1 = b1 )
proof end;

theorem Th19: :: SUPINF_2:19
( -infty <' 0. & 0. <' +infty )
proof end;

theorem Th20: :: SUPINF_2:20
for b1, b2, b3 being R_eal st 0. <=' b3 & 0. <=' b1 & b2 = b1 + b3 holds
b1 <=' b2
proof end;

Lemma22: for b1, b2, b3, b4 being R_eal st 0. <=' b1 & 0. <=' b3 & b1 <=' b2 & b3 <=' b4 holds
b1 + b3 <=' b2 + b4
proof end;

theorem Th21: :: SUPINF_2:21
for b1 being R_eal st b1 in NAT holds
0. <=' b1
proof end;

definition
let c1, c2 be non empty Subset of ExtREAL ;
func c1 + c2 -> Subset of ExtREAL means :Def5: :: SUPINF_2:def 5
for b1 being R_eal holds
( b1 in a3 iff ex b2, b3 being R_eal st
( b2 in a1 & b3 in a2 & b1 = b2 + b3 ) );
existence
ex b1 being Subset of ExtREAL st
for b2 being R_eal holds
( b2 in b1 iff ex b3, b4 being R_eal st
( b3 in c1 & b4 in c2 & b2 = b3 + b4 ) )
proof end;
uniqueness
for b1, b2 being Subset of ExtREAL st ( for b3 being R_eal holds
( b3 in b1 iff ex b4, b5 being R_eal st
( b4 in c1 & b5 in c2 & b3 = b4 + b5 ) ) ) & ( for b3 being R_eal holds
( b3 in b2 iff ex b4, b5 being R_eal st
( b4 in c1 & b5 in c2 & b3 = b4 + b5 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines + SUPINF_2:def 5 :
for b1, b2 being non empty Subset of ExtREAL
for b3 being Subset of ExtREAL holds
( b3 = b1 + b2 iff for b4 being R_eal holds
( b4 in b3 iff ex b5, b6 being R_eal st
( b5 in b1 & b6 in b2 & b4 = b5 + b6 ) ) );

registration
let c1, c2 be non empty Subset of ExtREAL ;
cluster a1 + a2 -> non empty ;
coherence
not c1 + c2 is empty
proof end;
end;

definition
let c1 be non empty Subset of ExtREAL ;
func - c1 -> Subset of ExtREAL means :Def6: :: SUPINF_2:def 6
for b1 being R_eal holds
( b1 in a2 iff ex b2 being R_eal st
( b2 in a1 & b1 = - b2 ) );
existence
ex b1 being Subset of ExtREAL st
for b2 being R_eal holds
( b2 in b1 iff ex b3 being R_eal st
( b3 in c1 & b2 = - b3 ) )
proof end;
uniqueness
for b1, b2 being Subset of ExtREAL st ( for b3 being R_eal holds
( b3 in b1 iff ex b4 being R_eal st
( b4 in c1 & b3 = - b4 ) ) ) & ( for b3 being R_eal holds
( b3 in b2 iff ex b4 being R_eal st
( b4 in c1 & b3 = - b4 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines - SUPINF_2:def 6 :
for b1 being non empty Subset of ExtREAL
for b2 being Subset of ExtREAL holds
( b2 = - b1 iff for b3 being R_eal holds
( b3 in b2 iff ex b4 being R_eal st
( b4 in b1 & b3 = - b4 ) ) );

registration
let c1 be non empty Subset of ExtREAL ;
cluster - a1 -> non empty ;
coherence
not - c1 is empty
proof end;
end;

theorem Th22: :: SUPINF_2:22
for b1 being non empty Subset of ExtREAL holds - (- b1) = b1
proof end;

theorem Th23: :: SUPINF_2:23
for b1 being non empty Subset of ExtREAL
for b2 being R_eal holds
( b2 in b1 iff - b2 in - b1 )
proof end;

theorem Th24: :: SUPINF_2:24
for b1, b2 being non empty Subset of ExtREAL holds
( b1 c= b2 iff - b1 c= - b2 )
proof end;

theorem Th25: :: SUPINF_2:25
for b1 being R_eal holds
( b1 in REAL iff - b1 in REAL )
proof end;

theorem Th26: :: SUPINF_2:26
for b1, b2 being non empty Subset of ExtREAL holds
( ( -infty in b1 & +infty in b2 ) or ( +infty in b1 & -infty in b2 ) or ( sup b1 = +infty & sup b2 = -infty ) or ( sup b1 = -infty & sup b2 = +infty ) or sup (b1 + b2) <=' (sup b1) + (sup b2) )
proof end;

theorem Th27: :: SUPINF_2:27
for b1, b2 being non empty Subset of ExtREAL holds
( ( -infty in b1 & +infty in b2 ) or ( +infty in b1 & -infty in b2 ) or ( inf b1 = +infty & inf b2 = -infty ) or ( inf b1 = -infty & inf b2 = +infty ) or (inf b1) + (inf b2) <=' inf (b1 + b2) )
proof end;

theorem Th28: :: SUPINF_2:28
for b1, b2 being non empty Subset of ExtREAL st b1 is bounded_above & b2 is bounded_above holds
sup (b1 + b2) <=' (sup b1) + (sup b2)
proof end;

theorem Th29: :: SUPINF_2:29
for b1, b2 being non empty Subset of ExtREAL st b1 is bounded_below & b2 is bounded_below holds
(inf b1) + (inf b2) <=' inf (b1 + b2)
proof end;

theorem Th30: :: SUPINF_2:30
for b1 being non empty Subset of ExtREAL
for b2 being R_eal holds
( b2 is majorant of b1 iff - b2 is minorant of - b1 )
proof end;

theorem Th31: :: SUPINF_2:31
for b1 being non empty Subset of ExtREAL
for b2 being R_eal holds
( b2 is minorant of b1 iff - b2 is majorant of - b1 )
proof end;

theorem Th32: :: SUPINF_2:32
for b1 being non empty Subset of ExtREAL holds inf (- b1) = - (sup b1)
proof end;

theorem Th33: :: SUPINF_2:33
for b1 being non empty Subset of ExtREAL holds sup (- b1) = - (inf b1)
proof end;

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
redefine func rng as rng c3 -> non empty Subset of ExtREAL ;
coherence
rng c3 is non empty Subset of ExtREAL
proof end;
end;

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
func sup c3 -> R_eal equals :: SUPINF_2:def 7
sup (rng a3);
correctness
coherence
sup (rng c3) is R_eal
;
;
end;

:: deftheorem Def7 defines sup SUPINF_2:def 7 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds sup b3 = sup (rng b3);

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
func inf c3 -> R_eal equals :: SUPINF_2:def 8
inf (rng a3);
correctness
coherence
inf (rng c3) is R_eal
;
;
end;

:: deftheorem Def8 defines inf SUPINF_2:def 8 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds inf b3 = inf (rng b3);

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
let c4 be Element of c1;
redefine func . as c3 . c4 -> R_eal;
coherence
c3 . c4 is R_eal
proof end;
end;

definition
let c1 be non empty set ;
let c2, c3 be non empty Subset of ExtREAL ;
let c4 be Function of c1,c2;
let c5 be Function of c1,c3;
func c4 + c5 -> Function of a1,a2 + a3 means :Def9: :: SUPINF_2:def 9
for b1 being Element of a1 holds a6 . b1 = (a4 . b1) + (a5 . b1);
existence
ex b1 being Function of c1,c2 + c3 st
for b2 being Element of c1 holds b1 . b2 = (c4 . b2) + (c5 . b2)
proof end;
uniqueness
for b1, b2 being Function of c1,c2 + c3 st ( for b3 being Element of c1 holds b1 . b3 = (c4 . b3) + (c5 . b3) ) & ( for b3 being Element of c1 holds b2 . b3 = (c4 . b3) + (c5 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines + SUPINF_2:def 9 :
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL
for b4 being Function of b1,b2
for b5 being Function of b1,b3
for b6 being Function of b1,b2 + b3 holds
( b6 = b4 + b5 iff for b7 being Element of b1 holds b6 . b7 = (b4 . b7) + (b5 . b7) );

theorem Th34: :: SUPINF_2:34
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL
for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds rng (b4 + b5) c= (rng b4) + (rng b5)
proof end;

theorem Th35: :: SUPINF_2:35
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL holds
( ( -infty in b2 & +infty in b3 ) or ( +infty in b2 & -infty in b3 ) or for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( ( sup b4 = +infty & sup b5 = -infty ) or ( sup b4 = -infty & sup b5 = +infty ) or sup (b4 + b5) <=' (sup b4) + (sup b5) ) )
proof end;

theorem Th36: :: SUPINF_2:36
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL holds
( ( -infty in b2 & +infty in b3 ) or ( +infty in b2 & -infty in b3 ) or for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( ( inf b4 = +infty & inf b5 = -infty ) or ( inf b4 = -infty & inf b5 = +infty ) or (inf b4) + (inf b5) <=' inf (b4 + b5) ) )
proof end;

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
func - c3 -> Function of a1, - a2 means :Def10: :: SUPINF_2:def 10
for b1 being Element of a1 holds a4 . b1 = - (a3 . b1);
existence
ex b1 being Function of c1, - c2 st
for b2 being Element of c1 holds b1 . b2 = - (c3 . b2)
proof end;
uniqueness
for b1, b2 being Function of c1, - c2 st ( for b3 being Element of c1 holds b1 . b3 = - (c3 . b3) ) & ( for b3 being Element of c1 holds b2 . b3 = - (c3 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines - SUPINF_2:def 10 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2
for b4 being Function of b1, - b2 holds
( b4 = - b3 iff for b5 being Element of b1 holds b4 . b5 = - (b3 . b5) );

theorem Th37: :: SUPINF_2:37
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds rng (- b3) = - (rng b3)
proof end;

theorem Th38: :: SUPINF_2:38
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( inf (- b3) = - (sup b3) & sup (- b3) = - (inf b3) )
proof end;

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
attr a3 is bounded_above means :Def11: :: SUPINF_2:def 11
sup a3 <' +infty ;
end;

:: deftheorem Def11 defines bounded_above SUPINF_2:def 11 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded_above iff sup b3 <' +infty );

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
attr a3 is bounded_below means :Def12: :: SUPINF_2:def 12
-infty <' inf a3;
end;

:: deftheorem Def12 defines bounded_below SUPINF_2:def 12 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded_below iff -infty <' inf b3 );

definition
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
let c3 be Function of c1,c2;
attr a3 is bounded means :Def13: :: SUPINF_2:def 13
( a3 is bounded_above & a3 is bounded_below );
end;

:: deftheorem Def13 defines bounded SUPINF_2:def 13 :
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded iff ( b3 is bounded_above & b3 is bounded_below ) );

registration
let c1 be non empty set ;
let c2 be non empty Subset of ExtREAL ;
cluster bounded -> bounded_above bounded_below M8(a1,a2);
coherence
for b1 being Function of c1,c2 st b1 is bounded holds
( b1 is bounded_above & b1 is bounded_below )
by Def13;
cluster bounded_above bounded_below -> bounded M8(a1,a2);
coherence
for b1 being Function of c1,c2 st b1 is bounded_above & b1 is bounded_below holds
b1 is bounded
by Def13;
end;

theorem Th39: :: SUPINF_2:39
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded iff ( sup b3 <' +infty & -infty <' inf b3 ) )
proof end;

theorem Th40: :: SUPINF_2:40
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded_above iff - b3 is bounded_below )
proof end;

theorem Th41: :: SUPINF_2:41
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded_below iff - b3 is bounded_above )
proof end;

theorem Th42: :: SUPINF_2:42
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 holds
( b3 is bounded iff - b3 is bounded )
proof end;

theorem Th43: :: SUPINF_2:43
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2
for b4 being Element of b1 holds
( -infty <=' b3 . b4 & b3 . b4 <=' +infty ) by SUPINF_1:20, SUPINF_1:21;

theorem Th44: :: SUPINF_2:44
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2
for b4 being Element of b1 st b2 c= REAL holds
( -infty <' b3 . b4 & b3 . b4 <' +infty )
proof end;

theorem Th45: :: SUPINF_2:45
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2
for b4 being Element of b1 holds
( inf b3 <=' b3 . b4 & b3 . b4 <=' sup b3 )
proof end;

theorem Th46: :: SUPINF_2:46
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 st b2 c= REAL holds
( b3 is bounded_above iff sup b3 in REAL )
proof end;

theorem Th47: :: SUPINF_2:47
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 st b2 c= REAL holds
( b3 is bounded_below iff inf b3 in REAL )
proof end;

theorem Th48: :: SUPINF_2:48
for b1 being non empty set
for b2 being non empty Subset of ExtREAL
for b3 being Function of b1,b2 st b2 c= REAL holds
( b3 is bounded iff ( inf b3 in REAL & sup b3 in REAL ) )
proof end;

theorem Th49: :: SUPINF_2:49
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL st b2 c= REAL & b3 c= REAL holds
for b4 being Function of b1,b2
for b5 being Function of b1,b3 st b4 is bounded_above & b5 is bounded_above holds
b4 + b5 is bounded_above
proof end;

theorem Th50: :: SUPINF_2:50
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL st b2 c= REAL & b3 c= REAL holds
for b4 being Function of b1,b2
for b5 being Function of b1,b3 st b4 is bounded_below & b5 is bounded_below holds
b4 + b5 is bounded_below
proof end;

theorem Th51: :: SUPINF_2:51
for b1 being non empty set
for b2, b3 being non empty Subset of ExtREAL st b2 c= REAL & b3 c= REAL holds
for b4 being Function of b1,b2
for b5 being Function of b1,b3 st b4 is bounded & b5 is bounded holds
b4 + b5 is bounded
proof end;

theorem Th52: :: SUPINF_2:52
ex b1 being Function of NAT , ExtREAL st
( b1 is one-to-one & NAT = rng b1 & rng b1 is non empty Subset of ExtREAL )
proof end;

notation
let c1 be non empty set ;
let c2 be Subset of c1;
synonym denumerable c2 for countable c1;
end;

definition
let c1 be non empty set ;
let c2 be Subset of c1;
redefine attr denumerable as a2 is denumerable means :Def14: :: SUPINF_2:def 14
( a2 is empty or ex b1 being Function of NAT ,a1 st a2 = rng b1 );
compatibility
( c2 is denumerable iff ( c2 is empty or ex b1 being Function of NAT ,c1 st c2 = rng b1 ) )
proof end;
end;

:: deftheorem Def14 defines denumerable SUPINF_2:def 14 :
for b1 being non empty set
for b2 being Subset of b1 holds
( b2 is denumerable iff ( b2 is empty or ex b3 being Function of NAT ,b1 st b2 = rng b3 ) );

registration
cluster non empty V34 Element of K40(ExtREAL );
existence
ex b1 being non empty Subset of ExtREAL st b1 is denumerable
proof end;
end;

definition
mode Denum_Set_of_R_EAL is non empty V34 Subset of ExtREAL ;
end;

definition
let c1 be set ;
attr a1 is nonnegative means :Def15: :: SUPINF_2:def 15
for b1 being R_eal st b1 in a1 holds
0. <=' b1;
end;

:: deftheorem Def15 defines nonnegative SUPINF_2:def 15 :
for b1 being set holds
( b1 is nonnegative iff for b2 being R_eal st b2 in b1 holds
0. <=' b2 );

registration
cluster nonnegative Element of K40(ExtREAL );
existence
ex b1 being Denum_Set_of_R_EAL st b1 is nonnegative
proof end;
end;

definition
mode Pos_Denum_Set_of_R_EAL is nonnegative Denum_Set_of_R_EAL;
end;

definition
let c1 be Denum_Set_of_R_EAL;
mode Num of c1 -> Function of NAT , ExtREAL means :Def16: :: SUPINF_2:def 16
a1 = rng a2;
existence
ex b1 being Function of NAT , ExtREAL st c1 = rng b1
by Def14;
end;

:: deftheorem Def16 defines Num SUPINF_2:def 16 :
for b1 being Denum_Set_of_R_EAL
for b2 being Function of NAT , ExtREAL holds
( b2 is Num of b1 iff b1 = rng b2 );

definition
let c1 be Function of NAT , ExtREAL ;
let c2 be Nat;
redefine func . as c1 . c2 -> R_eal;
coherence
c1 . c2 is R_eal
proof end;
end;

theorem Th53: :: SUPINF_2:53
for b1 being Denum_Set_of_R_EAL
for b2 being Num of b1 ex b3 being Function of NAT , ExtREAL st
( b3 . 0 = b2 . 0 & ( for b4 being Nat
for b5 being R_eal st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 + (b2 . (b4 + 1)) ) )
proof end;

definition
let c1 be Denum_Set_of_R_EAL;
let c2 be Num of c1;
func Ser c1,c2 -> Function of NAT , ExtREAL means :Def17: :: SUPINF_2:def 17
( a3 . 0 = a2 . 0 & ( for b1 being Nat
for b2 being R_eal st b2 = a3 . b1 holds
a3 . (b1 + 1) = b2 + (a2 . (b1 + 1)) ) );
existence
ex b1 being Function of NAT , ExtREAL st
( b1 . 0 = c2 . 0 & ( for b2 being Nat
for b3 being R_eal st b3 = b1 . b2 holds
b1 . (b2 + 1) = b3 + (c2 . (b2 + 1)) ) )
by Th53;
uniqueness
for b1, b2 being Function of NAT , ExtREAL st b1 . 0 = c2 . 0 & ( for b3 being Nat
for b4 being R_eal st b4 = b1 . b3 holds
b1 . (b3 + 1) = b4 + (c2 . (b3 + 1)) ) & b2 . 0 = c2 . 0 & ( for b3 being Nat
for b4 being R_eal st b4 = b2 . b3 holds
b2 . (b3 + 1) = b4 + (c2 . (b3 + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def17 defines Ser SUPINF_2:def 17 :
for b1 being Denum_Set_of_R_EAL
for b2 being Num of b1
for b3 being Function of NAT , ExtREAL holds
( b3 = Ser b1,b2 iff ( b3 . 0 = b2 . 0 & ( for b4 being Nat
for b5 being R_eal st b5 = b3 . b4 holds
b3 . (b4 + 1) = b5 + (b2 . (b4 + 1)) ) ) );

theorem Th54: :: SUPINF_2:54
for b1 being Pos_Denum_Set_of_R_EAL
for b2 being Num of b1
for b3 being Nat holds 0. <=' b2 . b3
proof end;

theorem Th55: :: SUPINF_2:55
for b1 being Pos_Denum_Set_of_R_EAL
for b2 being Num of b1
for b3 being Nat holds
( (Ser b1,b2) . b3 <=' (Ser b1,b2) . (b3 + 1) & 0. <=' (Ser b1,b2) . b3 )
proof end;

theorem Th56: :: SUPINF_2:56
for b1 being Pos_Denum_Set_of_R_EAL
for b2 being Num of b1
for b3, b4 being Nat holds (Ser b1,b2) . b3 <=' (Ser b1,b2) . (b3 + b4)
proof end;

definition
let c1 be Denum_Set_of_R_EAL;
mode Set_of_Series of c1 -> non empty Subset of ExtREAL means :: SUPINF_2:def 18
ex b1 being Num of a1 st a2 = rng (Ser a1,b1);
existence
ex b1 being non empty Subset of ExtREAL ex b2 being Num of c1 st b1 = rng (Ser c1,b2)
proof end;
end;

:: deftheorem Def18 defines Set_of_Series SUPINF_2:def 18 :
for b1 being Denum_Set_of_R_EAL
for b2 being non empty Subset of ExtREAL holds
( b2 is Set_of_Series of b1 iff ex b3 being Num of b1 st b2 = rng (Ser b1,b3) );

Lemma60: for b1 being Function of NAT , ExtREAL holds rng b1 is non empty Subset of ExtREAL
proof end;

definition
let c1 be Function of NAT , ExtREAL ;
redefine func rng as rng c1 -> non empty Subset of ExtREAL ;
coherence
rng c1 is non empty Subset of ExtREAL
by Lemma60;
end;

definition
let c1 be Pos_Denum_Set_of_R_EAL;
let c2 be Num of c1;
func SUM c1,c2 -> R_eal equals :: SUPINF_2:def 19
sup (rng (Ser a1,a2));
coherence
sup (rng (Ser c1,c2)) is R_eal
;
end;

:: deftheorem Def19 defines SUM SUPINF_2:def 19 :
for b1 being Pos_Denum_Set_of_R_EAL
for b2 being Num of b1 holds SUM b1,b2 = sup (rng (Ser b1,b2));

definition
let c1 be Pos_Denum_Set_of_R_EAL;
let c2 be Num of c1;
pred c1 is_sumable c2 means :: SUPINF_2:def 20
SUM a1,a2 in REAL ;
end;

:: deftheorem Def20 defines is_sumable SUPINF_2:def 20 :
for b1 being Pos_Denum_Set_of_R_EAL
for b2 being Num of b1 holds
( b1 is_sumable b2 iff SUM b1,b2 in REAL );

theorem Th57: :: SUPINF_2:57
for b1 being Function of NAT , ExtREAL holds rng b1 is Denum_Set_of_R_EAL by Def14;

definition
let c1 be Function of NAT , ExtREAL ;
redefine func rng as rng c1 -> Denum_Set_of_R_EAL;
coherence
rng c1 is Denum_Set_of_R_EAL
by Th57;
end;

definition
let c1 be Function of NAT , ExtREAL ;
func Ser c1 -> Function of NAT , ExtREAL means :Def21: :: SUPINF_2:def 21
for b1 being Num of rng a1 st b1 = a1 holds
a2 = Ser (rng a1),b1;
existence
ex b1 being Function of NAT , ExtREAL st
for b2 being Num of rng c1 st b2 = c1 holds
b1 = Ser (rng c1),b2
proof end;
uniqueness
for b1, b2 being Function of NAT , ExtREAL st ( for b3 being Num of rng c1 st b3 = c1 holds
b1 = Ser (rng c1),b3 ) & ( for b3 being Num of rng c1 st b3 = c1 holds
b2 = Ser (rng c1),b3 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def21 defines Ser SUPINF_2:def 21 :
for b1, b2 being Function of NAT , ExtREAL holds
( b2 = Ser b1 iff for b3 being Num of rng b1 st b3 = b1 holds
b2 = Ser (rng b1),b3 );

definition
let c1 be set ;
let c2 be Function of c1, ExtREAL ;
attr a2 is nonnegative means :Def22: :: SUPINF_2:def 22
rng a2 is nonnegative;
end;

:: deftheorem Def22 defines nonnegative SUPINF_2:def 22 :
for b1 being set
for b2 being Function of b1, ExtREAL holds
( b2 is nonnegative iff rng b2 is nonnegative );

definition
let c1 be Function of NAT , ExtREAL ;
func SUM c1 -> R_eal equals :: SUPINF_2:def 23
sup (rng (Ser a1));
coherence
sup (rng (Ser c1)) is R_eal
;
end;

:: deftheorem Def23 defines SUM SUPINF_2:def 23 :
for b1 being Function of NAT , ExtREAL holds SUM b1 = sup (rng (Ser b1));

theorem Th58: :: SUPINF_2:58
for b1 being non empty set
for b2 being Function of b1, ExtREAL holds
( b2 is nonnegative iff for b3 being Element of b1 holds 0. <=' b2 . b3 )
proof end;

theorem Th59: :: SUPINF_2:59
for b1 being Function of NAT , ExtREAL
for b2 being Nat st b1 is nonnegative holds
( (Ser b1) . b2 <=' (Ser b1) . (b2 + 1) & 0. <=' (Ser b1) . b2 )
proof end;

theorem Th60: :: SUPINF_2:60
for b1 being Function of NAT , ExtREAL st b1 is nonnegative holds
for b2, b3 being Nat holds (Ser b1) . b2 <=' (Ser b1) . (b2 + b3)
proof end;

theorem Th61: :: SUPINF_2:61
for b1, b2 being Function of NAT , ExtREAL st b1 is nonnegative & ( for b3 being Nat holds b1 . b3 <=' b2 . b3 ) holds
for b3 being Nat holds (Ser b1) . b3 <=' (Ser b2) . b3
proof end;

theorem Th62: :: SUPINF_2:62
for b1, b2 being Function of NAT , ExtREAL st b1 is nonnegative & ( for b3 being Nat holds b1 . b3 <=' b2 . b3 ) holds
SUM b1 <=' SUM b2
proof end;

theorem Th63: :: SUPINF_2:63
for b1 being Function of NAT , ExtREAL holds
( (Ser b1) . 0 = b1 . 0 & ( for b2 being Nat
for b3 being R_eal st b3 = (Ser b1) . b2 holds
(Ser b1) . (b2 + 1) = b3 + (b1 . (b2 + 1)) ) )
proof end;

theorem Th64: :: SUPINF_2:64
for b1 being Function of NAT , ExtREAL st b1 is nonnegative & ex b2 being Nat st b1 . b2 = +infty holds
SUM b1 = +infty
proof end;

definition
let c1 be Function of NAT , ExtREAL ;
attr a1 is summable means :Def24: :: SUPINF_2:def 24
SUM a1 in REAL ;
end;

:: deftheorem Def24 defines summable SUPINF_2:def 24 :
for b1 being Function of NAT , ExtREAL holds
( b1 is summable iff SUM b1 in REAL );

theorem Th65: :: SUPINF_2:65
for b1 being Function of NAT , ExtREAL st b1 is nonnegative & ex b2 being Nat st b1 . b2 = +infty holds
not b1 is summable
proof end;

theorem Th66: :: SUPINF_2:66
for b1, b2 being Function of NAT , ExtREAL st b1 is nonnegative & ( for b3 being Nat holds b1 . b3 <=' b2 . b3 ) & b2 is summable holds
b1 is summable
proof end;

theorem Th67: :: SUPINF_2:67
for b1 being Function of NAT , ExtREAL st b1 is nonnegative holds
for b2 being Nat st ( for b3 being Nat st b2 <= b3 holds
b1 . b3 = 0. ) holds
SUM b1 = (Ser b1) . b2
proof end;

theorem Th68: :: SUPINF_2:68
for b1 being Function of NAT , ExtREAL st ( for b2 being Nat holds b1 . b2 in REAL ) holds
for b2 being Nat holds (Ser b1) . b2 in REAL
proof end;

theorem Th69: :: SUPINF_2:69
for b1 being Function of NAT , ExtREAL st b1 is nonnegative & ex b2 being Nat st
( ( for b3 being Nat st b2 <= b3 holds
b1 . b3 = 0. ) & ( for b3 being Nat st b3 <= b2 holds
not b1 . b3 = +infty ) ) holds
b1 is summable
proof end;