def test_Implies():
    (A, B, C) = list(map(Boolean, symbols('A,B,C')))
    raises(ValueError, 'Implies(A,B,C)')
    assert (Implies(True, True) == True)
    assert (Implies(True, False) == False)
    assert (Implies(False, True) == True)
    assert (Implies(False, False) == True)
    assert ((A >> B) == (B << A))
def test_Implies():
    (A, B, C) = list(map(Boolean, symbols('A,B,C')))
    raises(ValueError, 'Implies(A,B,C)')
    assert (Implies(True, True) == True)
    assert (Implies(True, False) == False)
    assert (Implies(False, True) == True)
    assert (Implies(False, False) == True)
    assert ((A >> B) == (B << A))