Selbsttest für Logikorientierte Programmiersprachen 185.911 LU

Sie sollten vor dieser Laborübung mit dem Konzept der (syntaktischen) Unifikation bereits vertraut sein. Die folgenden Beispiele sollten für Sie problemlos lösbar sein. In den ersten Wochen dieser Übung gibt es einige Beispiele, die nochmals gezielt das Lösen derartiger Gleichungen wiederholen. Es besteht also die Möglichkeit, sich dieses Wissen auch in den ersten Wochen noch anzueignen. Falls Sie dies jedoch nicht schaffen sollten, können Sie sich bis Ende Oktober von dieser Übung beim Tutor wieder abmelden. (Es ist bei Laborübungen nicht mehr möglich, beliebig oft anzutreten!)

Es seien:

f, g        ... zweistellige Funktionssymbole
h           ... einstelliges Funktionssymbol
a, b, c     ... Konstanten
X, Y, Z, X1 ... Variable
Wie sehen die Variablenbindungen in den folgenden Beispielen aus? Es sind mehrere Antworten angegeben. Wählen Sie die richtige Antwort aus!

Musterbeispiel

:- f(X,Y) = f(a,b).
% X = Y.        % Falsch
% X = a, Y = b. % Richtig
% Y = b, X = a. % Richtig
% a = b.        % Falsch

  1. :- f(X, Y) = h(X).
    % X = Y.
    % X = h, Y = X.
    % X = h.
    % Nicht unifizierbar.
  2. :- f(X,g(Y,h(X))) = f(a,g(Y,Z)).
    % X = a, Z = h(a).
    % X = a, Y = g(Y,Z), Z = g(X).
    % Y = a, X = h(Z).
    % Nicht unifizierbar.
  3. :- f(f(X,Y),Z) = f(Z,f(a,b)).
    % Z = a, X = Y.
    % X = b, Y = a, Z = f(a, b).
    % Z = f(a, b), X = a, Y = b.
    % X = a, Y = b.
    % Nicht unifizierbar.
  4. :- g(f(h(X),Y),f(Z,h(a))) = g(X1,X1).
    % X = a, Y = h(a), Z = h(a), X1 = f(h(a),h(a)).
    % X1 = f(h(X),h(a)), Y = h(a), Z = h(X).
    % Y = h(a), Z = g(h(a),Y), X1 = f(h(X),h(a)).
    % Nicht unifizierbar.
  5. :- f(X,f(Y,f(X,f(Y,f(X,a))))) = f(X1,f(Y,f(X1,f(Y,f(Y,a))))).
    % X = X1, Y = X.
    % X = a, Y = a, X1 = a.
    % X = X1, Y = a.
    % Nicht unifizierbar.

Die folgenden Lehrveranstaltungen behandeln die theoretischen Grundlagen von Prolog und daher auch syntaktische Unifikation. (vgl. das aktuelle Vorlesungsverzeichnis)

LVA-Nr Typ Lehrveranstaltung               Vortragender         StdW      StdS
-------------------------------------------------------------------------------
108.075 VO Math.Logik                      KUICH W.                        2.0
           SS Dienstag   FH HS 7        14.00   16.00 beginnt am  2. 3.1999
108.086 UE Math.Logik UE                   BAAZ M.                         1.0
           Übung zur Vorlesung Prof. Kuich
           SS Mittwoch   Audi.Max.      16.00   17.30 beginnt am  3. 3.1999
108.890 VO AKLOG. Mathematische Logik      KUICH W.                        2.0
           SS Dienstag   FH HS 7        14.00   16.00 beginnt am  2. 3.1999
108.900 UE AKLOG. Mathematische Logik UE   BAAZ M.                         1.0
           Übung zur Vorlesung Prof. Kuich
           SS Mittwoch   Audi.Max.      16.00   17.30 beginnt am  3. 3.1999
           SS Mittwoch   FH HS 4        16.00   17.30
185.069 UE Mathematische Logik             GRAMLICH B.           1.0
           WS Dienstag   EI 3           15.00   16.00 beginnt am  2.10.1998
           WS Freitag    FH HS 5        14.00   15.00
185.515 VO Mathematische Logik             LEITSCH A.            2.0
           WS Donnerstag Inf.HS          9.00   11.00 beginnt am  1.10.1998

[logprog|GUPU|UWN]