liste7

gestione liste e stringhe


/* GOAL:ap(1,[1,2,3,4]) 
        ap(1,[3,4,5,1]) 
        ap(X,Lista) 
        ap=appartiene */
                   
nowarnings         
domains
numero,A  = integer
lista =numero*    /* lista di interi */
predicates
ap(integer,lista)
clauses
ap(1,[1,2,3]).
ap(1,[2,2,3,1]).
ap(2,[2,3,4,5,6]).
ap(3,[1,2,3,4,5]).

/* ese13.pro  */
/* gestione liste */
/* lista =[a,b,v..elementi ] */
/* elementi tipo symbol char string integer
   real lista */
/* lista vuota=[] */
/* lista =[testa,coda] */
/* lista =[testa|coda] */
/* lista =[testa|_ ] con variabile muta _ */
   
nowarnings         
domains
nome  = symbol
lista =nome*    /* lista di nomi */
predicates
listax(lista)
clauses
listax([a,b,c,d]).
listax([testa,coda]).
listax([primo,secondo,terzo,quarto]).