# TrueQ returning False on true statement

Why does TrueQ return False on the following?

TrueQ[Log[2]/Log[8] == 1/3]
(* False *)


Shouldn't that be True? We can clearly see that the math checks out.

Log[2]/Log[8] // N
(* 0.333333 *)

8^(1/3)
(* 2 *)

-
TrueQ[Log[2]/Log[8] == 1/3] returns True with version 10 on Windows 7. – Simon Woods Jul 26 '14 at 10:25
I get False from V9, but True from V10. – m_goldberg Jul 26 '14 at 10:34
TrueQ[N[Log[2]/Log[8]] == 1/3] returns True.. :) Or TrueQ[Log[2.]/Log[8] == 1/3]. – Öskå Jul 26 '14 at 10:48
I get False with version 8.0.4 and True with v.10.0.0 under Win7 x64. – Alexey Popkov Jul 26 '14 at 14:23
I get TrueQ[Log[2.]/Log[8] == 1/3] as True in M9. And False for TrueQ[Log[2]/Log[8] == 1/3] in M9. Both returns True in M10. – m0nhawk Jul 28 '14 at 19:03

## 2 Answers

TrueQ does not attempt to resolve equivalencies:

TrueQ will return True only if the input is explicitly True

You can use TrueQ to "assume" that a test fails when its outcome is not clear.

Consider:

eq = D[Integrate[1/(x^3 + 1), x], x] == 1/(1 + x^3)

1/(3 (1 + x)) - (-1 + 2 x)/(6 (1 - x + x^2)) + 2/(3 (1 + 1/3 (-1 + 2 x)^2)) == 1/(1 + x^3)


This is not explicitly True – it is an equation, and TrueQ will yield False, but you can Simplify:

Simplify[eq]

True

-

In older versions use Simplify

\$Version


"9.0 for Mac OS X x86 (64-bit) (January 24, 2013)"

TrueQ[Log[2]/Log[8] == 1/3]


False

TrueQ[Log[2]/Log[8] == 1/3 // Simplify]


True

-
Using Simplify works with newer versions, too including 10.4. – murray Mar 11 at 23:25
@murray - Yes. But it is not needed then. This was to address a workaround for earlier version for which TrueQ did not work on its own. – Bob Hanlon Mar 11 at 23:30