Exerciții Laboratorul 2, Exercițiul 6

trans_a_b/2 — translatează a-uri în b-uri

Laboratorul 2, Exercițiul 6 intro Recursivitate pe liste

Scrieți un predicat trans_a_b/2 care translatează o listă de a-uri într-o listă de b-uri. Predicatul trebuie să fie adevărat dacă primul argument este o listă de a-uri iar al doilea este o listă de b-uri de aceeași lungime.

?- trans_a_b([a, a, a], L).
L = [b, b, b]

?- trans_a_b([a, a, a], [b]).
false

Hint: recursia merge pe ambele liste simultan — capul unei e a, capul celeilalte e b.

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 (3 — apasă pe unul ca să îl rulezi, sau Verifică pentru toate)
?
trans_a_b([a, a, a], L). așteptat: L = [b,b,b]
?
trans_a_b([a, a, a], [b]). așteptat: false
?
trans_a_b([a], L). așteptat: L = [b]