Repository: sympy/sympy

Issue:
Eq(True, False) doesn't evaluate
```
>>> Eq(True, False)
Eq(True, False)
```

(expecting S.false as the answer)

Discussion:

Patch:
diff --git a/sympy/core/relational.py b/sympy/core/relational.py
index 136e305b93..10e984362c 100644
--- a/sympy/core/relational.py
+++ b/sympy/core/relational.py
@@ -8,7 +8,7 @@
 from .sympify import _sympify
 from .evaluate import global_evaluate
 
-from sympy.logic.boolalg import Boolean
+from sympy.logic.boolalg import Boolean, BooleanAtom
 
 __all__ = (
     'Rel', 'Eq', 'Ne', 'Lt', 'Le', 'Gt', 'Ge',
@@ -310,6 +310,10 @@ def __new__(cls, lhs, rhs=0, **options):
                 if r is not None:
                     return _sympify(r)
 
+            # If expression have both Boolean terms
+            if all(isinstance(i, BooleanAtom) for i in (rhs, lhs)):
+                return S.false  # equal args already evaluated
+
         return Relational.__new__(cls, lhs, rhs, **options)
 
     @classmethod


Test patch:
diff --git a/sympy/core/tests/test_relational.py b/sympy/core/tests/test_relational.py
index 4309441a6d..50ecadb032 100644
--- a/sympy/core/tests/test_relational.py
+++ b/sympy/core/tests/test_relational.py
@@ -661,3 +661,9 @@ def test_issue_10304():
     assert d.is_comparable is False  # if this fails, find a new d
     e = 1 + d*I
     assert simplify(Eq(e, 0)) is S.false
+
+def test_issue_10633():
+    assert Eq(True, False) == False
+    assert Eq(False, True) == False
+    assert Eq(True, True) == True
+    assert Eq(False, False) == True