%%%%%%%%%%%%%%%%%%%%%  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 (gL) problems

set(geometric_rule).
set(geometric_rewrite_before).
set(para_from).
set(para_into).
set(para_from_vars).
set(para_into_vars).
set(order_eq).
set(back_demod).
set(process_input).
set(lrpo).

%%%%%%%%%%%%%%%%%%%%%  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

clear(process_input).
% clear(back_demod).
% clear(dynamic_demod).
assign(max_weight, 17).
clear(para_into_units_only).

lex([A,B,C,_+_,p(_,_,_)]).

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

list(usable).
x = x.
(A + B) + C != A + (B + C) | B + B != A + A | A + (B + B) != A.
end_of_list.

list(sos).
p(x,x,x) = x.
p(x,y,p(z,u,v)) = p(y,z,p(u,v,x)).
end_of_list.

list(demodulators).
p(x,y,z) = x + (y + z).
end_of_list.
