%%%%%%%%%%%%%%%%%%%%% 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, 28). lex([1,A,B,C,_*_,_+_,_@,p(_,_,_)]). %%%%%%%%%%%%%%%%%%%%% Clauses list(usable). x = x. A + (B * C) != (A + B) * (A + C) | (A * B) + B != B | B * B@ != A * A@. end_of_list. list(sos). (x + y) * y = y. x * (y + z) = (x * y) + (x * z). x + x@ = 1. p(x,y,z) = (x*y@) + ((x*z) + (y@ * z)). p(x,x,y) = y. p(x,y,y) = x. p(x,y,x) = x. end_of_list. % weight_list(pick_and_purge). % weight(A, 0). % weight(B, 0). % weight(C, 0). % end_of_list. % End of ordinary input (which includes preceding weight_list) which % gives a proof of length 135 in 92 seconds. The following was contributed % by Larry Wos and leads quickly to a proof of length 78. assign(max_weight, 8). weight_list(pick_and_purge). weight(A, 0). weight(B, 0). weight(C, 0). % Following are the positive deduced steps of temp.wos.dualba2.test.out15, % 73 of them from a proof listed as of length 78. weight(1*x@ =x@ ,4). weight(x@ + (1*y)=1* (x@ +y),4). weight(x+ ((y+x)*z)= (y+x)* (x+z),4). weight(((x+y)*z)+y= (x+y)* (z+y),4). weight((x* (y+z))* (x*z)=x*z,4). weight(1* (x@ +y@ )=x@ +y@ ,4). weight(1*1=1,4). weight((x+y)* (y+y)=y+y,4). weight(((x+y)* (z+y))*y=y,4). weight(((x+y@ )*1)*y@ =y@ ,4). weight(1* (x@ +1)=x@ +1,4). weight((1* (x+1))*1=1,4). weight((1*x)+1=1* (x+1),4). weight((1* (x+1))* (1+1)=1+1,4). weight(1@ + (1+ (1@ *1))=1,4). weight(x@ + (((y+x@ )*x)+ (x@ *x))=y+x@ ,4). weight(x@ * (x@ + (x+x))=x@ ,4). weight((x*y)+ ((x*z)+ (z@ *z))=x* (y+ ((x*z)+ (z@ *z))),4). weight(x* ((x*y)+ (y@ *y))= (x*y)+ (y@ *y),4). weight(x* (y@ + ((x*y)+ (y@ *y)))=x,4). weight((x@ *y)+x@ =x@ * (y+ (x@ + (x+x))),4). weight(1* (x+1)=1,4). weight(1+1=1,4). weight(x@ +1=1,4). weight(1@ *1=1@ ,4). weight((x+1@ )*1=x+1@ ,4). weight(x* (1@ + ((x*1)+1@ ))=x,4). weight(x* ((x*1)+1@ )= (x*1)+1@ ,4). weight(1@ +1@ =1@ ,4). weight(1@ * (x+1@ )=1@ * (x+1),4). weight(1@ + (x+1@ )=x+1@ ,4). weight((x*1)+1@ =x,4). weight(x*x=x,4). weight(x+1=1,4). weight(1@ * (x+1@ )=1@ ,4). weight(1@ +x=x,4). weight(x*1=x,4). weight(x*1@ =1@ ,4). weight(x+1@ =x,4). weight(1@ *x=1@ ,4). weight((x*y)+x=x* (y+x),4). weight(x+ (x*y)=x* (x+y),4). weight(x* (y+x)=x,4). weight(x* (x+y)=x* (1+y),4). weight((x*y)+x=x,4). weight(x* (1+x@ )=x,4). weight(x*x@ =1@ ,4). weight(x@ *x=1@ ,4). weight(x* ((y+x)+z)=x* (x+z),4). weight(x@ @ =x,4). weight((x*y)+ (x@ *y)=y,4). weight(1@ =x*x@ ,4). weight(x@ * (y+x)=x@ *y,4). weight(x@ * (x+y)=x@ *y,4). weight((x* (1+y))+ (x@ *y)=x+y,4). weight(x*x@ =y*y@ ,4). weight(x@ * ((y+x)+z)=x@ * (y+z),4). weight(1+x=1,4). weight(x* (x+y)=x,4). weight(x+ (x@ *y)=x+y,4). weight(x* ((y+x)+z)=x,4). weight(x+ (x*y)=x,4). weight((x+y)+z=y+ (x+z),4). weight(x+ (x+y)=x+y,4). weight((x*y)+y=y,4). weight(x+ ((y*x)+z)=x+z,4). weight(x+ (y*x)=x,4). weight(x+ (y* (x+z))=x+ (y*z),4). weight((x*y)+ (y*z)=y* ((x*y)+z),4). weight((x*y)+ (z*x)=x* (y+ (z*x)),4). weight(x+ ((x+y)*z)= (x+y)* (x+z),4). weight(x*y=y*x,4). weight(x+ (y*z)= (x+z)* (x+y),4). end_of_list.