:: INT_2 semantic presentation  Show TPTP formulae Show IDV graph for whole article:: Showing IDV graph ... (Click the Palm Trees again to close it)

definition
let a be integer number ;
:: original: abs
redefine func abs a -> Nat;
coherence
abs a is Nat
proof end;
end;

theorem :: INT_2:1  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:2  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem Th3: :: INT_2:3  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Nat holds
( 0 divides a iff a = 0 )
proof end;

theorem Th4: :: INT_2:4  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Nat holds
( ( a = 0 or b = 0 ) iff a lcm b = 0 )
proof end;

theorem :: INT_2:5  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Nat holds
( ( a = 0 & b = 0 ) iff a hcf b = 0 )
proof end;

theorem :: INT_2:6  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Nat holds a * b = (a lcm b) * (a hcf b)
proof end;

theorem :: INT_2:7  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem Th8: :: INT_2:8  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for n being Nat holds
( - n is Nat iff n = 0 )
proof end;

theorem Th9: :: INT_2:9  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
- 1 is not Nat by Th8;

theorem Th10: :: INT_2:10  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer holds
( 0 divides a iff a = 0 )
proof end;

theorem Th11: :: INT_2:11  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer holds
( a divides - a & - a divides a )
proof end;

theorem Th12: :: INT_2:12  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer st a divides b holds
a divides b * c
proof end;

theorem Th13: :: INT_2:13  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer st a divides b & b divides c holds
a divides c
proof end;

theorem Th14: :: INT_2:14  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds
( ( a divides b implies a divides - b ) & ( a divides - b implies a divides b ) & ( a divides b implies - a divides b ) & ( - a divides b implies a divides b ) & ( a divides b implies - a divides - b ) & ( - a divides - b implies a divides b ) & ( a divides - b implies - a divides b ) & ( - a divides b implies a divides - b ) )
proof end;

theorem :: INT_2:15  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer st a divides b & b divides a & not a = b holds
a = - b
proof end;

theorem Th16: :: INT_2:16  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer holds
( a divides 0 & 1 divides a & - 1 divides a )
proof end;

theorem Th17: :: INT_2:17  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer holds
( ( not a divides 1 & not a divides - 1 ) or a = 1 or a = - 1 )
proof end;

theorem :: INT_2:18  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer st ( a = 1 or a = - 1 ) holds
( a divides 1 & a divides - 1 ) by Th16;

theorem :: INT_2:19  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer holds
( a,b are_congruent_mod c iff c divides a - b )
proof end;

theorem :: INT_2:20  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a being Integer holds abs a is Nat ;

theorem Th21: :: INT_2:21  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds
( a divides b iff abs a divides abs b )
proof end;

definition
let a, b be Integer;
canceled;
func a lcm' b -> Integer equals :: INT_2:def 2
(abs a) lcm (abs b);
coherence
(abs a) lcm (abs b) is Integer
;
commutativity
for b1, a, b being Integer st b1 = (abs a) lcm (abs b) holds
b1 = (abs b) lcm (abs a)
;
end;

:: deftheorem INT_2:def 1 :
canceled;

:: deftheorem defines lcm' INT_2:def 2 :
for a, b being Integer holds a lcm' b = (abs a) lcm (abs b);

theorem :: INT_2:22  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:23  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds a lcm' b is Nat ;

theorem :: INT_2:24  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem Th25: :: INT_2:25  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds a divides a lcm' b
proof end;

theorem :: INT_2:26  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for b, a being Integer holds b divides a lcm' b by Th25;

theorem Th27: :: INT_2:27  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer st a divides c & b divides c holds
a lcm' b divides c
proof end;

definition
let a, b be Integer;
func a gcd b -> Integer equals :: INT_2:def 3
(abs a) hcf (abs b);
coherence
(abs a) hcf (abs b) is Integer
;
commutativity
for b1, a, b being Integer st b1 = (abs a) hcf (abs b) holds
b1 = (abs b) hcf (abs a)
;
end;

