:: EXTREAL2 semantic presentation

theorem Th1: :: EXTREAL2:1
canceled;

theorem Th2: :: EXTREAL2:2
for b1 being R_eal st b1 <> +infty & b1 <> -infty holds
ex b2 being R_eal st b1 + b2 = 0.
proof end;

theorem Th3: :: EXTREAL2:3
for b1 being R_eal st b1 <> +infty & b1 <> -infty & b1 <> 0. holds
ex b2 being R_eal st b1 * b2 = 1.
proof end;

theorem Th4: :: EXTREAL2:4
for b1 being R_eal holds
( 1. * b1 = b1 & b1 * 1. = b1 & (R_EAL 1) * b1 = b1 & b1 * (R_EAL 1) = b1 )
proof end;

theorem Th5: :: EXTREAL2:5
for b1 being R_eal holds 0. - b1 = - b1
proof end;

theorem Th6: :: EXTREAL2:6
canceled;

theorem Th7: :: EXTREAL2:7
for b1, b2 being R_eal st 0. <=' b1 & 0. <=' b2 holds
0. <=' b1 + b2
proof end;

theorem Th8: :: EXTREAL2:8
canceled;

theorem Th9: :: EXTREAL2:9
for b1, b2 being R_eal st b1 <=' 0. & b2 <=' 0. holds
b1 + b2 <=' 0.
proof end;

theorem Th10: :: EXTREAL2:10
canceled;

theorem Th11: :: EXTREAL2:11
for b1, b2, b3 being R_eal st b1 <> +infty & b1 <> -infty & b2 + b1 = b3 holds
b2 = b3 - b1
proof end;

theorem Th12: :: EXTREAL2:12
for b1 being R_eal st b1 <> +infty & b1 <> -infty & b1 <> 0. holds
( b1 * (1. / b1) = 1. & (1. / b1) * b1 = 1. )
proof end;

theorem Th13: :: EXTREAL2:13
for b1 being R_eal st b1 <> +infty & b1 <> -infty holds
b1 - b1 = 0.
proof end;

theorem Th14: :: EXTREAL2:14
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or ( - (b1 + b2) = (- b1) + (- b2) & - (b1 + b2) = (- b2) - b1 & - (b1 + b2) = (- b1) - b2 ) )
proof end;

theorem Th15: :: EXTREAL2:15
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or ( - (b1 - b2) = (- b1) + b2 & - (b1 - b2) = b2 - b1 ) )
proof end;

theorem Th16: :: EXTREAL2:16
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or ( - ((- b1) + b2) = b1 - b2 & - ((- b1) + b2) = b1 + (- b2) ) )
proof end;

theorem Th17: :: EXTREAL2:17
for b1, b2 being R_eal st ( ( b1 = +infty & 0. <' b2 & b2 <' +infty ) or ( b1 = -infty & b2 <' 0. & -infty <' b2 ) ) holds
b1 / b2 = +infty
proof end;

theorem Th18: :: EXTREAL2:18
for b1, b2 being R_eal st ( ( b1 = +infty & b2 <' 0. & -infty <' b2 ) or ( b1 = -infty & 0. <' b2 & b2 <' +infty ) ) holds
b1 / b2 = -infty
proof end;

theorem Th19: :: EXTREAL2:19
for b1, b2 being R_eal st -infty <' b1 & b1 <' +infty & b1 <> 0. holds
( (b2 * b1) / b1 = b2 & b2 * (b1 / b1) = b2 )
proof end;

theorem Th20: :: EXTREAL2:20
( 1. <' +infty & -infty <' 1. ) by MESFUNC1:def 8, SUPINF_1:31;

theorem Th21: :: EXTREAL2:21
for b1 being R_eal st ( b1 = +infty or b1 = -infty ) holds
for b2 being R_eal st b2 in REAL holds
b1 + b2 <> 0.
proof end;

theorem Th22: :: EXTREAL2:22
for b1 being R_eal st ( b1 = +infty or b1 = -infty ) holds
for b2 being R_eal holds b1 * b2 <> 1.
proof end;

theorem Th23: :: EXTREAL2:23
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not b1 + b2 <' +infty or ( b1 <> +infty & b2 <> +infty ) )
proof end;

theorem Th24: :: EXTREAL2:24
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not -infty <' b1 + b2 or ( b1 <> -infty & b2 <> -infty ) )
proof end;

theorem Th25: :: EXTREAL2:25
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or not b1 - b2 <' +infty or ( b1 <> +infty & b2 <> -infty ) )
proof end;

theorem Th26: :: EXTREAL2:26
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or not -infty <' b1 - b2 or ( b1 <> -infty & b2 <> +infty ) )
proof end;

