/* rubrica.pro */
/* gestione rubrica clienti */
/* uso di variabile anonima _ */
/* per non stampare dato corrispondente */

domains
 nome = symbol
 eta = integer
 
predicates
 clienti(nome,nome,nome,eta)
 
clauses
 /* clienti(cognome e nome,professione, */
 /* regione,eta ) */
 
 clienti("Rossi Mario",dottore,veneto,45).
 clienti("Verdi Carlo",dottore,veneto,40).
 clienti("Bassi Anna",studente,lazio,20).
 clienti("Grassi Aldo",operaio,sicilia,30).
 clienti("Zanella Luigi",tecnico,toscana,40).
 
  
 /* GOAL clienti(A,B,C,D) */
 /* GOAL clienti(A,_,regione,_) */
 /* GOAL clienti(Nome,_,A,_) */
  
---------- Dialog ----------+
Goal: clienti(A,B,C,D)      ¦
A=Rossi Mario, B=dottore, C=¦
veneto, D=45                ¦
A=Verdi Carlo, B=dottore, C=¦
veneto, D=40                ¦
A=Bassi Anna, B=studente, C=¦
lazio, D=20                 ¦
A=Grassi Aldo, B=operaio, C=¦
sicilia, D=30               ¦
A=Zanella Luigi, B=tecnico, ¦
C=toscana, D=40             ¦
5 Solutions                 ¦
Goal:                       ¦
ritorna