op(400,xfx,*). set(para_from). set(para_into). set(para_from_vars). set(para_into_vars). set(order_eq). set(geometric_rule). set(geometric_rewrite_before). assign(pick_given_ratio, 4). clear(print_kept). clear(print_new_demod). clear(print_back_demod). assign(max_mem, 30000). assign(max_weight, 17). % set(back_demod). % set(process_input). %%%%%%%%%%%%%%%%%%%%% Modifications to basic gL strategy below. assign(max_weight, 1). set(hyper_res). set(para_from_units_only). set(para_into_units_only). list(usable). x = x. g(x1,x2,x3,x4,x5) != f(x1,x2,x3,x4,x5) | g(x2,x3,x4,x5,x1) = f(x2,x3,x4,x5,x1). end_of_list. list(sos). f(x,y,z,u,v) = f(x,y,z,v,u). % f(e,e,e,e,e) = e. f(u,v,w,x,f(u,v,w,x,y)) = y. g(x,y,z,u,v) = g(x,y,z,v,u). g(e,e,e,e,e) = e. g(u,v,w,x,g(u,v,w,x,y)) = y. end_of_list. list(passive). f(A,B,C,X,g(H,I,J,X,N)) != f(A,B,C,Y,g(H,I,J,Y,N)). end_of_list. weight_list(pick_given). % multiply symbol count by 10, then subtract 1 for each variable. weight(e,10). weight(x,9). weight(f($(1),$(1),$(1),$(1),$(1)),10). weight(g($(1),$(1),$(1),$(1),$(1)),10). weight($(1)=$(1),10). end_of_list. weight_list(purge_gen). weight(x, 0). weight(e, 0). weight(f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1), g($(1),$(1),$(1),$(1),$(1))))= f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1),$(1))), 1). %fgg=fg weight(f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1),$(1)))= f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1),$(1))), 1). % fg=fg weight(f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1),$(1)))= f($(1),$(1),$(1),$(1),$(1)), 1). % fg=f weight(g($(1),$(1),$(1),$(1),$(1))=f($(1),$(1),$(1),$(1),$(1)), 1). % g=f weight(f($(1),$(1),$(1),$(1),g($(1),$(1),$(1),$(1),$(1)))=$(1), 1). % fg=[ex] end_of_list.