Apareo ($\approx $ unificación)


		 If S y T son Constantes y S = T 

If S = Variable, aparea e instanc'ia S a T
If S y T son estructuras, S y T aparean si
S y T tienen el mismo nombre y sus argumentos aparean

E.g., de geometría:

P1 = punto(1,1).
P2 = punto(2,3).
L = linea(P1,P2) = linea(punto(1,1),punto(2,3)).
T = triangulo(P3,P4,P5) = triangulo(punto(4,2),punto(6,4),punto(7,1)).

vertical(linea(punto(X,Y),punto(X,Z))).
horizontal(linea(punto(X,Y),punto(Z,Y))).
Podemos decir:
?- vertical(linea(punto(1,8),punto(1,2))).
yes
?- vertical(linea(punto(2,3),X)).
X = punto(2,_)
? vertical(S), horizontal(S).
S = linea(punto(X,Y),punto(X,Y))

Qué le falta para hacer unificación?

``occur check'': e.g. X = f(X) o X = f(a,g(X),b)



emorales 2012-05-03