packages feed

twee-2.5: tests/diff2.p

cnf('x\\(y\\x)=x', axiom,
    X \ (Y \ X) = X).
cnf('x\\(x\\y)=y\\(y\\x)', axiom,
    X \ (X \ Y) = Y \ (Y \ X)).
cnf('(x\\y)\\z=(x\\z)\\(y\\z)', axiom,
    (X \ Y) \ Z = (X \ Z) \ (Y \ Z)).

cnf(empty, axiom,
    X \ empty = X).

cnf(equals, conjecture,
    (X \ Y = empty & Y \ X = empty) => X = Y).

cnf(union, axiom,
    X \ union(Y, Z) = (X \ Y) \ Z).

cnf(union, conjecture,
    union(a,b) = union(b,a)).
cnf(union, conjecture,
    union(a,a) = a).
cnf(union, conjecture,
    union(a,union(b,c)) = union(union(a,b),c)).

cnf(intersection, axiom,
    intersection(X, Y) = X \ (X \ Y)).

cnf(intersection, conjecture,
    intersection(a,b) = intersection(b,a)).
cnf(intersection, conjecture,
    intersection(a,a) = a).
cnf(intersection, conjecture,
    intersection(a,intersection(b,c)) = intersection(intersection(a,b),c)).
cnf(intersection, conjecture,
    intersection(X, Y) = union(X,Y) \ union(X \ Y, Y \ X)).