assign(order, kbo). % Knuth-Bendix ordering set(lex_order_vars). assign(max_weight, 50). list(weights). % Penalize deep equations by adding the depth to the symbol count. weight(x = y) = (weight(x) + weight(y)) + depth(x = y). end_of_list. formulas(sos). f(x,x,y) = x # label(majority). f(x,y,z) = f(z,x,y) # label(2a). f(x,y,z) = f(x,z,y) # label(2b). f(f(x,w,y),w,z) = f(x,w,f(y,w,z)) # label(associativity). end_of_list. set(restrict_denials). formulas(sos). % f(f(A,B,C),D,E) != f(f(A,D,E),f(B,D,E),f(C,D,E)) # answer(dist_long). % f(f(A,B,C),D,E) != f(A,f(B,D,E),f(C,D,E)) # answer(dist_short). f(f(A,B,C),D,E) != f(f(A,D,E),f(B,D,E),f(C,D,E)) | f(f(A,B,C),D,E) != f(A,f(B,D,E),f(C,D,E)) # answer(dist_both). end_of_list.