theorem Th27: :: EXTREAL2:27
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not b1 + b2 <' b3 or ( b1 <> +infty & b2 <> +infty & b3 <> -infty & b1 <' b3 - b2 ) )
proof end;

theorem Th28: :: EXTREAL2:28
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or not b3 <' b1 - b2 or ( b3 <> +infty & b2 <> +infty & b1 <> -infty & b3 + b2 <' b1 ) )
proof end;

theorem Th29: :: EXTREAL2:29
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or not b1 - b2 <' b3 or ( b1 <> +infty & b2 <> -infty & b3 <> -infty & b1 <' b3 + b2 ) )
proof end;

theorem Th30: :: EXTREAL2:30
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not b3 <' b1 + b2 or ( b3 <> +infty & b2 <> -infty & b1 <> -infty & b3 - b2 <' b1 ) )
proof end;

theorem Th31: :: EXTREAL2:31
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or ( b2 = +infty & b3 = +infty ) or ( b2 = -infty & b3 = -infty ) or not b1 + b2 <=' b3 or ( b2 <> +infty & b1 <=' b3 - b2 ) )
proof end;

theorem Th32: :: EXTREAL2:32
for b1, b2, b3 being R_eal st ( not b1 = +infty or not b2 = -infty ) & ( not b1 = -infty or not b2 = +infty ) & ( not b2 = +infty or not b3 = +infty ) & b1 <=' b3 - b2 holds
( b2 <> +infty & b1 + b2 <=' b3 )
proof end;

theorem Th33: :: EXTREAL2:33
for b1, b2, b3 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or ( b2 = +infty & b3 = -infty ) or ( b2 = -infty & b3 = +infty ) or not b1 - b2 <=' b3 or ( b2 <> -infty & b1 <=' b3 + b2 ) )
proof end;

