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

%%%%%%%%%%%%%%%%%%%%%  Clauses
assign(max_weight, 21).
assign(max_mem, 16000).


list(usable).
x = x.
end_of_list.

list(sos).
1 * x = x.
x@ * x = 1.

% (x * (y * z)) * x = (x * y) * (z * x).  % Moufang 1
 ((x * y) * z) * y = x * (y * (z * y)).  % Moufang 2
% ((x * y) * x) * z = x * (y * (x * z)).  % Moufang 3

% (A * (B * C)) * A != (A * B) * (C * A).  % Moufang 1
% ((A * B) * C) * B != A * (B * (C * B)).  % Moufang 2
% ((A * B) * A) * C != A * (B * (A * C)).  % Moufang 3
end_of_list.

list(sos).
A*1!=A |  B*B@ !=1 |  C*x!=D |  y*E!=F.
end_of_list.

% formula_list(sos).
% -(
% (all x (x * 1 = x)) &
% (all x (x * x@ = 1)) &
% (all x all y exists z (x * z = y)) &
% (all x all y exists z (z * x = y))
% ).
% end_of_list.

list(passive).
end_of_list.

