/*dichia6.mar */
/* dichiarazione tipo struttura */
/* ============================ */
nowarnings

domains
simbolo  = symbol
libri    = libro(simbolo)
autori   = autore(simbolo)

predicates
possiede(simbolo,libri)
legge(simbolo,libri,autori)
azione
goal azione.

clauses
azione:-
 makewindow(1,7,1,"",1,1,20,78),
 write("stampa nomi,titoli libro,autore "),nl,
 possiede(Nome,Testo),
 write(Nome,"\t",Testo),nl,fail;
 write("-------------------------"),nl,
 write("cerca se legge libro: nomi,titoli,autori "),nl,
 legge(Nome,Testo,Autore),
 write(Nome,"\t",Testo,"\t",Autore),nl,fail;
 write("-------------------------------"),nl,
 write("cerca se Nome possiede libro indicato"),nl,
 possiede(Nome,libro(chimica)),
 write(Nome,"\t",chimica),nl,fail.
 
 possiede(luigi,libro(chimica)).
 possiede(luigi,libro(fisica)).
 possiede(carlo,libro(fisica)).
 possiede(carlo,libro(scienze)).
 legge(luigi,libro(geologia),autore(rossini)).
 legge(luigi,libro(chimica),autore(bassetti)).

+-----------------------------------------------------
¦+----------------------------------------------------
+¦stampa nomi,titoli libro,autore
+¦luigi   libro("chimica")
¦¦luigi   libro("fisica")
¦¦carlo   libro("fisica")
¦¦carlo   libro("scienze")
¦¦-------------------------
¦¦cerca se legge libro: nomi,titoli,autori
¦¦luigi   libro("geologia")       autore("rossini")
¦¦luigi   libro("chimica")        autore("bassetti")
¦¦-------------------------------
¦¦cerca se Nome possiede libro indicato
¦¦luigi   chimica
¦¦

 
ritorna