Ein kleines Beispiel zur logischen ProgrammierungDas folgende Beispiel stammt angeblich von Albert Einstein. Dazu soll er die Vermutung geäußert haben, dass nur ca. 2% der Menschen dieses Problem lösen könnten. Wir wissen aber nicht, ob beides wirklich stimmt.
Wie dem auch sei; mittels der logischen Programmierung ist die Lösung  fast ein Kinderspiel. Wir verwenden hier die Sprache Prolog. Die Lösung ergibt sich praktisch 1:1 aus der wörtlichen Formulierung des Problems. Hier ist nun das Problem: 
  
Wer trinkt Wasser und wem gehört das Zebra?
Hier die Lösung in Prolog: % Prolog-Code  | 
          
  | 
        
|  % Dem Prädikat werWohntWo() muss nur noch klar sein, was die Begriffe erstes, mittleres, links  % und benachbart bedeuten:  | 
          |
| erstes(E, [E|_]). mittleres(M, [_,_,M,_,_]). links(A, B, [A|[B|_]]). links(A, B, [_|R]):- links(A, B, R). benachbart(A, B, X):- links(A, B, X); links(B, A, X).  | 
          % prädikat erstes % Prädikat mittleres % Prädikat links % Prädikat benachbart  | 
        
Das Programm führt nach Konsultation zu folgender Ausgabe:  | 
          |
Seien Sie ehrlich! Hätten Sie das selbst herausbekommen?    > zurück
        
Übrigens: Falls Sie noch kein Prolog-System haben sollten, hier können Sie eines bekommen: 
           > SWI-Prolog.