:: SUPINF_2 semantic presentation

definition
func 0. -> R_eal equals :Def1: :: SUPINF_2:def 1
0;
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
( not ( c1 in REAL & c2 in REAL & ( for b1 being R_eal
for b2, b3 being Real holds
not ( c1 = b2 & c2 = b3 & b1 = b2 + b3 ) ) ) & not ( ( ( c1 = +infty & c2 <> -infty ) or ( c2 = +infty & c1 <> -infty ) ) & ( for b1 being R_eal holds
not b1 = +infty ) ) & not ( ( ( c1 = -infty & c2 <> +infty ) or ( c2 = -infty & c1 <> +infty ) ) & ( for b1 being R_eal holds
not b1 = -infty ) ) & not ( not ( c1 in REAL & c2 in REAL ) & not ( c1 = +infty & c2 <> -infty ) & not ( c2 = +infty & c1 <> -infty ) & not ( c1 = -infty & c2 <> +infty ) & not ( c2 = -infty & c1 <> +infty ) & ( for b1 being R_eal holds
not 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 ) & not ( not ( c1 in REAL & c2 in REAL ) & not ( c1 = +infty & c2 <> -infty ) & not ( c2 = +infty & c1 <> -infty ) & not ( c1 = -infty & c2 <> +infty ) & not ( c2 = -infty & c1 <> +infty ) & b1 = 0. & b2 = 0. & not 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 XREAL_0:def 1;
commutativity
for b1, b2, b3 being R_eal holds
( not ( b2 in REAL & b3 in REAL & ( for b4, b5 being Real holds
not ( 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 ) & not ( not ( b2 in REAL & b3 in REAL ) & not ( b2 = +infty & b3 <> -infty ) & not ( b3 = +infty & b2 <> -infty ) & not ( b2 = -infty & b3 <> +infty ) & not ( b3 = -infty & b2 <> +infty ) & not b1 = 0. ) implies ( not ( b3 in REAL & b2 in REAL & ( for b4, b5 being Real holds
not ( 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 ) & not ( not ( b3 in REAL & b2 in REAL ) & not ( b3 = +infty & b2 <> -infty ) & not ( b2 = +infty & b3 <> -infty ) & not ( b3 = -infty & b2 <> +infty ) & not ( b2 = -infty & b3 <> +infty ) & not 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 ) ) & not ( not ( b1 in REAL & b2 in REAL ) & not ( b1 = +infty & b2 <> -infty ) & not ( b2 = +infty & b1 <> -infty ) & not ( b1 = -infty & b2 <> +infty ) & not ( b2 = -infty & b1 <> +infty ) & not ( b3 = b1 + b2 iff b3 = 0. ) ) );

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

theorem Th2: :: SUPINF_2:2
for b1 being R_eal holds
not ( not b1 in REAL & not b1 = +infty & not 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
( not ( c1 in REAL & ( for b1 being R_eal
for b2 being Real holds
not ( c1 = b2 & b1 = - b2 ) ) ) & not ( c1 = +infty & ( for b1 being R_eal holds
not b1 = -infty ) ) & not ( not c1 in REAL & not c1 = +infty & ( for b1 being R_eal holds
not 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 holds
( c1 in REAL & c1 = +infty implies ( ex b2 being Real st
( c1 = b2 & b1 = - b2 ) iff b1 = -infty ) )
;
involutiveness
for b1, b2 being R_eal holds
( not ( b2 in REAL & ( for b3 being Real holds
not ( b2 = b3 & b1 = - b3 ) ) ) & ( b2 = +infty implies b1 = -infty ) & ( not b2 in REAL & not b2 = +infty implies b1 = +infty ) implies ( not ( b1 in REAL & ( for b3 being Real holds
not ( 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 holds
( b1 = b2 implies - b1 = - b2 )
proof end;

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

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

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

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

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

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

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

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

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

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

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

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

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

Lemma19: for b1, b2 being R_eal holds
( b1 <= b2 implies - 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
( not ( b1 < b2 & not - b2 < - b1 ) & not ( - b2 < - b1 & not b1 < b2 ) ) 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 holds
( 0. <= b3 & 0. <= b1 & b2 = b1 + b3 implies b1 <= b2 )
proof end;

Lemma23: for b1, b2, b3, b4 being R_eal holds
( 0. <= b1 & 0. <= b3 & b1 <= b2 & b3 <= b4 implies b1 + b3 <= b2 + b4 )
proof end;

theorem Th21: :: SUPINF_2:21
for b1 being R_eal holds
( b1 in NAT implies 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 holds
( ( 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 ) ) ) implies 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 holds
( ( 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 ) ) ) implies 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
not ( not ( -infty in b1 & +infty in b2 ) & not ( +infty in b1 & -infty in b2 ) & not ( sup b1 = +infty & sup b2 = -infty ) & not ( sup b1 = -infty & sup b2 = +infty ) & not sup (b1 + b2) <= (sup b1) + (sup b2) )
proof end;

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

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

theorem Th29: :: SUPINF_2:29
for b1, b2 being non empty Subset of ExtREAL holds
( b1 is bounded_below & b2 is bounded_below implies (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);
coherence
sup (rng c3) is R_eal
;
func inf c3 -> R_eal equals :: SUPINF_2:def 8
inf (rng a3);
coherence
inf (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);

:: 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 holds
( ( 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) ) implies 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
not ( not ( -infty in b2 & +infty in b3 ) & not ( +infty in b2 & -infty in b3 ) & ex b4 being Function of b1,b2ex b5 being Function of b1,b3 st
( not ( sup b4 = +infty & sup b5 = -infty ) & not ( sup b4 = -infty & sup b5 = +infty ) & not 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
not ( not ( -infty in b2 & +infty in b3 ) & not ( +infty in b2 & -infty in b3 ) & ex b4 being Function of b1,b2ex b5 being Function of b1,b3 st
( not ( inf b4 = +infty & inf b5 = -infty ) & not ( inf b4 = -infty & inf b5 = +infty ) & not (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 holds
( ( for b3 being Element of c1 holds b1 . b3 = - (c3 . b3) ) & ( for b3 being Element of c1 holds b2 . b3 = - (c3 . b3) ) implies 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 ;
attr a3 is bounded_below means :Def12: :: SUPINF_2:def 12
-infty < inf a3;
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 );

:: 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 Relation of a1,a2;
coherence
for b1 being Function of c1,c2 holds
( b1 is bounded implies ( b1 is bounded_above & b1 is bounded_below ) )
by Def13;
cluster bounded_above bounded_below -> bounded Relation of a1,a2;
coherence
for b1 being Function of c1,c2 holds
( b1 is bounded_above & b1 is bounded_below implies 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 holds
( b2 c= REAL implies ( -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 holds
( b2 c= REAL implies ( 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 holds
( b2 c= REAL implies ( 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 holds
( b2 c= REAL implies ( 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 holds
( b2 c= REAL & b3 c= REAL implies for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( b4 is bounded_above & b5 is bounded_above implies 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 holds
( b2 c= REAL & b3 c= REAL implies for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( b4 is bounded_below & b5 is bounded_below implies 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 holds
( b2 c= REAL & b3 c= REAL implies for b4 being Function of b1,b2
for b5 being Function of b1,b3 holds
( b4 is bounded & b5 is bounded implies 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
not ( not a2 is empty & ( for b1 being Function of NAT ,a1 holds
not a2 = rng b1 ) );
compatibility
( c2 is denumerable iff not ( not c2 is empty & ( for b1 being Function of NAT ,c1 holds
not 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 not ( not b2 is empty & ( for b3 being Function of NAT ,b1 holds
not b2 = rng b3 ) ) );

registration
cluster non empty V36 Element of K22(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 V36 Subset of ExtREAL ;
end;

definition
let c1 be set ;
attr a1 is nonnegative means :Def15: :: SUPINF_2:def 15
for b1 being R_eal holds
( b1 in a1 implies 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 holds
( b2 in b1 implies 0. <= b2 ) );

registration
cluster nonnegative Element of K22(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 set ;
let c2 be PartFunc of c1, ExtREAL ;
let c3 be set ;
redefine func . as c2 . c3 -> R_eal;
coherence
c2 . c3 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 holds
ex b3 being Function of NAT , ExtREAL st
( b3 . 0 = b2 . 0 & ( for b4 being Nat
for b5 being R_eal holds
( b5 = b3 . b4 implies 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 holds
( b2 = a3 . b1 implies 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 holds
( b3 = b1 . b2 implies b1 . (b2 + 1) = b3 + (c2 . (b2 + 1)) ) ) )
by Th53;
uniqueness
for b1, b2 being Function of NAT , ExtREAL holds
( b1 . 0 = c2 . 0 & ( for b3 being Nat
for b4 being R_eal holds
( b4 = b1 . b3 implies b1 . (b3 + 1) = b4 + (c2 . (b3 + 1)) ) ) & b2 . 0 = c2 . 0 & ( for b3 being Nat
for b4 being R_eal holds
( b4 = b2 . b3 implies b2 . (b3 + 1) = b4 + (c2 . (b3 + 1)) ) ) implies 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 holds
( b5 = b3 . b4 implies 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) );

Lemma61: 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 Lemma61;
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 holds
( b1 = a1 implies a2 = Ser (rng a1),b1 );
existence
ex b1 being Function of NAT , ExtREAL st
for b2 being Num of rng c1 holds
( b2 = c1 implies b1 = Ser (rng c1),b2 )
proof end;
uniqueness
for b1, b2 being Function of NAT , ExtREAL holds
( ( for b3 being Num of rng c1 holds
( b3 = c1 implies b1 = Ser (rng c1),b3 ) ) & ( for b3 being Num of rng c1 holds
( b3 = c1 implies b2 = Ser (rng c1),b3 ) ) implies 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 holds
( b3 = b1 implies b2 = Ser (rng b1),b3 ) );

definition
let c1 be Relation;
attr a1 is nonnegative means :Def22: :: SUPINF_2:def 22
rng a1 is nonnegative;
end;

:: deftheorem Def22 defines nonnegative SUPINF_2:def 22 :
for b1 being Relation holds
( b1 is nonnegative iff rng b1 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 set
for b2 being PartFunc 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 holds
( b1 is nonnegative implies ( (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 holds
( b1 is nonnegative implies 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 holds
( b1 is nonnegative & ( for b3 being Nat holds b1 . b3 <= b2 . b3 ) implies 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 holds
( b1 is nonnegative & ( for b3 being Nat holds b1 . b3 <= b2 . b3 ) implies 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 holds
( b3 = (Ser b1) . b2 implies (Ser b1) . (b2 + 1) = b3 + (b1 . (b2 + 1)) ) ) )
proof end;

theorem Th64: :: SUPINF_2:64
for b1 being Function of NAT , ExtREAL holds
( b1 is nonnegative & ex b2 being Nat st b1 . b2 = +infty implies 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 holds
not ( b1 is nonnegative & ex b2 being Nat st b1 . b2 = +infty & b1 is summable )
proof end;

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

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

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

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

theorem Th70: :: SUPINF_2:70
for b1 being set
for b2 being PartFunc of b1, ExtREAL holds
( b2 is nonnegative iff for b3 being set holds 0. <= b2 . b3 )
proof end;

theorem Th71: :: SUPINF_2:71
for b1 being set
for b2 being PartFunc of b1, ExtREAL holds
( ( for b3 being set holds
( b3 in dom b2 implies 0. <= b2 . b3 ) ) implies b2 is nonnegative )
proof end;