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

assign(max_weight, 15).
assign(neg_weight, -10).

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

list(usable).
x = x.
end_of_list.

list(sos).
x * y = y * x.
x * (y * x) = y.

A * P = O.
B * Q = O.
C * R = O.

P * Q = W.
P * R = V.
Q * R = U.

A * B = W.
A * C = V.
B * C = U.

U * V = W.
end_of_list.

list(usable).
O * O != A * A | O * O != B * B | O * O != C * C | P * P != O * O | 
   Q * Q != O * O | R * R != O * O | U * U != O * O |
   V * V != O * O | W * W != O * O.
end_of_list.
