28 lines
583 B
Python
28 lines
583 B
Python
from dedekint import REAL
|
||
# mpq for rational numbers
|
||
from gmpy2 import mpq
|
||
|
||
# Theorem 3.1 (4)
|
||
# Die Menge {q ∈ Q | q < x} ist eine entscheidbare Menge rationaler Zahlen (Dedekind’scher Schnitt)
|
||
|
||
def sqrt_two(q):
|
||
if q <= 0 or q * q < 2: return True
|
||
return False
|
||
|
||
|
||
x = REAL(sqrt_two)
|
||
|
||
print("1.41422 is smaller:", x.smaller(mpq(141422, 100000)))
|
||
print("1.41421 is smaller:", x.smaller(mpq(141421, 100000)))
|
||
|
||
k = 0
|
||
n = 1
|
||
z = 0
|
||
|
||
for k in range(100):
|
||
if x.smaller(mpq(z, n)):
|
||
z = z + 1
|
||
else:
|
||
print(z, "/", n)
|
||
z = (z - 1) * 10
|
||
n = n * 10 |