예제 #1
0
def test_is_nnf():
    assert is_nnf(true) is True
    assert is_nnf(a) is True
    assert is_nnf(~a) is True
    assert is_nnf(a & b) is True
    assert is_nnf((a & b) | (~a & a) | (~b & b) | (~a & ~b), False) is True
    assert is_nnf((a | b) & (~a | ~b)) is True
    assert is_nnf(~(a | b)) is False
    assert is_nnf(a ^ b) is False
    assert is_nnf((a & b) | (~a & a) | (~b & b) | (~a & ~b), True) is False
예제 #2
0
def test_is_nnf():
    assert is_nnf(true) is True
    assert is_nnf(A) is True
    assert is_nnf(~A) is True
    assert is_nnf(A & B) is True
    assert is_nnf((A & B) | (~A & A) | (~B & B) | (~A & ~B), False) is True
    assert is_nnf((A | B) & (~A | ~B)) is True
    assert is_nnf(Not(Or(A, B))) is False
    assert is_nnf(A ^ B) is False
    assert is_nnf((A & B) | (~A & A) | (~B & B) | (~A & ~B), True) is False
예제 #3
0
def test_is_nnf():
    from diofant.abc import A, B
    assert is_nnf(true) is True
    assert is_nnf(A) is True
    assert is_nnf(~A) is True
    assert is_nnf(A & B) is True
    assert is_nnf((A & B) | (~A & A) | (~B & B) | (~A & ~B), False) is True
    assert is_nnf((A | B) & (~A | ~B)) is True
    assert is_nnf(Not(Or(A, B))) is False
    assert is_nnf(A ^ B) is False
    assert is_nnf((A & B) | (~A & A) | (~B & B) | (~A & ~B), True) is False