%%%%%%%%%%%%%%%%%%%%%  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, 25).
clear(para_into_units_only).  % allow para into nonunits

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

list(usable).
x = x.
((x + y) + z) + u != (y + z) + x | ((x + y) + z) + n(u) = 0.
((x + y) + z) + n(u) != 0 | ((x + y) + z) + u = (y + z) + x.
n(A + n(B)) + n(n(A) + n(B)) != B | (A + B) + C != A + (B + C) | B + A != A + B.
end_of_list.

list(sos).
x + x = x.
end_of_list.

weight_list(pick_and_purge).
weight(x + (x + (x + $(0))), 100).  % This is very important.
end_of_list.
