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

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

list(usable).
x = x.
end_of_list.

list(sos).
f(e,x) = x.
f(x,e) = x.
f(g(x),x) = e.
f(x,g(x)) = e.
% f(f(x,y),z) = f(x,f(y,z)).

F(e,x) = x.
F(x,e) = x.
F(G(x),x) = e.
F(x,G(x)) = e.
% F(F(x,y),z) = F(x,F(y,z)).

f(A,B) != F(A,B) | g(A) != G(A).
end_of_list.

% The folloing demodulators result in a shorter proof.

list(demodulators).
f(e,e)=e.
F(e,e)=e.
end_of_list.

