lista2
/* ritorna.pro */ /* attivazione di FAIL e CUT ! */ /* goal:azione senza FAIL */ /* goal:azione1 con FAIL */ /* goal:azione2 con FAIL CUT rosso */ /* goal:azione3 con CUT rosso FAIL */ /* goal:azione4 con CUT rosso */
nowarnings domains listainteri = integer*
predicates preleva(listainteri) azione azione1 azione2 azione3 azione4 clauses
azione:- preleva(Lista), write(Lista,"\n").
azione1:- preleva(Lista), write(Lista,"\n"),fail.
azione2:- preleva(Lista), write(Lista,"\n"),fail;!.
azione3:- preleva(Lista),!, write(Lista,"\n"),fail.
azione4:- preleva(Lista),!, write(Lista,"\n").
preleva([1,2,3]). preleva([4,5,6]). preleva([7,8,9]).
/* taglia.pro */ /* goal:azione(L) con CUT rosso */ /* goal:azione1(L) senza CUT */
nowarnings domains listainteri = integer*
predicates preleva(listainteri) azione(listainteri) azione1(listainteri) leggi(listainteri)
clauses
azione(Lista):- preleva(Lista),!. azione(Lista):- leggi(Lista).
azione1(Lista):- preleva(Lista). azione1(Lista):- leggi(Lista).
preleva([1,2,3]). preleva([4,5,6]). preleva([7,8,9]). leggi([11,12,13]). leggi([14,15,16]). leggi([17,18,19]).