Унификация - это сопоставление соответствующих частей терминов.
(a) ?- [ s , u , b,s,t,i,t,u,t,e ] =
[ s , u | [b,s,t,i,t,u,t,e] ] =
[ H1, H2 | T ]
(b) ?- [ substitute ] =
[ substitute | [] ] =
[ H1 | T ]
(c) ?- [ [substitute] ] =
[ [substitute] | [] ] =
[ H1 | T ]
(d) ?- [ [s,u,b,s] , [t,i,t,u,t,e] ] =
[ [s,u,b,s] | [ [t,i,t,u,t,e] ] ] =
[ H1 | T ]
(e) ?- [ [s,u,b,s] , t,i,t,u,t,e ] =
[ [s,u,b,s] | [t,i,t,u,t,e] ] =
[ H1 | T ]
(f) ?- [ [s,u,b,s] , [t,i,t,u,t,e] ] =
[ [s,u,b,s] , [t,i,t,u,t,e] | [] ] =
[ H1 , H2 | T ]
(g) ?- [ [s , u , b, s ], [t,i,t,u,t,e] ] =
[ [s , u , b, s ], [t,i,t,u,t,e] | [] ] =
[ [H1,H2 ] , H3 | T ] % fails!
(e) ?- f1( a, Y , f(Z, 2)) =
f1( a, [1,2], f(1, Y))
(h) ?- f2( A, B , C) =
f2( a, [1,2,f(1,Y)] ) % fails!