/* 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