code: def test_logic_not():
      assert Not("a") != "!a"
      assert Not("!a") != "a"
      assert Not(True) == False
      assert Not(False) == True
  
      # NOTE: we may want to change default Not behaviour and put this
      # functionality into some method.
      assert Not(And("a", "b")) == Or(Not("a"), Not("b"))
      assert Not(Or("a", "b")) == And(Not("a"), Not("b"))
  
      raises(ValueError, lambda: Not(1))
  
file_path: sympy/sympy/core/tests/test_logic.py
imports: from sympy.core.logic import fuzzy_not, Logic, And, Or, Not, fuzzy_and, fuzzy_or, _fuzzy_group, _torf, fuzzy_nand, fuzzy_xor
  from sympy.testing.pytest import raises
  from itertools import product
label_desc: Use image node_id 13 for calling a global function with example usage: test_logic_not() without return types