:: deftheorem defines gcd INT_2:def 3 :
for a, b being Integer holds a gcd b = (abs a) hcf (abs b);

theorem :: INT_2:28  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:29  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds a gcd b is Nat ;

theorem :: INT_2:30  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem Th31: :: INT_2:31  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds a gcd b divides a
proof end;

theorem :: INT_2:32  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds a gcd b divides b by Th31;

theorem Th33: :: INT_2:33  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer st c divides a & c divides b holds
c divides a gcd b
proof end;

theorem :: INT_2:34  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds
( ( a = 0 or b = 0 ) iff a lcm' b = 0 )
proof end;

theorem Th35: :: INT_2:35  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer holds
( ( a = 0 & b = 0 ) iff a gcd b = 0 )
proof end;

definition
let a, b be Integer;
pred a,b are_relative_prime means :Def4: :: INT_2:def 4
a gcd b = 1;
symmetry
for a, b being Integer st a gcd b = 1 holds
b gcd a = 1
;
end;

:: deftheorem Def4 defines are_relative_prime INT_2:def 4 :
for a, b being Integer holds
( a,b are_relative_prime iff a gcd b = 1 );

theorem :: INT_2:36  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:37  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:38  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b being Integer st ( a <> 0 or b <> 0 ) holds
ex a1, b1 being Integer st
( a = (a gcd b) * a1 & b = (a gcd b) * b1 & a1,b1 are_relative_prime )
proof end;

theorem Th39: :: INT_2:39  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, b, c being Integer st a,b are_relative_prime holds
( (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 )
proof end;

theorem Th40: :: INT_2:40  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for c, a, b being Integer st c divides a * b & a,c are_relative_prime holds
c divides b
proof end;

theorem :: INT_2:41  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for a, c, b being Integer st a,c are_relative_prime & b,c are_relative_prime holds
a * b,c are_relative_prime
proof end;

definition
let p be Nat;
attr p is prime means :Def5: :: INT_2:def 5
( p > 1 & ( for n being Nat holds
( not n divides p or n = 1 or n = p ) ) );
end;

:: deftheorem Def5 defines prime INT_2:def 5 :
for p being Nat holds
( p is prime iff ( p > 1 & ( for n being Nat holds
( not n divides p or n = 1 or n = p ) ) ) );

definition
let m, n be Nat;
pred m,n are_relative_prime means :Def6: :: INT_2:def 6
m hcf n = 1;
symmetry
for m, n being Nat st m hcf n = 1 holds
n hcf m = 1
;
end;

:: deftheorem Def6 defines are_relative_prime INT_2:def 6 :
for m, n being Nat holds
( m,n are_relative_prime iff m hcf n = 1 );

theorem :: INT_2:42  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:43  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:44  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
2 is prime
proof end;

theorem :: INT_2:45  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
canceled;

theorem :: INT_2:46  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
not 4 is prime
proof end;

theorem :: INT_2:47  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for p, q being Nat st p is prime & q is prime & not p,q are_relative_prime holds
p = q
proof end;

scheme :: INT_2:sch 1
Ind1{ F1() -> Nat, P1[ Nat] } :
for k being Nat st k >= F1() holds
P1[k]
provided
A1: P1[F1()] and
A2: for k being Nat st k >= F1() & P1[k] holds
P1[k + 1]
proof end;

scheme :: INT_2:sch 2
CompInd1{ F1() -> Nat, P1[ Nat] } :
for k being Nat st k >= F1() holds
P1[k]
provided
A1: for k being Nat st k >= F1() & ( for n being Nat st n >= F1() & n < k holds
P1[n] ) holds
P1[k]
proof end;

theorem :: INT_2:48  Show TPTP formulae Show IDV graph:: Showing IDV graph ... (Click the Palm Tree again to close it) Show TPTP problem
for l being Nat st l >= 2 holds
ex p being Nat st
( p is prime & p divides l )
proof end;