:: Some Properties of Functions Modul and Signum
:: by Jan Popio{\l}ek
::
:: Received June 21, 1989
:: Copyright (c) 1990-2016 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, XREAL_0, COMPLEX1, CARD_1, XXREAL_0, ARYTM_1, ARYTM_3,
RELAT_1, SQUARE_1, REAL_1, ABSVALUE, INT_1, NAT_1;
notations ORDINAL1, NUMBERS, XCMPLX_0, XREAL_0, REAL_1, INT_1, COMPLEX1,
SQUARE_1, XXREAL_0;
constructors REAL_1, SQUARE_1, COMPLEX1, INT_1, XXREAL_0;
registrations XXREAL_0, XREAL_0, ORDINAL1, NAT_1, INT_1;
requirements REAL, NUMERALS, SUBSET, ARITHM, BOOLE;
theorems XCMPLX_0, XCMPLX_1, COMPLEX1, SQUARE_1, XREAL_1, XXREAL_0;
begin :: Absolute value
reserve x, y, z, r, s, t for Real;
definition
let x be Real;
redefine func |.x.| equals
:Def1:
x if 0 <= x otherwise -x;
correctness by COMPLEX1:43,70;
end;
registration
let x be non negative Real;
cluster |.x.| -> real;
coherence;
end;
registration
let x be non negative Real;
reduce |.x.| to x;
reducibility by Def1;
end;
theorem
|.x.| = x or |.x.| = -x by Def1;
theorem
x = 0 iff |.x.| = 0 by COMPLEX1:47;
theorem
|.x.| = -x & x <> 0 implies x < 0 by Def1;
theorem
-|.x.| <= x & x <= |.x.|
proof
per cases;
suppose
A1: x < 0;
then |.x.| = -x by Def1;
hence thesis by A1;
end;
suppose
A2: 0 <= x;
then -x <= -0;
hence thesis by A2,Def1;
end;
end;
theorem
-y <= x & x <= y iff |.x.| <= y
proof
hereby
assume that
A1: -y <= x and
A2: x <= y;
-x <= --y by A1,XREAL_1:24;
hence |.x.| <= y by A2,Def1;
end;
assume
A3: |.x.| <= y;
then
A4: 0 <= y by COMPLEX1:46;
per cases;
suppose 0 < x;
hence thesis by A3,A4,Def1;
end;
suppose
A5: x < 0;
then -x <= y by A3,Def1;
then -y <= --x by XREAL_1:24;
hence thesis by A5;
end;
suppose x = -0;
hence thesis by A3;
end;
end;
theorem
x <> 0 implies |.x.| * |.1/x.| = 1
proof
assume x <> 0;
then |.x.| * |.1/x.| = |.x * (1/x).| & |.x * (1/x).| = |.1.|
by COMPLEX1:65,XCMPLX_1:106;
hence thesis;
end;
theorem
|.1/x.| = 1/|.x.| by COMPLEX1:80;
theorem :: SQUARE_1:98
0 <= x*y implies sqrt (x*y) = sqrt |.x.|*sqrt |.y.|
proof
assume 0 <= x*y;
then |.x*y.| = x*y by Def1;
then
A1: |.x.|*|.y.| = x*y by COMPLEX1:65;
0 <= |.x.| & 0 <= |.y.| by COMPLEX1:46;
hence thesis by A1,SQUARE_1:29;
end;
theorem
|.x.| <= z & |.y.| <= t implies |.x+y.| <= z + t
proof
assume |.x.| <= z & |.y.| <= t;
then |.x+y.| <= |.x.| + |.y.| & |.x.| + |.y.| <= z + t by COMPLEX1:56
,XREAL_1:7;
hence thesis by XXREAL_0:2;
end;
theorem :: SQUARE_1:100
0 < x/y implies sqrt (x/y) = sqrt |.x.| / sqrt |.y.|
proof
assume 0 < x/y;
then x/y = |.x/y.| by Def1;
then
A1: x/y = |.x.|/|.y.| by COMPLEX1:67;
0 <= |.x.| & 0 <= |.y.| by COMPLEX1:46;
hence thesis by A1,SQUARE_1:30;
end;
theorem
0 <= x * y implies |.x+y.| = |.x.| + |.y.|
proof
assume
A1: 0 <= x * y;
per cases by A1;
suppose
x * y = 0;
then x = 0 or y = 0 by XCMPLX_1:6;
hence thesis;
end;
suppose
A5: 0 < x * y;
then
A6: x <> 0 & y <> 0;
per cases by A5,A6;
suppose that
A7: 0 < x & 0 < y;
|.x.| = x & |.y.| = y by A7,Def1;
hence thesis by A7,Def1;
end;
suppose that
A8: x < 0 and
A9: y < 0;
|.x.| = -x by A8,Def1;
then |.x.| + |.y.| = (-1) * x + -(1 * y) by A9,Def1
.= - ( x + y );
hence thesis by A8,A9,Def1;
end;
end;
end;
theorem
|.x+y.| = |.x.| + |.y.| implies 0 <= x * y
proof
A1: x * y < 0 implies x < 0 & 0 < y or 0 < x & y < 0
proof
assume
A2: x * y < 0;
then x <> 0 & y <> 0;
hence thesis by A2;
end;
A3: x < 0 & 0 < y & x + y < 0 implies |.x+y.| <> |.x.| + |.y.|
proof
assume that
A4: x < 0 and
A5: 0 < y and
A6: x + y < 0;
-(1 * x) + -y < -x + y by A5,XREAL_1:6;
then
A7: -( 1 * ( x + y ) ) < -x + y;
|.x.| = -x & |.y.| = y by A4,A5,Def1;
hence thesis by A6,A7,Def1;
end;
A8: 0 < x & y < 0 & x + y < 0 implies |.x+y.| <> |.x.| + |.y.|
proof
assume that
A9: 0 < x and
A10: y < 0 and
A11: x + y < 0;
-(1 * x) + -y < x + -y by A9,XREAL_1:6;
then
A12: - (1 * ( x + y )) < x + -y;
|.x.| = x & |.y.| = -y by A9,A10,Def1;
hence thesis by A11,A12,Def1;
end;
A13: 0 < x & y < 0 & 0 <= x + y implies |.x+y.| <> |.x.| + |.y.|
proof
assume that
A14: 0 < x and
A15: y < 0 and
A16: 0 <= x + y;
A17: |.y.| = -y by A15,Def1;
x + y < x + -y & |.x.| = x by A14,A15,Def1,XREAL_1:6;
hence thesis by A16,A17,Def1;
end;
A18: x < 0 & 0 < y & 0 <= x + y implies |.x+y.| <> |.x.| + |.y.|
proof
assume that
A19: x < 0 and
A20: 0 < y and
A21: 0 <= x + y;
A22: |.y.| = y by A20,Def1;
x + y < -x + y & |.x.| = -x by A19,Def1,XREAL_1:6;
hence thesis by A21,A22,Def1;
end;
assume |.x+y.| = |.x.| + |.y.| & 0 > x * y;
hence contradiction by A1,A3,A18,A8,A13;
end;
theorem
|.x+y.|/(1 + |.x+y.|) <= |.x.|/(1 + |.x.|) + |.y.|/(1 + |.y.|)
proof
A1: s <= t & 0 < 1 + s & 0 < 1 + t implies s/(1 + s) <= t/(1 + t)
proof
assume that
A2: s <= t and
A3: 0 < 1 + s and
A4: 0 < 1 + t;
s * 1 + s * t <= t + s * t by A2,XREAL_1:6;
then s * (1 + t) * (1 + s)" <= t * (1 + s) * (1 + s)" by A3,XREAL_1:64;
then s * (1 + t) * (1 + s)" <= t * ((1 + s) * (1 + s)");
then s * (1 + t) * (1 + s)" <= t * 1 by A3,XCMPLX_0:def 7;
then (s * (1 + s)") * (1 + t) * (1 + t)" <= t * (1 + t)" by A4,XREAL_1:64;
then (s * (1 + s)") * ((1 + t) * (1 + t)") <= t * (1 + t)";
then (s * (1 + s)") * 1 <= t * (1 + t)" by A4,XCMPLX_0:def 7;
then s/(1 + s) <= t * (1 + t)" by XCMPLX_0:def 9;
hence thesis by XCMPLX_0:def 9;
end;
set a = |.x.|, b = |.y.|, c = |.x+y.|;
A5: 0 <= a by COMPLEX1:46;
A6: 0 <= b by COMPLEX1:46;
A7: 0 + 0 < 1 + a by COMPLEX1:46,XREAL_1:8;
A8: 0 < 1 + a & 0 < 1 + a + b implies a/(1 + a + b) <= a/(1 + a)
proof
assume that
A9: 0 < 1 + a and
A10: 0 < 1 + a + b;
0 + a <= a * b + a by A5,A6,XREAL_1:6;
then a * 1 + a * a <= a * (1 + b) + a * a by XREAL_1:6;
then a * (1 + a) * (1 + a)" <= a * (1 + a + b) * (1 + a)" by A9,XREAL_1:64;
then a * ((1 + a) * (1 + a)") <= a * (1 + a + b) * (1 + a)";
then a * 1 <= a * (1 + a + b) * (1 + a)" by A7,XCMPLX_0:def 7;
then a * (1 + a + b)" <= (a * (1 + a)") * (1 + a + b) * (1 + a + b)" by A10
,XREAL_1:64;
then a * (1 + a + b)" <= (a * (1 + a)") * ((1 + a + b) * (1 + a + b)");
then a * (1 + a + b)" <= (a * (1 + a)") * 1 by A5,A6,XCMPLX_0:def 7;
then a/(1 + a + b) <= a * (1 + a)" by XCMPLX_0:def 9;
hence thesis by XCMPLX_0:def 9;
end;
A11: 0 + 0 < 1 + b by COMPLEX1:46,XREAL_1:8;
A12: 0 < 1 + b & 0 < 1 + a + b implies b/(1 + a + b) <= b/(1 + b)
proof
assume that
A13: 0 < 1 + b and
A14: 0 < 1 + a + b;
0 + b <= a * b + b by A5,A6,XREAL_1:6;
then b * 1 + b * b <= (1 + a) * b + b * b by XREAL_1:6;
then (b * (1 + b)) * (1 + b)" <= (b * (1 + a + b)) * (1 + b)" by A13,
XREAL_1:64;
then b * ((1 + b) * (1 + b)") <= (b * (1 + a + b)) * (1 + b)";
then b * 1 <= (b * (1 + a + b)) * (1 + b)" by A11,XCMPLX_0:def 7;
then
b * (1 + a + b)" <= ((b * (1 + b)") * (1 + a + b )) * (1 + a + b)" by A14,
XREAL_1:64;
then b * (1 + a + b)" <= (b * (1 + b)") * ((1 + a + b) *(1 + a + b)");
then b * (1 + a + b)" <= (b * (1 + b)") * 1 by A5,A6,XCMPLX_0:def 7;
then b/(1 + a + b) <= b * (1 + b)" by XCMPLX_0:def 9;
hence thesis by XCMPLX_0:def 9;
end;
0 + 0 < 1 + c by COMPLEX1:46,XREAL_1:8;
then
A15: c/(1 + c) <= (a + b)/(1 + (a + b)) by A5,A6,A1,COMPLEX1:56;
(a + b)/(1 + a + b) = a/(1 + a + b) + b/(1 + a + b) by XCMPLX_1:62;
then (a + b)/(1 + a + b) <= a/(1 + a) + b/(1 + b) by A6,A7,A8,A12,XREAL_1:7;
hence thesis by A15,XXREAL_0:2;
end;
:: Signum function
definition
let x;
func sgn x -> Real equals
:Def2:
1 if 0 < x, -1 if x < 0 otherwise 0;
coherence;
consistency;
projectivity;
end;
registration
let x;
cluster sgn x -> integer;
coherence
proof
x = 0 or x > 0 or x < 0;
hence thesis by Def2;
end;
end;
theorem
sgn x = 1 implies 0 < x
proof
assume that
A1: sgn x = 1 and
A2: 0 >= x;
x < 0 or x = 0 by A2;
hence contradiction by A1,Def2;
end;
theorem
sgn x = -1 implies x < 0
proof
assume that
A1: sgn x = -1 and
A2: x >= 0;
0 < x or x = 0 by A2;
hence contradiction by A1,Def2;
end;
theorem Th16:
sgn x = 0 implies x = 0
proof
assume that
A1: sgn x = 0 and
A2: x <> 0;
0 < x or x < 0 by A2;
hence contradiction by A1,Def2;
end;
theorem
x = |.x.| * sgn x
proof
A1: 0 < x implies x = |.x.| * sgn x
proof
assume
A2: 0 < x;
then |.x.| = x by Def1;
then |.x.| * sgn x = x * 1 by A2,Def2;
hence thesis;
end;
A3: x < 0 implies x = |.x.| * sgn x
proof
assume
A4: x < 0;
then |.x.| = -x by Def1;
then |.x.| * sgn x = (-x) * (-1) by A4,Def2
.= x;
hence thesis;
end;
x = 0 implies x = |.x.| * sgn x;
hence thesis by A1,A3;
end;
theorem Th18:
sgn (x * y) = sgn x * sgn y
proof
A1: 0 < x & 0 < y implies sgn (x * y) = sgn x * sgn y
proof
assume that
A2: 0 < x and
A3: 0 < y;
A4: sgn y = 1 by A3,Def2;
0 * y < x * y & sgn x = 1 by A2,A3,Def2,XREAL_1:68;
hence thesis by A4,Def2;
end;
A5: 0 < x & y < 0 implies sgn (x * y) = sgn x * sgn y
proof
assume that
A6: 0 < x and
A7: y < 0;
sgn y = -1 by A7,Def2;
then
A8: sgn x * sgn y = 1 * (-1) by A6,Def2
.= -1;
x * y < 0 * y by A6,A7,XREAL_1:69;
hence thesis by A8,Def2;
end;
A9: x < 0 & y < 0 implies sgn (x * y) = sgn x * sgn y
proof
assume that
A10: x < 0 and
A11: y < 0;
sgn y = -1 by A11,Def2;
then
A12: sgn x * sgn y = (-1) * (-1) by A10,Def2
.= 1;
x * 0 < x * y by A10,A11,XREAL_1:69;
hence thesis by A12,Def2;
end;
A13: x < 0 & 0 < y implies sgn (x * y) = sgn x * sgn y
proof
assume that
A14: x < 0 and
A15: 0 < y;
sgn y = 1 by A15,Def2;
then
A16: sgn x * sgn y = -1 by A14,Def2;
x * y < 0 * y by A14,A15,XREAL_1:68;
hence thesis by A16,Def2;
end;
x = 0 or y = 0 implies sgn (x * y) = sgn x * sgn y
proof
assume
A17: x = 0 or y = 0;
then sgn x = 0 or sgn y = 0 by Def2;
hence thesis by A17;
end;
hence thesis by A1,A5,A13,A9;
end;
::$CT
theorem
sgn (x + y) <= sgn x + sgn y + 1
proof
A1: y = 0 implies sgn (x + y) <= sgn x + sgn y + 1
proof
assume
A2: y = 0;
then sgn x + sgn y + 1 = sgn x + 0 + 1 by Def2
.= sgn x + 1;
hence thesis by A2,XREAL_1:29;
end;
A3: 0 < x & 0 < y implies sgn (x + y) <= sgn x + sgn y + 1
proof
sgn x < sgn x + 1 by XREAL_1:29;
then
A4: sgn x + 0 < sgn x + 1 + 1 by XREAL_1:8;
assume
A5: 0 < x & 0 < y;
then sgn x = 1 & sgn y = 1 by Def2;
hence thesis by A5,A4,Def2;
end;
A6: x < 0 & 0 < y implies sgn (x + y) <= sgn x + sgn y + 1
proof
assume that
A7: x < 0 and
A8: 0 < y;
sgn x = -1 by A7,Def2;
then
A9: sgn x + sgn y + 1 = 1 by A8,Def2;
x + y < 0 or x + y = 0 or 0 < x + y;
hence thesis by A9,Def2;
end;
A10: 0 < x & y < 0 implies sgn (x + y) <= sgn x + sgn y +1
proof
assume that
A11: 0 < x and
A12: y < 0;
sgn x = 1 by A11,Def2;
then
A13: sgn x + sgn y + 1 = 1 + -1 + 1 by A12,Def2
.= 1;
x + y < 0 or x + y = 0 or 0 < x + y;
hence thesis by A13,Def2;
end;
A14: x < 0 & y < 0 implies sgn (x + y) <= sgn x + sgn y + 1
proof
assume that
A15: x < 0 and
A16: y < 0;
sgn y = -1 by A16,Def2;
then sgn x + sgn y + 1 = -1 by A15,Def2;
hence thesis by A15,A16,Def2;
end;
x = 0 implies sgn (x + y) <= sgn x + sgn y + 1
proof
assume
A17: x = 0;
then sgn x + sgn y + 1 = 0 + sgn y + 1 by Def2
.= sgn y + 1;
hence thesis by A17,XREAL_1:29;
end;
hence thesis by A3,A10,A6,A14,A1;
end;
theorem Th20:
x <> 0 implies sgn x * sgn (1/x) = 1
proof
assume x <> 0;
then sgn ( x * (1/x) ) = sgn 1 by XCMPLX_1:106;
then sgn ( x * (1/x) ) = 1 by Def2;
hence thesis by Th18;
end;
theorem Th21:
1/(sgn x) = sgn (1/x)
proof
per cases;
suppose
A1: x = 0;
hence 1/(sgn x) = 1/0 by Def2
.= sgn (1/x) by A1,Def2;
end;
suppose
A2: x <> 0;
then (sgn x * sgn (1/x)) * (1/(sgn x)) = 1 * (1/(sgn x)) by Th20;
then sgn (1/x) * (sgn x * (1/(sgn x))) = 1/(sgn x);
then sgn (1/x) * 1 = 1 /(sgn x) by A2,Th16,XCMPLX_1:106;
hence thesis;
end;
end;
theorem
sgn x + sgn y - 1 <= sgn ( x + y )
proof
A1: x = 0 or y = 0 implies sgn x + sgn y - 1 <= sgn (x + y)
proof
A2: y = 0 implies sgn x + sgn y - 1 <= sgn (x + y)
proof
A3: sgn x - 1 < sgn x + -1 + 1 by XREAL_1:29;
assume
A4: y = 0;
then sgn x + sgn y - 1 = sgn x + 0 - 1 by Def2
.= sgn x - 1;
hence thesis by A4,A3;
end;
A5: x = 0 implies sgn x + sgn y - 1 <= sgn (x + y)
proof
A6: sgn y - 1 < sgn y + -1 + 1 by XREAL_1:29;
assume
A7: x = 0;
then sgn x + sgn y - 1 = 0 + sgn y - 1 by Def2
.= sgn y - 1;
hence thesis by A7,A6;
end;
assume x = 0 or y = 0;
hence thesis by A5,A2;
end;
A8: x < 0 & y < 0 implies sgn x + sgn y - 1 <= sgn (x + y)
proof
assume that
A9: x < 0 and
A10: y < 0;
sgn x = -1 by A9,Def2;
then
A11: sgn x = sgn (x + y) by A9,A10,Def2;
A12: sgn (x + y) + -1 - 1 < sgn (x + y) + -1 - 1 + 1 & sgn (x + y) + -1 <
sgn (x + y) + -1 + 1 by XREAL_1:29;
sgn y = -1 by A10,Def2;
hence thesis by A11,A12,XXREAL_0:2;
end;
A13: 0 < x & y < 0 implies sgn x + sgn y - 1 <= sgn (x + y)
proof
assume that
A14: 0 < x and
A15: y < 0;
sgn x = 1 by A14,Def2;
then
A16: sgn x + sgn y = 1 + -1 by A15,Def2
.= 0;
x + y < 0 or x + y = 0 or 0 < x + y;
hence thesis by A16,Def2;
end;
A17: x < 0 & 0 < y implies sgn x + sgn y - 1 <= sgn (x + y)
proof
assume that
A18: x < 0 and
A19: 0 < y;
sgn x = -1 by A18,Def2;
then
A20: sgn x + sgn y = -1 + 1 by A19,Def2
.= 0;
x + y < 0 or x + y = 0 or 0 < x + y;
hence thesis by A20,Def2;
end;
0 < x & 0 < y implies sgn x + sgn y - 1 <= sgn (x + y)
proof
assume that
A21: 0 < x and
A22: 0 < y;
sgn y = 1 by A22,Def2;
then sgn x + sgn y - 1 = 1 by A21,Def2;
hence thesis by A21,A22,Def2;
end;
hence thesis by A8,A17,A13,A1;
end;
theorem
sgn x = sgn (1/x)
proof
A1: 0 < x implies sgn x = sgn (1/x)
proof
assume
A2: 0 < x;
sgn (1/x) = 1/(sgn x) by Th21;
then sgn (1/x) = 1/1 by A2,Def2
.= 1;
hence thesis by A2,Def2;
end;
x < 0 implies sgn x = sgn (1/x)
proof
assume
A3: x < 0;
then sgn x = -1 by Def2;
then sgn (1/x) = 1/(-1) by Th21;
hence thesis by A3,Def2;
end;
hence thesis by A1;
end;
theorem
sgn (x/y) = (sgn x)/(sgn y)
proof
per cases;
suppose
A1: y = 0;
hence sgn (x/y) = sgn (x*0") by XCMPLX_0:def 9
.= (sgn x)*0" by Def2
.= (sgn x)/0 by XCMPLX_0:def 9
.= (sgn x)/(sgn y) by A1,Def2;
end;
suppose
A2: y <> 0;
x/y = (x/y) * 1 .= (x/y) * (y * (1/y)) by A2,XCMPLX_1:106
.= ((x/y) * y) * (1/y)
.= x * (1/y) by A2,XCMPLX_1:87;
then sgn (x/y) = sgn x * sgn (1/y) by Th18
.= ((sgn x)/1) * (1/(sgn y)) by Th21
.= (sgn x * 1)/(1 * sgn y) by XCMPLX_1:76
.= (sgn x)/(1 * sgn y);
hence thesis;
end;
end;
:: from SCMPDS_9. 2008.05.06, A.T.
theorem
0 <= r + |.r.|
proof
A1: 0 <= |.r.| by COMPLEX1:46;
|.r.| + |.r.| = r + |.r.| or |.r.| + r = -r + r by Def1;
hence thesis by A1;
end;
theorem
0 <= -r + |.r.|
proof
-r >= -|.r.| by XREAL_1:24,COMPLEX1:76;
then -r+|.r.| >= -|.r.|+|.r.| by XREAL_1:7;
hence thesis;
end;
theorem
|.r.| = |.s.| implies r = s or r = -s
proof
assume
A1: |.r.| = |.s.|;
assume
A2: r <> s;
per cases by Def1;
suppose
|.r.| = r & |.s.| = s;
hence thesis by A1,A2;
end;
suppose
|.r.| = r & |.s.| = -s;
hence thesis by A1;
end;
suppose
|.r.| = -r & |.s.| = s;
hence thesis by A1;
end;
suppose
|.r.| = -r & |.s.| = -s;
hence thesis by A1,A2;
end;
end;
theorem
for m being Nat holds m = |.m.|;
:: from JORDAN2C, 2011.07.03, A.T,
theorem
r <= 0 implies |.r.| = -r
proof
assume r<=0;
then r < 0 or r = 0;
hence thesis by Def1;
end;