Prolog/Primi passi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 101:
== Variabili ==
 
Quello che stiamo facendo non è un vero e prorio linguaggio espressivo. Possiamo aumentare l'espressività di un linguaggio utilizzando le ''variabili'' nel nostro percorso di apprendimento. UNaUna variabile è una parola, proprio come termini e predicati, con l'eccezione che inizia con la lettera maiuscola ed ha dopo di lettere sia maiuscole che minuscole. Considera la seguente interrogazione:
 
umano(A).
Riga 144:
Adesso stiamo chiedendo a prolog se c'è un umano A che ha un parente B. La virgola tra i due predicati equivale a un ''and'', indicando così che entrambi i predicati necessitano di essere veri affinché sia vera la domanda. Prolog troverà un' istanza che renda il primo predicato vero, quindi cercherà di rendere vero il secondo (servendosi dell'istanza del primo). Trovato un modo per rendere la proposizione vera, come nel caso precedente, se premi punto e virgola, Prolog cercherà altre soluzioni provando prima per altre istanze del secondo predicato e poi ripeterà il processo provando per le tutte le rimanenti istanze modificando di volta in volta il primo predicato.
 
Nell'esempio precedente prolog trova umano(david) nel programma ed unifica A con david. Per verifivareverificare il secondo predicato, crea una istanza per parent(B, david). Se non trova nulla cerca una nuova istanza per umano(A). Poi tenta A = john. Quindi istanzia parent(B, john). Trova B = david nella linea parent(david, john) e quindi risulta
A = john