Exerciții Laboratorul 3, Exercițiul 2

val/3 — valoarea unei variabile într-o evaluare

Vom considera evaluările e : Var → {0, 1} ca fiind reprezentate printr-o listă de perechi de forma [(a, 1), (b, 0)] (în evaluarea curentă, e(a) = 1 și e(b) = 0). Definiți un predicat val/3 astfel încât pentru orice variabilă V și orice evaluare E să avem că val(V, E, A) este adevărat exact atunci când A este E(V).

?- val(b, [(a, 1), (b, 0)], X).
X = 0

Hint: două clauze — găsit (primul element al listei are variabila căutată), sau recursie pe coadă.

Te-ai blocat?
editor soluție
?-
Tastează o interogare (ex. father_of(sandra, X).) și apasă Enter — sau apasă pe un caz de test de mai jos.
Cazuri de test (2 — apasă pe unul ca să îl rulezi, sau Verifică pentru toate)
?
val(b, [(a, 1), (b, 0)], X). așteptat: X = 0
?
val(a, [(a, 1), (b, 0)], X). așteptat: X = 1