Zurück zur Übersicht

Begriff

Lambda Prolog

Computer Science Logic S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Das normale Prolog basiert auf Horn-Klauseln (First-Order Logic). Terme sind dumme Bäume: f(a, b). Aber was, wenn wir Funktionen als Daten haben wollen? ($\lambda x. x+1$). Was, wenn wir Logik über Logik machen wollen? Lambda Prolog ($\lambda$Prolog) erweitert Prolog um den Lambda-Kalkül. Terme können $\lambda$-Funktionen sein. Die Unifikation ist "Higher-Order Unification". Damit kann man sehr elegant Compiler, Beweiser und Logiken implementieren.

Merksatz: Eine Erweiterung der Logikprogrammiersprache Prolog, die Terme des einfach typisierten Lambda-Kalküls, polymorphe Typisierung und Implikation in Zielen unterstützt, um Programmierung höherer Ordnung zu ermöglichen.


Quick-Check

  1. Benutzt das wer?
    Forscher. Es ist die Basis für Systeme wie Abella oder ELPI. Nicht für Webserver.
  2. Warum Lambda?
    Der griechische Buchstabe $\lambda$ steht für anonyme Funktionen. Alonzo Church erfand ihn.
  3. Prolog gestorben?
    Als Sprache: Nische. Als Idee (Unifikation, Suche): Lebt überall (Datalog, Type Systems).