theorem Th34: :: EXTREAL2:34
for b1, b2, b3 being R_eal st ( not b1 = +infty or not b2 = +infty ) & ( not b1 = -infty or not b2 = -infty ) & ( not b2 = -infty or not b3 = +infty ) & b1 <=' b3 + b2 holds
( b2 <> -infty & b1 - b2 <=' b3 )
proof end;

theorem Th35: :: EXTREAL2:35
canceled;

theorem Th36: :: EXTREAL2:36
canceled;

theorem Th37: :: EXTREAL2:37
canceled;

theorem Th38: :: EXTREAL2:38
canceled;

theorem Th39: :: EXTREAL2:39
canceled;

theorem Th40: :: EXTREAL2:40
for b1, b2, b3 being R_eal st ( not b1 = +infty or not b2 = +infty ) & ( not b1 = -infty or not b2 = -infty ) & ( not b2 = +infty or not b3 = -infty ) & ( not b2 = -infty or not b3 = +infty ) & ( not b1 = +infty or not b3 = +infty ) & ( not b1 = -infty or not b3 = -infty ) holds
(b1 - b2) - b3 = b1 - (b2 + b3)
proof end;

theorem Th41: :: EXTREAL2:41
for b1, b2, b3 being R_eal st ( not b1 = +infty or not b2 = +infty ) & ( not b1 = -infty or not b2 = -infty ) & ( not b2 = +infty or not b3 = +infty ) & ( not b2 = -infty or not b3 = -infty ) & ( not b1 = +infty or not b3 = -infty ) & ( not b1 = -infty or not b3 = +infty ) holds
(b1 - b2) + b3 = b1 - (b2 - b3)
proof end;

theorem Th42: :: EXTREAL2:42
for b1, b2 being R_eal st b1 * b2 <> +infty & b1 * b2 <> -infty & b1 is not Real holds
b2 is Real
proof end;

theorem Th43: :: EXTREAL2:43
for b1, b2 being R_eal holds
( ( ( 0. <' b1 & 0. <' b2 ) or ( b1 <' 0. & b2 <' 0. ) ) iff 0. <' b1 * b2 )
proof end;

theorem Th44: :: EXTREAL2:44
for b1, b2 being R_eal holds
( ( ( 0. <' b1 & b2 <' 0. ) or ( b1 <' 0. & 0. <' b2 ) ) iff b1 * b2 <' 0. )
proof end;

theorem Th45: :: EXTREAL2:45
for b1, b2 being R_eal holds
( ( ( ( 0. <=' b1 or 0. <' b1 ) & ( 0. <=' b2 or 0. <' b2 ) ) or ( ( b1 <=' 0. or b1 <' 0. ) & ( b2 <=' 0. or b2 <' 0. ) ) ) iff 0. <=' b1 * b2 ) by Th44;

theorem Th46: :: EXTREAL2:46
for b1, b2 being R_eal holds
( ( ( ( b1 <=' 0. or b1 <' 0. ) & ( 0. <=' b2 or 0. <' b2 ) ) or ( ( 0. <=' b1 or 0. <' b1 ) & ( b2 <=' 0. or b2 <' 0. ) ) ) iff b1 * b2 <=' 0. ) by Th43;

theorem Th47: :: EXTREAL2:47
for b1, b2 being R_eal holds
( ( b1 <=' - b2 implies b2 <=' - b1 ) & ( b2 <=' - b1 implies b1 <=' - b2 ) & ( - b1 <=' b2 implies - b2 <=' b1 ) & ( - b2 <=' b1 implies - b1 <=' b2 ) )
proof end;

theorem Th48: :: EXTREAL2:48
for b1, b2 being R_eal holds
( ( b1 <' - b2 implies b2 <' - b1 ) & ( b2 <' - b1 implies b1 <' - b2 ) & ( - b1 <' b2 implies - b2 <' b1 ) & ( - b2 <' b1 implies - b1 <' b2 ) )
proof end;

theorem Th49: :: EXTREAL2:49
for b1 being R_eal
for b2 being Real st b1 = b2 holds
|.b1.| = abs b2
proof end;

theorem Th50: :: EXTREAL2:50
for b1 being R_eal holds
( |.b1.| = b1 or |.b1.| = - b1 )
proof end;

theorem Th51: :: EXTREAL2:51
for b1 being R_eal holds 0. <=' |.b1.|
proof end;

theorem Th52: :: EXTREAL2:52
for b1 being R_eal st b1 <> 0. holds
0. <' |.b1.|
proof end;

theorem Th53: :: EXTREAL2:53
for b1 being R_eal holds
( b1 = 0. iff |.b1.| = 0. ) by Th52, EXTREAL1:def 3;

theorem Th54: :: EXTREAL2:54
for b1 being R_eal st |.b1.| = - b1 & b1 <> 0. holds
b1 <' 0.
proof end;

theorem Th55: :: EXTREAL2:55
for b1 being R_eal st b1 <=' 0. holds
|.b1.| = - b1
proof end;

theorem Th56: :: EXTREAL2:56
for b1, b2 being R_eal holds |.(b1 * b2).| = |.b1.| * |.b2.|
proof end;

theorem Th57: :: EXTREAL2:57
for b1 being R_eal holds
( - |.b1.| <=' b1 & b1 <=' |.b1.| )
proof end;

theorem Th58: :: EXTREAL2:58
for b1, b2 being R_eal st |.b1.| <' b2 holds
( - b2 <' b1 & b1 <' b2 )
proof end;

theorem Th59: :: EXTREAL2:59
for b1, b2 being R_eal st - b1 <' b2 & b2 <' b1 holds
( 0. <' b1 & |.b2.| <' b1 )
proof end;

theorem Th60: :: EXTREAL2:60
for b1, b2 being R_eal holds
( ( - b1 <=' b2 & b2 <=' b1 ) iff |.b2.| <=' b1 )
proof end;

theorem Th61: :: EXTREAL2:61
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or |.(b1 + b2).| <=' |.b1.| + |.b2.| )
proof end;

theorem Th62: :: EXTREAL2:62
for b1 being R_eal st -infty <' b1 & b1 <' +infty & b1 <> 0. holds
|.b1.| * |.(1. / b1).| = 1.
proof end;

theorem Th63: :: EXTREAL2:63
for b1 being R_eal st ( b1 = +infty or b1 = -infty ) holds
|.b1.| * |.(1. / b1).| = 0.
proof end;

theorem Th64: :: EXTREAL2:64
for b1 being R_eal st b1 <> 0. holds
|.(1. / b1).| = 1. / |.b1.|
proof end;

theorem Th65: :: EXTREAL2:65
for b1, b2 being R_eal st ( ( not b1 = -infty & not b1 = +infty ) or ( not b2 = -infty & not b2 = +infty ) ) & b2 <> 0. holds
|.(b1 / b2).| = |.b1.| / |.b2.|
proof end;

theorem Th66: :: EXTREAL2:66
for b1 being R_eal holds |.b1.| = |.(- b1).|
proof end;

theorem Th67: :: EXTREAL2:67
for b1 being R_eal st ( b1 = +infty or b1 = -infty ) holds
|.b1.| = +infty
proof end;

theorem Th68: :: EXTREAL2:68
for b1, b2 being R_eal st ( b1 is Real or b2 is Real ) holds
|.b1.| - |.b2.| <=' |.(b1 - b2).|
proof end;

theorem Th69: :: EXTREAL2:69
for b1, b2 being R_eal holds
( ( b1 = +infty & b2 = +infty ) or ( b1 = -infty & b2 = -infty ) or |.(b1 - b2).| <=' |.b1.| + |.b2.| )
proof end;

theorem Th70: :: EXTREAL2:70
for b1 being R_eal holds |.|.b1.|.| = |.b1.|
proof end;

theorem Th71: :: EXTREAL2:71
for b1, b2, b3, b4 being R_eal holds
( ( b1 = +infty & b2 = -infty ) or ( b1 = -infty & b2 = +infty ) or not |.b1.| <=' b3 or not |.b2.| <=' b4 or |.(b1 + b2).| <=' b3 + b4 )
proof end;

theorem Th72: :: EXTREAL2:72
for b1, b2 being R_eal st ( b1 is Real or b2 is Real ) holds
|.(|.b1.| - |.b2.|).| <=' |.(b1 - b2).|
proof end;

theorem Th73: :: EXTREAL2:73
for b1, b2 being R_eal st 0. <=' b1 * b2 holds
|.(b1 + b2).| = |.b1.| + |.b2.|
proof end;

theorem Th74: :: EXTREAL2:74
for b1, b2 being R_eal
for b3, b4 being Real st b1 = b3 & b2 = b4 holds
( ( b4 < b3 implies b2 <' b1 ) & ( b2 <' b1 implies b4 < b3 ) & ( b4 <= b3 implies b2 <=' b1 ) & ( b2 <=' b1 implies b4 <= b3 ) )
proof end;

definition
let c1, c2 be R_eal;
func min c1,c2 -> R_eal equals :Def1: :: EXTREAL2:def 1
a1 if a1 <=' a2
otherwise a2;
correctness
coherence
( ( c1 <=' c2 implies c1 is R_eal ) & ( not c1 <=' c2 implies c2 is R_eal ) )
;
consistency
for b1 being R_eal holds verum
;
;
commutativity
for b1, b2, b3 being R_eal st ( b2 <=' b3 implies b1 = b2 ) & ( not b2 <=' b3 implies b1 = b3 ) holds
( ( b3 <=' b2 implies b1 = b3 ) & ( not b3 <=' b2 implies b1 = b2 ) )
proof end;
idempotence
for b1 being R_eal holds
( ( b1 <=' b1 implies b1 = b1 ) & ( not b1 <=' b1 implies b1 = b1 ) )
;
func max c1,c2 -> R_eal equals :Def2: :: EXTREAL2:def 2
a1 if a2 <=' a1
otherwise a2;
correctness
coherence
( ( c2 <=' c1 implies c1 is R_eal ) & ( not c2 <=' c1 implies c2 is R_eal ) )
;
consistency
for b1 being R_eal holds verum
;
;
commutativity
for b1, b2, b3 being R_eal st ( b3 <=' b2 implies b1 = b2 ) & ( not b3 <=' b2 implies b1 = b3 ) holds
( ( b2 <=' b3 implies b1 = b3 ) & ( not b2 <=' b3 implies b1 = b2 ) )
proof end;
idempotence
for b1 being R_eal holds
( ( b1 <=' b1 implies b1 = b1 ) & ( not b1 <=' b1 implies b1 = b1 ) )
;
end;

:: deftheorem Def1 defines min EXTREAL2:def 1 :
for b1, b2 being R_eal holds
( ( b1 <=' b2 implies min b1,b2 = b1 ) & ( not b1 <=' b2 implies min b1,b2 = b2 ) );

:: deftheorem Def2 defines max EXTREAL2:def 2 :
for b1, b2 being R_eal holds
( ( b2 <=' b1 implies max b1,b2 = b1 ) & ( not b2 <=' b1 implies max b1,b2 = b2 ) );

theorem Th75: :: EXTREAL2:75
for b1, b2 being R_eal st ( b1 = -infty or b2 = -infty ) holds
min b1,b2 = -infty
proof end;

theorem Th76: :: EXTREAL2:76
for b1, b2 being R_eal st ( b1 = +infty or b2 = +infty ) holds
max b1,b2 = +infty
proof end;

theorem Th77: :: EXTREAL2:77
for b1, b2 being R_eal
for b3, b4 being Real st b1 = b3 & b2 = b4 holds
( min b1,b2 = min b3,b4 & max b1,b2 = max b3,b4 )
proof end;

theorem Th78: :: EXTREAL2:78
for b1, b2 being R_eal st b1 <=' b2 holds
min b2,b1 = b1
proof end;

theorem Th79: :: EXTREAL2:79
for b1, b2 being R_eal st not b1 <=' b2 holds
min b2,b1 = b2 by Def1;

theorem Th80: :: EXTREAL2:80
for b1, b2 being R_eal st b1 <> +infty & b2 <> +infty & not ( b1 = +infty & b2 = +infty ) & not ( b1 = -infty & b2 = -infty ) holds
min b1,b2 = ((b1 + b2) - |.(b1 - b2).|) / (R_EAL 2)
proof end;

theorem Th81: :: EXTREAL2:81
for b1, b2 being R_eal holds
( min b1,b2 <=' b1 & min b2,b1 <=' b1 )
proof end;

theorem Th82: :: EXTREAL2:82
canceled;

theorem Th83: :: EXTREAL2:83
for b1, b2 being R_eal holds min b1,b2 = min b2,b1 ;

theorem Th84: :: EXTREAL2:84
for b1, b2 being R_eal holds
( min b1,b2 = b1 or min b1,b2 = b2 )
proof end;

theorem Th85: :: EXTREAL2:85
for b1, b2, b3 being R_eal holds
( ( b1 <=' b2 & b1 <=' b3 ) iff b1 <=' min b2,b3 )
proof end;

theorem Th86: :: EXTREAL2:86
canceled;

theorem Th87: :: EXTREAL2:87
for b1, b2 being R_eal st min b1,b2 = b2 holds
b2 <=' b1 by Def1;

theorem Th88: :: EXTREAL2:88
for b1, b2, b3 being R_eal holds min b1,(min b2,b3) = min (min b1,b2),b3
proof end;

theorem Th89: :: EXTREAL2:89
for b1, b2 being R_eal st b1 <=' b2 holds
max b1,b2 = b2
proof end;

theorem Th90: :: EXTREAL2:90
for b1, b2 being R_eal st not b1 <=' b2 holds
max b1,b2 = b1 by Def2;

theorem Th91: :: EXTREAL2:91
for b1, b2 being R_eal st b1 <> -infty & b2 <> -infty & not ( b1 = +infty & b2 = +infty ) & not ( b1 = -infty & b2 = -infty ) holds
max b1,b2 = ((b1 + b2) + |.(b1 - b2).|) / (R_EAL 2)
proof end;

theorem Th92: :: EXTREAL2:92
for b1, b2 being R_eal holds
( b1 <=' max b1,b2 & b1 <=' max b2,b1 )
proof end;

theorem Th93: :: EXTREAL2:93
canceled;

theorem Th94: :: EXTREAL2:94
for b1, b2 being R_eal holds max b1,b2 = max b2,b1 ;

theorem Th95: :: EXTREAL2:95
for b1, b2 being R_eal holds
( max b1,b2 = b1 or max b1,b2 = b2 )
proof end;

theorem Th96: :: EXTREAL2:96
for b1, b2, b3 being R_eal holds
( ( b1 <=' b2 & b3 <=' b2 ) iff max b1,b3 <=' b2 )
proof end;

theorem Th97: :: EXTREAL2:97
canceled;

theorem Th98: :: EXTREAL2:98
for b1, b2 being R_eal st max b1,b2 = b2 holds
b1 <=' b2 by Def2;

theorem Th99: :: EXTREAL2:99
for b1, b2, b3 being R_eal holds max b1,(max b2,b3) = max (max b1,b2),b3
proof end;

theorem Th100: :: EXTREAL2:100
for b1, b2 being R_eal holds (min b1,b2) + (max b1,b2) = b1 + b2
proof end;

theorem Th101: :: EXTREAL2:101
for b1, b2 being R_eal holds
( max b1,(min b1,b2) = b1 & max (min b1,b2),b1 = b1 & max (min b2,b1),b1 = b1 & max b1,(min b2,b1) = b1 )
proof end;

theorem Th102: :: EXTREAL2:102
for b1, b2 being R_eal holds
( min b1,(max b1,b2) = b1 & min (max b1,b2),b1 = b1 & min (max b2,b1),b1 = b1 & min b1,(max b2,b1) = b1 )
proof end;

theorem Th103: :: EXTREAL2:103
for b1, b2, b3 being R_eal holds
( min b1,(max b2,b3) = max (min b1,b2),(min b1,b3) & min (max b2,b3),b1 = max (min b2,b1),(min b3,b1) )
proof end;

theorem Th104: :: EXTREAL2:104
for b1, b2, b3 being R_eal holds
( max b1,(min b2,b3) = min (max b1,b2),(max b1,b3) & max (min b2,b3),b1 = min (max b2,b1),(max b3,b1) )
proof end;