%------------------------------------------------------------------------------%
% neg.pl
%------------------------------------------------------------------------------%
%
% Bitweise Negation.
%
%------------------------------------------------------------------------------%

neg(a,a).
neg(t(X),f(Y)) :- neg(X,Y).
neg(f(X),t(Y)) :- neg(X,Y).

rev(a,a).
rev(t(X),Y) :- rev(X,Z), Y = t(Z).
rev(f(X),Y) :- rev(X,Z), Y = f(Z).

%------------------------------------------------------------------------------%
% vim: sw=4 ts=4 et filetype=prolog fileformat=unix :
