%%%%%%%%%%%%%%%%%%%%%  Basic options

op(400, xfx, [*,+,^,v,/,\,#]).  % infix operators
op(300,yf,@).                   % postfix operator

clear(print_kept).
clear(print_new_demod).
clear(print_back_demod).

assign(pick_given_ratio, 4).
assign(max_mem, 20000).

%%%%%%%%%%%%%%%%%%%%%  Standard for equational problems

set(knuth_bendix).
set(build_proof_object).

%%%%%%%%%%%%%%%%%%%%%  Standard options for hyperresolution

set(output_sequent).
set(hyper_res).
set(order_history).
set(unit_deletion).
set(para_from_units_only).
set(para_into_units_only).

%%%%%%%%%%%%%%%%%%%%%  Modifications to strategy

assign(max_weight, 15).

%%%%%%%%%%%%%%%%%%%%%  Clauses

list(usable).
x = x.
A ^ A != A | B ^ A != A ^ B | A v A != A | B v A != A v B.
end_of_list.

list(sos).
(x ^ y) v (x ^ (x v y)) = x.
(x ^ x) v (y ^ (x v x)) = x.
(x ^ y) v (y ^ (x v y)) = y.

((x v y) ^ (z v x)) ^ x = x.  % (5a)
((x ^ y) v (z ^ x)) v x = x.  % (5b)
end_of_list.

% The following is so that if the denial clause gets back
% demodulated and put on sos, it will be selected right
% away as the given clause.

weight_list(pick_and_purge).
weight(A, -1).
weight(B, -1).
weight(C, -1).
end_of_list.
