Curry-Howard-Isomorphismus

Curry-Howard-Isomorphismus

Als Curry-Howard-Isomorphismus (auch: Curry-Howard-Korrespondenz) bezeichnet man die Interpretation von Typen als logische Aussagen und von Termen eines bestimmten Typs als Beweise der zum Typ gehörenden Aussage; und umgekehrt.

Inhaltsverzeichnis

Halb-formale Beschreibung

Der Begriff der Wahrheit wird ausgetauscht mit dem Begriff der Beweisbarkeit. Man begibt sich also auf intuitionistisches Gebiet. Eine Aussage ist beweisbar, wenn es einen Term gibt, der den zur Aussage passenden Typ hat.

Einfache Junktoren

Ein Beweis für eine Konjunktion A\land B ist ein Paar von Beweisen, (p,q): A\times B für sowohl A als auch B.

Ein Beweis für eine Disjunktion A\lor B ist ein Term aus der disjunkten Vereinigung von A und B, A + B.

Beweise für Implikationen A\to B sind totale Funktionen des Typs A\to B.

Die logische Negation \lnot A wird üblicherweise als Abkürzung für A\to \bot definiert, wobei \bot unter dem Curry-Howard-Isomorphismus dem leeren Typ entspricht.

Quantoren

Eine universell quantifizierte Aussage \forall {a\in A}: {X(a)} wird zu einer Funktion, bei der der Typ des Funktionswertes vom Wert des Funktionsarguments abhängig ist. Hier trifft man also auf dependent types.

Der Beweis einer existenziell quantifizierte Aussage \exists {a\in A}: {X(a)} muss zwei Dinge liefern: ein A-Element a, und einen Beweis für X(a).

Beweisbeispiel

Der Satz vom ausgeschlossenen Dritten gilt in konstruktiven Logikkalkülen normalerweise nicht (würde er gelten, wäre jede Aussage entscheidbar, was entweder Ausdrucksschwäche oder Inkonsistenz nach sich zieht). Eine Version mit doppelter Negation unterhalb der Allquantisierung über Aussagen lässt sich jedoch durch Angabe eines Beweisterms belegen. Gesucht ist, für beliebige Aussagen A, ein Beweis für

\lnot\lnot(A\lor\lnot A),

was unter Curry-Howard und mit Auflösung der Negationsabkürzung ein Term des Typs

((A+(A\to\bot))\to\bot)\to\bot

wird. Der Lambda-Ausdruck

λf.f2a.f1a)))

stellt einen Term des gewünschten Typs dar, wobei \kappa_1:A\to(A+(A\to\bot)) und \kappa_2:(A\to\bot)\to(A+(A\to\bot)) die Injektionen in den zweistelligen Summentyp sind.

Praktische Anwendungen

Verfügbare und benutzbare Beweisassistenten/Programmiersprachen wie Coq, Epigram und Agda machen vom Curry-Howard-Isomorphismus Gebrauch, indem sie es gestatten, Beweise als Programme, und Aussagen als Typen anzugeben. Der Typprüfer übernimmt dabei die Aufgabe, die angegebenen Beweise zu verifizieren.

Quellen


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • William Alvin Howard — (* 1926) ist ein US amerikanischer mathematischer Logiker. Howard promovierte 1956 an der University of Chicago bei Saunders MacLane und André Weil (k fold recursion and well ordering). Er war in den 1960er Jahren Professor an der Pennsylvania… …   Deutsch Wikipedia

  • Haskell Brooks Curry — (* 12. September 1900 in Millis, Massachusetts, USA; † 1. September 1982 in State College, Pennsylvania, USA) war ein US amerikanischer Logiker und Mathematiker. Inhaltsverzeichnis 1 Leben 2 Werk 3 …   Deutsch Wikipedia

  • Haskell Curry — Haskell Brooks Curry (* 12. September 1900 in Millis, Massachusetts, USA; † 1. September 1982 in State College, Pennsylvania, USA) war ein US amerikanischer Logiker und Mathematiker. Inhaltsverzeichnis 1 Leben 2 Werk …   Deutsch Wikipedia

  • Beweisbarkeit — Die Beweistheorie ist ein Teilgebiet der mathematischen Logik, das Beweise als formale mathematische Objekte behandelt. Dies ermöglicht ihre Analyse mit mathematischen Techniken. Beweise werden üblicherweise als induktiv definierte… …   Deutsch Wikipedia

  • Beweistheorie — Die Beweistheorie ist ein Teilgebiet der mathematischen Logik, das Beweise als formale mathematische Objekte behandelt. Dies ermöglicht ihre Analyse mit mathematischen Techniken. Beweise werden üblicherweise als induktiv definierte… …   Deutsch Wikipedia

  • Per Martin-Löf — 2004 Per Erik Rutger Martin Löf (* 8. Mai 1942) ist ein schwedischer mathematischer Logiker und Philosoph. Martin Löf war 1964 1965 an der Lomonossow Universität Student von Andrei Kolmogorow, der auch seine Dissertation an der Universität… …   Deutsch Wikipedia

  • Intuitionismus (Logik und Mathematik) — Der Intuitionismus ist eine von L. E. J. Brouwer begründete Richtung der Philosophie der Mathematik, bei der die Mathematik als Tätigkeit des exakten Denkens angesehen wird, die ihre eigenen Objekte hervorbringt und nicht voraussetzt. Wahrheit… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”