Otteri süntaksis planeerimisülesanne
Allikas: Lambda
set(prolog_style_variables). set(tptp_eq). %set(binary_unit_res). set(auto). list(sos). holds(and(X,Y),State) | -holds(X,State) | -holds(Y,State). holds(holding(X),do(pickup(X),State)) | -holds(empty,State) | -holds(clear(X),State) | -differ(X,table) . holds(clear(Y),do(pickup(X),State)) | -holds(on(X,Y),State) | -holds(clear(X),State) | -holds(empty,State) . holds(on(X,Y),do(pickup(Z),State)) | -holds(on(X,Y),State) | -differ(X,Z) . holds(clear(X),do(pickup(Z),State)) | -holds(clear(X),State) | -differ(X,Z) . holds(empty,do(putdown(X,Y),State)) | -holds(holding(X),State) | -holds(clear(Y),State) . holds(on(X,Y),do(putdown(X,Y),State)) | -holds(holding(X),State) | -holds(clear(Y),State) . holds(clear(X),do(putdown(X,Y),State)) | -holds(holding(X),State) | -holds(clear(Y),State) . holds(on(X,Y),do(putdown(Z,W),State)) | -holds(on(X,Y),State) . holds(clear(Z),do(putdown(X,Y),State)) | -holds(clear(Z),State) | -differ(Z,Y) . differ(X,Y) | -differ(Y,X) . differ(a,b) . differ(a,c) . differ(a,d) . differ(a,table). differ(b,c) . differ(b,d) . differ(b,table) . differ(c,d) . differ(c,table) . differ(d,table) . holds(on(a,table),s0) . holds(on(b,table),s0) . holds(on(c,d),s0) . holds(on(d,table),s0) . holds(clear(a),s0) . holds(clear(b),s0) . holds(clear(c),s0) . holds(empty,s0) . holds(clear(table),State) . % -holds(X,s0) | $ans(X). end_of_list. list(sos). %-holds(and(on(a,d),on(d,b)),State). -holds(on(a,d),State) | $ans(State). end_of_list.