Beispiel #1
0
def test2b():
    x = SyExp("x", [])
    y = SyExp("y", [])
    e1 = SyExp("and", [x, y])
    e2 = SyExp("or", [x, SyExp("not", [y])])
    e3 = SyExp("eqv", [e1, e2])
    t = TseitinCNF(e3, 1)
    vids, names = t.get_primitive_vars()

    print(vids)
    print(names)

    cnf = t.cnfs
    cnf.append([t.get_overall_id()])

    status = qbf([1], cnf)
    print(e3, cnf)
    print("qbf: ", status)
    assert status is True

    status = qbf([1, 2], cnf)
    print("qbf: ", status)
    assert status is False
Beispiel #2
0
def test0():
    x = SyExp("x", [])
    y = SyExp("y", [])
    e1 = SyExp("and", [x, y])

    t = TseitinCNF(e1, 1)
    vids, names = t.get_primitive_vars()

    print(vids)
    print(names)

    cnf = t.cnfs
    cnf.append([t.get_overall_id()])

    status = qbf([1], cnf)

    print(e1, cnf)
    print("qbf: ", status)
    assert status is False
Beispiel #3
0
def test1b():
    x = SyExp("x", [])
    y = SyExp("y", [])
    e1 = SyExp("and", [x, y])
    e2 = SyExp("eqv", [e1, x])
    t = TseitinCNF(e2, 1)
    vids, names = t.get_primitive_vars()

    print(vids)
    print(names)

    cnf = t.cnfs
    cnf.append([t.get_overall_id()])

    print(e2, cnf)

    # forall x,   x /\y === x
    status = qbf([2], cnf)
    print("qbf: ", status)
    assert status is True