code: def test_FactRules_parse():
      f = FactRules("a -> b")
      assert f.prereq == {"b": {"a"}, "a": {"b"}}
  
      f = FactRules("a -> !b")
      assert f.prereq == {"b": {"a"}, "a": {"b"}}
  
      f = FactRules("!a -> b")
      assert f.prereq == {"b": {"a"}, "a": {"b"}}
  
      f = FactRules("!a -> !b")
      assert f.prereq == {"b": {"a"}, "a": {"b"}}
  
      f = FactRules("!z == nz")
      assert f.prereq == {"z": {"nz"}, "nz": {"z"}}
  
file_path: sympy/sympy/core/tests/test_facts.py
imports: from sympy.core.facts import deduce_alpha_implications, apply_beta_to_alpha_route, rules_2prereq, FactRules, FactKB
  from sympy.core.logic import And, Not
  from sympy.testing.pytest import raises
label_desc: Use image node_id 3 for calling a global function with example usage: test_FactRules_parse() without return types