MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Does Mathematica think Sqrt[2] is rational?

This might be already well known, but...

Consider the following expression

expr = ForAll[{x, y}, x^2 != 2 y^2]

If we test it over the Reals, it should be false, since x=Sqrt[2] and
y=1 falsify it.
Mathematica agrees with us

Reduce[expr, {x, y}, Reals]

However if we test it over the Integers or the Rationals it should be
true, as a demonstration that Sqrt[2] is not rational.
Mathematica , unfortunately,  does not agree with us

Reduce[expr, {x, y}, Integers]

Reduce[expr, {x, y}, Rationals]

So it appears that Mathematica thinks that there are 2 integers x, y
such that x^2 = 2 y^2.
Let's consider the negation of the previous expression

expr2 = Exists[{x, y}, x^2 == 2 y^2]

Mathematica correctly finds out that expr is true over the reals

Reduce[expr2, {x, y}, Reals]

But gives a wrong answer over the integers or the rationals

Reduce[expr2, {x, y}, Integers]

Reduce[expr2, {x, y}, Rationals]

Finally, if we try the inequality without the quantifiers, the results
are not very illuminating with the Reals, but still correct

Reduce[x^2 != 2 y^2, {x, y}, Reals]

While with Integers Mathematica misses the point entirely

Reduce[x^2 != 2 y^2, {x, y}, Integers]

Conclusion : Mathematica does not seem to realize that Sqrt[2] is

Am I missing something or WRI has been infiltrated by
Pythagoreans :-)  ?

  • Prev by Date: Re: Operate on Heads
  • Next by Date: Re: Bug: Derivative[] does not work with functions having slots in
  • Previous by thread: Re: Speeding up FindMinimum setup
  • Next by thread: Re: Does Mathematica think Sqrt[2] is rational?