Journal of Formalized Mathematics
Volume 2, 1990
University of Bialystok
Copyright (c) 1990
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Rafal Kwiatek,
and
- Grzegorz Zwara
- Received July 10, 1990
- MML identifier: INT_2
- [
Mizar article,
MML identifier index
]
environ
vocabulary ARYTM_3, INT_1, ARYTM_1, ABSVALUE, FILTER_0, INT_2;
notation SUBSET_1, NUMBERS, XCMPLX_0, XREAL_0, REAL_1, INT_1, NAT_1, GROUP_1;
constructors REAL_1, NAT_1, GROUP_1, XBOOLE_0;
clusters INT_1, ZFMISC_1, XBOOLE_0;
requirements REAL, NUMERALS, SUBSET, ARITHM;
begin
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: SOME PROPERTIES ON FUNCTIONS: HCF & LCM FOR NATURAL NUMBERS ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
reserve a,b,c,d,e,f,g,h,z for Nat;
canceled 2;
theorem :: INT_2:3
0 divides a iff a = 0;
theorem :: INT_2:4
a = 0 or b = 0 iff a lcm b = 0;
theorem :: INT_2:5
a = 0 & b = 0 iff a hcf b = 0;
theorem :: INT_2:6
a*b = (a lcm b)*(a hcf b);
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: SOME PROPERTIES OF INTEGER NUMBERS ::
:: LCM,HCF ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
reserve m,n for Nat;
reserve a,b,c,d,a1,b1,a2,b2,k,l for Integer;
canceled;
theorem :: INT_2:8
-n is Nat iff n = 0;
theorem :: INT_2:9
not -1 is Nat;
theorem :: INT_2:10
0 divides a iff a = 0;
theorem :: INT_2:11
a divides -a & -a divides a;
theorem :: INT_2:12
a divides b implies a divides b*c;
theorem :: INT_2:13
a divides b & b divides c implies a divides c;
theorem :: INT_2:14
(a divides b iff a divides -b) & (a divides b iff -a divides b) & (a
divides b iff -a divides -b) & (a divides -b iff -a divides b);
theorem :: INT_2:15
a divides b & b divides a implies a = b or a = -b;
theorem :: INT_2:16
a divides 0 & 1 divides a & -1 divides a;
theorem :: INT_2:17
a divides 1 or a divides -1 implies a = 1 or a = -1;
theorem :: INT_2:18
a = 1 or a = -1 implies a divides 1 & a divides -1;
theorem :: INT_2:19
a,b are_congruent_mod c iff c divides (a-b);
theorem :: INT_2:20
abs(a) is Nat;
theorem :: INT_2:21
a divides b iff (abs(a)) divides (abs(b));
::::::::::::::::::
:: LCM ::
::::::::::::::::::
definition let a,b;
canceled;
func a lcm' b -> Integer equals
:: INT_2:def 2
abs(a) lcm abs(b);
commutativity;
end;
canceled;
theorem :: INT_2:23
a lcm' b is Nat;
canceled;
theorem :: INT_2:25
a divides (a lcm' b);
theorem :: INT_2:26
b divides (a lcm' b);
theorem :: INT_2:27
for c st a divides c & b divides c holds (a lcm' b) divides c;
::::::::::::::::::
:: GCD ::
::::::::::::::::::
definition let a,b;
func a gcd b -> Integer equals
:: INT_2:def 3
abs(a) hcf abs(b);
commutativity;
end;
canceled;
theorem :: INT_2:29
a gcd b is Nat;
canceled;
theorem :: INT_2:31
(a gcd b) divides a;
theorem :: INT_2:32
(a gcd b) divides b;
theorem :: INT_2:33
for c st c divides a & c divides b holds c divides (a gcd b);
theorem :: INT_2:34
a = 0 or b = 0 iff a lcm' b = 0;
theorem :: INT_2:35
a = 0 & b = 0 iff a gcd b = 0;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: RELATIVE PRIME NUMBERS ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
definition let a,b;
pred a,b are_relative_prime means
:: INT_2:def 4
a gcd b = 1;
symmetry;
end;
canceled 2;
theorem :: INT_2:38
a<>0 or b<>0 implies ex a1,b1 st
a = (a gcd b)*a1 & b = (a gcd b)*b1 & a1,b1 are_relative_prime;
theorem :: INT_2:39
a,b are_relative_prime implies (c*a gcd c*b) = abs(c)
& c*a gcd b*c = abs(c) & a*c gcd c*b = abs(c) & a*c gcd b*c = abs(c);
theorem :: INT_2:40
c divides a*b & a,c are_relative_prime implies c divides b;
theorem :: INT_2:41
a,c are_relative_prime & b,c are_relative_prime implies
a*b,c are_relative_prime;
::***************************************************************************::
:: PRIME NUMBERS ::
::***************************************************************************::
reserve p,p1,q,k,l for Nat;
reserve x for Real;
reserve X for Subset of REAL;
definition let p;
attr p is prime means
:: INT_2:def 5
p>1 &
for n holds n divides p implies n = 1 or n = p;
end;
definition let m,n;
pred m,n are_relative_prime means
:: INT_2:def 6
m hcf n = 1;
end;
canceled 2;
theorem :: INT_2:44
2 is prime;
canceled;
theorem :: INT_2:46
ex p st not p is prime;
theorem :: INT_2:47
p is prime & q is prime implies p,q are_relative_prime or p = q;
scheme Ind1 { a() -> Nat,P[Nat] } : for k st k>=a() holds P[k] provided
P[a()] and
for k st k>=a() & P[k] holds P[k+1];
scheme Comp_Ind1 { a() -> Nat,P[Nat] } : for k st k>=a() holds P[k] provided
for k st k>=a() & (for n st n>=a() & n<k holds P[n]) holds P[k];
theorem :: INT_2:48
l>=2 implies ex p st p is prime & p divides l;
Back to top