Article PEPIN, MML version 4.99.1005
:: PEPIN:th 1
theorem
for b1 being natural set holds
b1,b1 + 1 are_relative_prime;
:: PEPIN:th 2
theorem
for b1, b2 being natural set
st b2 is prime & not b1,b2 are_relative_prime
holds b1 hcf b2 = b2;
:: PEPIN:th 3
theorem
for b1, b2, b3 being natural set
st b1 divides b3 * b2 & b3,b1 are_relative_prime
holds b1 divides b2;
:: PEPIN:th 4
theorem
for b1, b2, b3 being natural set
st b1 divides b2 & b3 divides b2 & b1,b3 are_relative_prime
holds b1 * b3 divides b2;
:: PEPIN:funcreg 1
registration
let a1 be natural set;
cluster a1 ^2 -> natural;
end;
:: PEPIN:funcnot 1 => PEPIN:func 1
definition
let a1 be Element of NAT;
redefine func a1 ^2 -> Element of NAT;
end;
:: PEPIN:th 5
theorem
for b1 being integer set
st 1 < b1
holds 1 mod b1 = 1;
:: PEPIN:th 6
theorem
for b1, b2 being natural set
st b1 <> 0
holds b1 divides b2
iff
b2 mod b1 = 0;
:: PEPIN:th 7
theorem
for b1, b2 being natural set
st b1 <> 0 & b1 divides b2 mod b1
holds b1 divides b2;
:: PEPIN:th 8
theorem
for b1, b2, b3 being natural set
st 0 < b2 & b1 mod b2 = b3
holds b2 divides b1 - b3;
:: PEPIN:th 9
theorem
for b1, b2, b3 being natural set
st b1 * b2 <> 0 & b2 is prime & b3 mod (b1 * b2) < b2
holds b3 mod (b1 * b2) = b3 mod b2;
:: PEPIN:th 10
theorem
for b1 being natural set
for b2 being integer set holds
((b2 * b1) + 1) mod b1 = 1 mod b1;
:: PEPIN:th 11
theorem
for b1, b2, b3 being natural set
st 1 < b1 & (b2 * b3) mod b1 = b3 mod b1 & b3,b1 are_relative_prime
holds b2 mod b1 = 1;
:: PEPIN:th 12
theorem
for b1, b2, b3 being natural set holds
(b1 |^ b2) mod b3 = ((b1 mod b3) |^ b2) mod b3;
:: PEPIN:th 13
theorem
for b1 being natural set
st b1 <> 0
holds b1 ^2 mod (b1 + 1) = 1;
:: PEPIN:th 14
theorem
for b1, b2, b3 being natural set
st b1 ^2 < b2 & b3 mod b2 = b1
holds b3 ^2 mod b2 = b1 ^2;
:: PEPIN:th 15
theorem
for b1, b2 being natural set
st b1 is prime & b2 mod b1 = - 1
holds b2 ^2 mod b1 = 1;
:: PEPIN:th 16
theorem
for b1 being natural set
st b1 is even
holds b1 + 1 is odd;
:: PEPIN:th 17
theorem
for b1 being natural set
st 2 < b1 & b1 is prime
holds b1 is odd;
:: PEPIN:th 18
theorem
for b1 being natural set
st 0 < b1
holds 2 to_power b1 is even;
:: PEPIN:th 19
theorem
for b1, b2 being natural set
st b1 is odd & b2 is odd
holds b1 * b2 is odd;
:: PEPIN:th 20
theorem
for b1, b2 being natural set
st b1 is odd
holds b1 |^ b2 is odd;
:: PEPIN:th 21
theorem
for b1, b2 being natural set
st 0 < b1 & b2 is even
holds b2 |^ b1 is even;
:: PEPIN:th 22
theorem
for b1 being natural set holds
2 divides b1
iff
b1 is even;
:: PEPIN:th 23
theorem
for b1, b2 being natural set
st b1 * b2 is even & b1 is odd
holds b2 is even;
:: PEPIN:th 24
theorem
for b1 being natural set holds
b1 |^ 2 = b1 ^2;
:: PEPIN:th 26
theorem
for b1, b2 being natural set
st 1 < b1 & 0 < b2
holds 1 < b1 |^ b2;
:: PEPIN:th 27
theorem
for b1, b2 being natural set
st b1 <> 0 & b2 <> 0
holds b1 |^ b2 = b1 * (b1 |^ (b2 -' 1));
:: PEPIN:th 28
theorem
for b1, b2 being natural set
st b2 mod 2 = 0
holds (b1 |^ (b2 div 2)) ^2 = b1 |^ b2;
:: PEPIN:th 29
theorem
for b1, b2 being natural set
st b1 <> 0 & 1 <= b2
holds (b1 |^ b2) div b1 = b1 |^ (b2 -' 1);
:: PEPIN:th 30
theorem
for b1 being natural set holds
2 |^ (b1 + 1) = (2 |^ b1) + (2 |^ b1);
:: PEPIN:th 31
theorem
for b1, b2, b3 being natural set
st 1 < b1 & b1 |^ b2 = b1 |^ b3
holds b2 = b3;
:: PEPIN:th 32
theorem
for b1, b2 being natural set holds
b1 <= b2
iff
2 |^ b1 divides 2 |^ b2;
:: PEPIN:th 33
theorem
for b1, b2, b3 being natural set
st b1 is prime & b2 divides b1 |^ b3 & b2 <> 1
holds ex b4 being Element of NAT st
b2 = b1 * b4;
:: PEPIN:th 34
theorem
for b1, b2, b3 being natural set
st b3 <> 0 & b1 is prime & b3 < b1 |^ (b2 + 1)
holds b3 divides b1 |^ (b2 + 1)
iff
b3 divides b1 |^ b2;
:: PEPIN:th 35
theorem
for b1, b2, b3 being natural set
st b1 is prime & b2 divides b1 |^ b3 & b2 <> 0
holds ex b4 being Element of NAT st
b2 = b1 |^ b4 & b4 <= b3;
:: PEPIN:th 36
theorem
for b1, b2, b3 being natural set
st 1 < b1 & b2 mod b1 = 1
holds (b2 |^ b3) mod b1 = 1;
:: PEPIN:th 37
theorem
for b1, b2 being natural set
st 0 < b1
holds (b2 |^ b1) mod b2 = 0;
:: PEPIN:th 38
theorem
for b1, b2 being natural set
st b2 is prime & b1,b2 are_relative_prime
holds (b1 |^ (b2 -' 1)) mod b2 = 1;
:: PEPIN:th 39
theorem
for b1, b2, b3 being natural set
st b1 is prime & 1 < b2 & b2 divides b1 |^ b3 & not b2 divides (b1 |^ b3) div b1
holds b2 = b1 |^ b3;
:: PEPIN:funcnot 2 => PEPIN:func 2
definition
let a1 be integer set;
redefine func a1 ^2 -> Element of NAT;
end;
:: PEPIN:th 40
theorem
for b1, b2 being natural set
st 1 < b2
holds b1 mod b2 = 1
iff
b1,1 are_congruent_mod b2;
:: PEPIN:th 43
theorem
for b1, b2, b3, b4 being integer set
st b1,b2 are_congruent_mod b3 & b1,b4 are_congruent_mod b3
holds b2,b4 are_congruent_mod b3;
:: PEPIN:th 44
theorem
3 is prime;
:: PEPIN:th 45
theorem
for b1 being natural set
st b1 <> 0
holds Euler b1 <> 0;
:: PEPIN:th 46
theorem
for b1 being natural set
st b1 <> 0
holds - b1 < b1;
:: PEPIN:th 48
theorem
for b1 being natural set
st b1 <> 0
holds b1 div b1 = 1;
:: PEPIN:funcnot 3 => PEPIN:func 3
definition
let a1, a2, a3 be natural set;
func Crypto(A2,A3,A1) -> Element of NAT equals
(a2 |^ a1) mod a3;
end;
:: PEPIN:def 1
theorem
for b1, b2, b3 being natural set holds
Crypto(b2,b3,b1) = (b2 |^ b1) mod b3;
:: PEPIN:th 49
theorem
for b1, b2, b3, b4, b5 being natural set
st b1 is prime & b2 is prime & b1 <> b2 & b3 = b1 * b2 & b4,Euler b3 are_relative_prime & (b4 * b5) mod Euler b3 = 1
for b6 being Element of NAT
st b6 < b3
holds Crypto(Crypto(b6,b3,b4),b3,b5) = b6;
:: PEPIN:funcnot 4 => PEPIN:func 4
definition
let a1, a2 be natural set;
assume 1 < a2 & a1,a2 are_relative_prime;
func order(A1,A2) -> Element of NAT means
0 < it &
(a1 |^ it) mod a2 = 1 &
(for b1 being natural set
st 0 < b1 & (a1 |^ b1) mod a2 = 1
holds 0 < it & it <= b1);
end;
:: PEPIN:def 2
theorem
for b1, b2 being natural set
st 1 < b2 & b1,b2 are_relative_prime
for b3 being Element of NAT holds
b3 = order(b1,b2)
iff
0 < b3 &
(b1 |^ b3) mod b2 = 1 &
(for b4 being natural set
st 0 < b4 & (b1 |^ b4) mod b2 = 1
holds 0 < b3 & b3 <= b4);
:: PEPIN:th 50
theorem
for b1 being natural set
st 1 < b1
holds order(1,b1) = 1;
:: PEPIN:th 52
theorem
for b1, b2, b3 being natural set
st 1 < b1 & 0 < b2 & (b3 |^ b2) mod b1 = 1 & b3,b1 are_relative_prime
holds order(b3,b1) divides b2;
:: PEPIN:th 53
theorem
for b1, b2, b3 being natural set
st 1 < b1 & b2,b1 are_relative_prime & order(b2,b1) divides b3
holds (b2 |^ b3) mod b1 = 1;
:: PEPIN:th 54
theorem
for b1, b2 being natural set
st b1 is prime & b2,b1 are_relative_prime
holds order(b2,b1) divides b1 -' 1;
:: PEPIN:funcnot 5 => PEPIN:func 5
definition
let a1 be natural set;
func Fermat A1 -> Element of NAT equals
(2 |^ (2 |^ a1)) + 1;
end;
:: PEPIN:def 3
theorem
for b1 being natural set holds
Fermat b1 = (2 |^ (2 |^ b1)) + 1;
:: PEPIN:th 55
theorem
Fermat 0 = 3;
:: PEPIN:th 56
theorem
Fermat 1 = 5;
:: PEPIN:th 57
theorem
Fermat 2 = 17;
:: PEPIN:th 58
theorem
Fermat 3 = 257;
:: PEPIN:th 59
theorem
Fermat 4 = (256 * 256) + 1;
:: PEPIN:th 60
theorem
for b1 being natural set holds
2 < Fermat b1;
:: PEPIN:th 61
theorem
for b1, b2 being natural set
st b1 is prime & 2 < b1 & b1 divides Fermat b2
holds ex b3 being Element of NAT st
b1 = (b3 * (2 |^ (b2 + 1))) + 1;
:: PEPIN:th 62
theorem
for b1 being natural set
st b1 <> 0
holds 3,Fermat b1 are_relative_prime;
:: PEPIN:th 63
theorem
for b1 being natural set
st 3 |^ (((Fermat b1) -' 1) div 2),- 1 are_congruent_mod Fermat b1
holds Fermat b1 is prime;
:: PEPIN:th 64
theorem
5 is prime;
:: PEPIN:th 65
theorem
17 is prime;
:: PEPIN:th 66
theorem
257 is prime;
:: PEPIN:th 67
theorem
(256 * 256) + 1 is prime;
:: PEPIN:th 68
theorem
for b1, b2 being natural set
st 0 < b2 & b1 mod b2 = 0
holds b1 div b2 = b1 / b2;
:: PEPIN:th 69
theorem
for b1, b2 being natural set
st 0 < b2
holds (b1 |^ b2) div b1 = (b1 |^ b2) / b1;
:: PEPIN:th 70
theorem
for b1 being real set
for b2 being natural set
st 0 < b2 & 1 < b1
holds 1 < b1 |^ b2;
:: PEPIN:th 71
theorem
for b1 being real set
for b2, b3 being natural set
st 1 < b1 & b3 < b2
holds b1 |^ b3 < b1 |^ b2;