def test_symbol():
    p = Symbol('p')
    s = Symbol('s')
    t = Symbol('t')
    assert (s.matches(s) == {})
    assert (s.matches(t) == None)
    assert (s.matches(t, {}, ([s], [True])) == {s: t})
    assert (s.matches(t, {}, ([s, t], [True, True])) == None)
def test_symbol():
    p = Symbol('p')
    s = Symbol('s')
    t = Symbol('t')
    assert (s.matches(s) == {})
    assert (s.matches(t) == None)
    assert (s.matches(t, {}, ([s], [True])) == {s: t})
    assert (s.matches(t, {}, ([s, t], [True, True])) == None)