Ähnlichkeit des Currys-Howard

In der Programmiersprache-Theorie und Probetheorie ist die Ähnlichkeit des Currys-Howard (auch bekannt als der Isomorphismus des Currys-Howard oder die Gleichwertigkeit, oder die Probe-als die Programme und die Vorschläge - oder Interpretation der Formeln als die Typen) die direkte Beziehung zwischen Computerprogrammen und Beweisen. Es ist eine Generalisation einer syntaktischen Analogie zwischen Systemen der formalen Logik und rechenbetonten Rechnungen, der zuerst durch den amerikanischen Curry des Mathematikers Haskell und Logiker William Alvin Howard entdeckt wurde.

Ursprung, Spielraum und Folgen

Am wirklichen Anfang ist die Ähnlichkeit des Currys-Howard

  1. die Beobachtung 1934 durch den Curry, dass die Typen des combinators als Axiom-Schemas für intuitionistic implicational Logik, gesehen werden konnten
  2. die Beobachtung 1958 durch den Curry, dass eine bestimmte Art des Probesystems, gekennzeichnet als Hilbert-artige Abzug-Systeme, auf einem Bruchstück zum getippten Bruchstück eines Standardmodells der Berechnung bekannt als combinatory Logik, zusammenfällt
  3. die Beobachtung 1969 durch Howard, dass ein anderer, mehr Probesystem "auf höchster Ebene", gekennzeichnet als natürlicher Abzug, in seiner intuitionistic Version als eine getippte Variante des Modells der als Lambda-Rechnung bekannten Berechnung direkt interpretiert werden kann.

Mit anderen Worten ist die Ähnlichkeit des Currys-Howard die Beobachtung, dass zwei Familien von Formalismen, die ohne Beziehung — nämlich, die Probesysteme einerseits und die Modelle der Berechnung auf dem anderen geschienen waren — in den zwei Beispielen waren, die durch den Curry und Howard, tatsächlich strukturell dieselbe Art von Gegenständen betrachtet sind.

Wenn ein jetzt Auszüge auf den Besonderheiten davon oder diesem Formalismus, die unmittelbare Generalisation der folgende Anspruch ist: Ein Beweis ist ein Programm, die Formel, die es beweist, ist ein Typ für das Programm. Am meisten informell kann das als eine Analogie gesehen werden, die feststellt, dass der Rücktyp einer Funktion (d. h., der Typ von Werten, die durch eine Funktion zurückgegeben sind), einem logischen Lehrsatz analog sind, ist das Thema Hypothesen entsprechend den Typen der Argument-Werte zur Funktion gegangen; und dass das Programm, um diese Funktion zu schätzen, einem Beweis dieses Lehrsatzes analog ist. Das setzt eine Form der Logikprogrammierung auf einem strengen Fundament: Beweise können als Programme vertreten werden, und besonders wenn Lambda nennt, oder Beweise sein können.

Die Ähnlichkeit ist der Startpunkt eines großen Spektrums der neuen Forschung gewesen, nachdem seine Entdeckung, insbesondere zu einer neuen Klasse von formellen Systemen führend, vorgehabt hat, sowohl als ein Probesystem als auch als eine getippte funktionelle Programmiersprache zu handeln. Das schließt die intuitionistic Typ-Theorie von Martin-Löf und die Rechnung von Coquand von Aufbauten, zwei Rechnungen ein, in denen Beweise regelmäßige Gegenstände des Gesprächs sind, und in dem Eigenschaften von Beweisen derselbe Weg bezüglich jedes Programms festsetzen kann. Dieses Forschungsgebiet wird gewöhnlich moderne Typ-Theorie genannt.

Solche getippten Lambda-Rechnungen sind auf das Paradigma des Currys-Howard zurückzuführen gewesen hat zu Software wie Coq geführt, in denen gesehenen Beweisen weil Programme formalisiert werden können, überprüft haben und gelaufen sind.

Eine gegenteilige Richtung soll ein Programm verwenden, um einen Beweis, in Anbetracht seiner Genauigkeit - ein Gebiet der Forschung herauszuziehen, die nah mit dem probetragenden Code verbunden ist. Das ist nur ausführbar, wenn die Programmiersprache, für die das Programm geschrieben wird, sehr reich getippt wird: Die Entwicklung solcher Typ-Systeme ist durch den Wunsch teilweise motiviert worden, die Ähnlichkeit des Currys-Howard praktisch wichtig zu machen.

Die Ähnlichkeit des Currys-Howard hat auch neue Fragen bezüglich des rechenbetonten Inhalts von Probekonzepten aufgebracht, die durch die ursprünglichen Arbeiten des Currys und Howards nicht bedeckt wurden. Insbesondere wie man gezeigt hat, hat klassische Logik der Fähigkeit entsprochen, die Verlängerung von Programmen und die Symmetrie der folgenden Rechnung zu manipulieren, um die Dualität zwischen den zwei Einschätzungsstrategien auszudrücken, die als Anruf namentlich und Anruf durch den Wert bekannt sind.

Spekulativ, wie man erwarten könnte, hat die Ähnlichkeit des Currys-Howard zu einer wesentlichen Vereinigung zwischen mathematischer Logik und foundational Informatik geführt:

Hilbert-artiger natürlicher und Logikabzug ist nur zwei Arten von Probesystemen unter einer großen Familie von Formalismen. Alternative Syntaxen schließen folgende Rechnung, Probenetze, Rechnung von Strukturen usw. ein. Wenn man die Ähnlichkeit des Currys-Howard als der allgemeine Grundsatz zulässt, dass jedes Probesystem ein Modell der Berechnung verbirgt, sollte eine Theorie der zu Grunde liegenden ungetippten rechenbetonten Struktur dieser Arten des Probesystems möglich sein. Dann besteht eine natürliche Frage darin, ob etwas mathematisch Interessantes über diese zu Grunde liegenden rechenbetonten Rechnungen gesagt werden kann.

Umgekehrt, combinatory einfach getippte und Logiklambda-Rechnung sind nicht die einzigen Modelle der Berechnung auch. Die geradlinige Logik von Girard wurde von der feinen Analyse des Gebrauches von Mitteln in einigen Modellen der Lambda-Rechnung entwickelt; können wir uns eine getippte Version der Maschine von Turing vorstellen die würde sich als ein Probesystem benehmen? Getippte Zusammenbau-Sprachen sind solch ein Beispiel von "auf niedriger Stufe" Modellen der Berechnung, die Typen tragen.

Wegen der Möglichkeit, nichtendende Programme zu schreiben, müssen Turing-ganze Modelle der Berechnung (wie Sprachen mit willkürlichen rekursiven Funktionen) mit der Sorge interpretiert werden, weil die naive Anwendung der Ähnlichkeit zu einer inkonsequenten Logik führt. Die beste Weise, sich mit willkürlicher Berechnung aus einem logischen Gesichtspunkt zu befassen, ist noch eine aktiv diskutierte Forschungsfrage, aber eine populäre Annäherung basiert auf dem Verwenden monads, um nachweisbar das Enden davon zu trennen, Code potenziell zu nichtbegrenzen (eine Annäherung, die auch zu viel reicheren Modellen der Berechnung verallgemeinert, und selbst mit der modalen Logik durch eine natürliche Erweiterung des Isomorphismus des Currys-Howard verbunden wird). Eine radikalere Annäherung, die durch die funktionelle Gesamtprogrammierung verteidigt ist, soll uneingeschränkten recursion beseitigen (und auf Turing-Vollständigkeit verzichten, obwohl, noch hohe rechenbetonte Kompliziertheit behaltend), mit mehr kontrolliertem corecursion, wo das Nichtbegrenzen des Verhaltens wirklich gewünscht wird.

Allgemeine Formulierung

In seiner allgemeineren Formulierung ist die Ähnlichkeit des Currys-Howard eine Ähnlichkeit zwischen formellen Proberechnungen und Typ-Systemen für Modelle der Berechnung. Insbesondere es spaltet sich in zwei Ähnlichkeiten auf. Ein am Niveau von Formeln und Typen, der unabhängig ist, von denen besonderes Probesystem oder Modell der Berechnung, und ein am Niveau von Beweisen und Programmen betrachtet werden, der dieses Mal zur besonderen Wahl des Probesystems und dem Modell der betrachteten Berechnung spezifisch ist.

Am Niveau von Formeln und Typen sagt die Ähnlichkeit, dass sich Implikation dasselbe als ein Funktionstyp, Verbindung als ein "Produkt"-Typ benimmt (das kann ein Tupel, einen struct, eine Liste oder einen anderen Begriff je nachdem die Sprache genannt werden), Trennung als ein Summe-Typ (kann dieser Typ eine Vereinigung genannt werden), die falsche Formel als der leere Typ und die wahre Formel als der Singleton-Typ (dessen alleiniges Mitglied der ungültige Gegenstand ist). Quantifiers entsprechen abhängigem Funktionsraum oder Produkten (als passend).

Das wird im folgenden Tisch zusammengefasst:

Am Niveau von Probesystemen und den Modellen der Berechnung zeigt die Ähnlichkeit hauptsächlich die Identität der Struktur erstens zwischen einigen besonderen Formulierungen von Systemen, die als Hilbert-artiges Abzug-System und combinatory Logik, und zweitens zwischen einigen besonderen Formulierungen von Systemen bekannt sind, die als natürlicher Abzug und Lambda-Rechnung bekannt sind.

Zwischen dem natürlichen Abzug-System und der Lambda-Rechnung dort gibt es die folgenden Ähnlichkeiten:

Ähnlichkeit zwischen Hilbert-artigen Abzug-Systemen und combinatory Logik

Es war am Anfang eine einfache Bemerkung im Curry und dem 1958-Buch von Feys auf der combinatory Logik: Die einfachsten Typen für den grundlegenden combinators K und S der combinatory Logik haben überraschend den jeweiligen Axiom-Schemas α  (β  α) und (α  (β  γ))  entsprochen ((α  β)  (α  γ)) verwendet in Hilbert-artigen Abzug-Systemen. Deshalb werden diese Schemas jetzt häufig Axiome K und S genannt. Beispiele von Programmen, die als Beweise in einer Hilbert-artigen Logik gesehen sind, werden unten angeführt.

Wenn man auf den implicational intuitionistic Bruchstück einschränkt, ist eine einfache Weise, Logik im Stil von Hilbert zu formalisieren, wie folgt. Lassen Sie Γ eine begrenzte Sammlung von Formeln, betrachtet als Hypothesen sein. Wir sagen, dass δ von Γ ableitbar ist, und wir Γ δ in den folgenden Fällen schreiben:

  • δ ist eine Hypothese, d. h. es ist eine Formel von Γ,
  • δ ist ein Beispiel eines Axiom-Schemas; d. h., unter dem allgemeinsten Axiom-System:
  • δ hat die Form α  (β  α), oder
  • δ hat die Form (α  (β  γ))  ((α  β)  (α  γ)),
  • δ folgt durch den Abzug, d. h. für einen α, sowohl α sind  δ als auch α bereits von Γ ableitbar (das ist die Regel des Modus ponens)

Das kann mit Interferenzregeln formalisiert werden, was wir in der linken Säule des folgenden Tisches tun.

Wir können getippte combinatory Logik mit einer ähnlichen Syntax formulieren: Lassen Sie Γ eine begrenzte Sammlung von Variablen sein, die mit ihren Typen kommentiert sind. Ein Begriff T (auch kommentiert mit seinem Typ) wird von diesen Variablen [Γ T:δ] wenn abhängen:

  • T ist eine der Variablen in Γ,
  • T ist ein grundlegender combinator; d. h., unter der allgemeinsten combinator Basis:
  • T ist K:α  (β  α) [wo α und β die Typen seiner Argumente], oder anzeigen
  • T ist S: (α  (β  γ))  ((α  β)  (α  γ)),
  • T ist die Zusammensetzung von zwei Subbegriffen, die von den Variablen in Γ abhängen.

Die Generationsregeln definiert hier werden in der richtigen Säule unten gegeben. Die Bemerkung des Currys stellt einfach fest, dass beide Säulen in der isomorphen Ähnlichkeit sind. Die Beschränkung der Ähnlichkeit zur intuitionistic Logik bedeutet, dass eine klassische Tautologie, wie das Gesetz von Peirce ((α  β)  α)  α, von der Ähnlichkeit ausgeschlossen wird.

Gesehen an einem abstrakteren Niveau kann die Ähnlichkeit, wie gezeigt, im folgenden Tisch neu formuliert werden. Besonders vergleicht der zur Hilbert-artigen Logik spezifische Abzug-Lehrsatz den Prozess der Abstraktionsbeseitigung der combinatory Logik.

Dank der Ähnlichkeit können Ergebnisse combinatory Logik der Hilbert-artigen Logik und umgekehrt übertragen werden. Zum Beispiel kann der Begriff der Verminderung von Begriffen in der combinatory Logik der Hilbert-artigen Logik übertragen werden, und es stellt eine Weise zur Verfügung, Beweise in andere Beweise derselben Behauptung kanonisch umzugestalten. Man kann auch den Begriff von normalen Begriffen zu einem Begriff von normalen Beweisen übertragen, ausdrückend, dass die Hypothesen der Axiome alle nie losgemacht werden müssen (da sonst eine Vereinfachung geschehen kann).

Umgekehrt, nicht provability in der intuitionistic Logik des Gesetzes von Peirce kann zurück der combinatory Logik übertragen werden: Es gibt keinen getippten Begriff der combinatory Logik, die typable mit dem Typ ((α  β)  α)  α ist.

Ergebnisse auf der Vollständigkeit von einigen Sätzen von combinators oder Axiomen können auch übertragen werden. Zum Beispiel deutet die Tatsache, dass der combinator X eine Ein-Punkt-Basis der combinatory (verlängerungs)-Logik einsetzt, dass das einzelne Axiom-Schema an

:(((α  (β  γ))  ((α  β)  (α  γ)))  ((δ  (ε  δ))  ζ))  ζ,

der der Haupttyp X ist, ist ein entsprechender Ersatz zur Kombination der Axiom-Schemas

:α  (β  α) und

:(α  (β  γ))  ((α  β)  (α  γ)).

Ähnlichkeit zwischen natürlichem Abzug und Lambda-Rechnung

Nachdem Curry betont hat, dass die syntaktische Ähnlichkeit zwischen Hilbert-artigem Abzug und combinatory Logik, Howard ausführlich 1969 eine syntaktische Analogie zwischen den Programmen der einfach getippten Lambda-Rechnung und den Beweisen des natürlichen Abzugs gemacht hat. Unten formalisiert die linke Seite intuitionistic implicational natürlicher Abzug als eine Rechnung von Folgen (der Gebrauch von Folgen ist in Diskussionen des Isomorphismus des Currys-Howard normal, weil es den Abzug-Regeln erlaubt, sauberer festgesetzt zu werden), mit der impliziten Schwächung und die Rechte die tippenden Regeln der Lambda-Rechnung zeigt. In der linken Seite zeigen Γ, Γ  und Γ  bestellte Folgen von Formeln an, während in der Rechte sie Folgen von genannten Formeln mit allen verschiedenen Namen anzeigen.

Um die Ähnlichkeit zu paraphrasieren, sich Γ erweisend, bedeutet α, ein Programm zu haben, das, gegeben Werte mit den in Γ verzeichneten Typen, einen Gegenstand des Typs α verfertigt. Ein Axiom entspricht der Einführung einer neuen Variable mit einem neuen, zwanglosen Typ, der , über den ich herrsche, entspricht zur Funktionsabstraktion, und der  E Regel entspricht zur Funktionsanwendung. Bemerken Sie, dass die Ähnlichkeit nicht genau ist, wenn der Zusammenhang Γ genommen wird, um eine Reihe von Formeln als z.B zu sein, wäre der λ-terms λx.λy.x und λx.λy.y des Typs α  α  α in der Ähnlichkeit nicht bemerkenswert. Beispiele werden unten angeführt.

Howard hat gezeigt, dass sich die Ähnlichkeit bis zu andere Bindewörter der Logik und andere Aufbauten der einfach getippten Lambda-Rechnung ausstreckt. Gesehen an einem abstrakten Niveau kann die Ähnlichkeit dann, wie gezeigt, im folgenden Tisch zusammengefasst werden. Besonders zeigt es auch, dass der Begriff von normalen Formen in der Lambda-Rechnung den Begriff von Prawitz des normalen Abzugs im natürlichen Abzug, davon vergleicht, was wir, unter anderen ableiten, dass die Algorithmen für den Typ inhabitation Problem in Algorithmen verwandelt werden können, um intuitionistic provability zu entscheiden.

Die Ähnlichkeit von Howard streckt sich natürlich bis zu andere Erweiterungen des natürlichen Abzugs und der einfach getippten Lambda-Rechnung aus. Hier ist eine nicht erschöpfende Liste:

  • System von Girard-Reynolds F als eine gemeinsame Sprache sowohl für die zweite Ordnung als auch für polymorphe Satzlogiklambda-Rechnung,
  • höherwertige Logik und das System von Girard F
  • induktive Typen als algebraischer Datentyp
  • Notwendigkeit in der modalen Logik und inszenierten Berechnung
  • Möglichkeit in modalen monadischen und Logiktypen für Effekten
  • Die λ Rechnung entspricht relevanter Logik.
  • Die lokale Wahrheit () Modalität in der Topologie von Grothendieck oder die gleichwertige "lockere" Modalität () Bentons, Bierman und de Paivas (1998) entspricht Logik der KL., die "Berechnungstypen" beschreibt
  • ...

Ähnlichkeit zwischen klassischer Logik und Kontrollmaschinenbedienern

Zur Zeit des Currys, und auch zur Zeit von Howard hat die Probe-als die Programme Ähnlichkeit nur intuitionistic Logik, d. h. eine Logik betroffen, in der, insbesondere das Gesetz von Peirce nicht ableitbar war. Die Erweiterung der Ähnlichkeit zum Gesetz von Peirce und folglich zur klassischen Logik ist klar von der Arbeit von Griffin auf tippenden Maschinenbedienern geworden, die den Einschätzungszusammenhang einer gegebenen Programm-Ausführung gewinnen, so dass dieser Einschätzungszusammenhang später wiederinstalliert werden kann. Die grundlegende Curry-Howard-style Ähnlichkeit für die klassische Logik wird unten gegeben. Bemerken Sie, dass die Ähnlichkeit zwischen der Übersetzung der doppelten Ablehnung gepflegt hat, klassische Beweise zur intuitionistic Logik und der Übersetzung "Verlängerung kartografisch darzustellen, hat vorübergehender Stil" gepflegt, Lambda-Begriffe kartografisch darzustellen, die Kontrolle zu reinen Lambda-Begriffen einschließen. Nennen Sie mehr besonders Übersetzungen "Verlängerung namentlich, die vorübergehender Stil" mit der doppelten Ablehnungsübersetzung von Kolmogorov und Anruf durch den Wert Übersetzungen "Verlängerung verbindet, die vorübergehender Stil" mit einer Art Übersetzung der doppelten Ablehnung wegen Kuroda verbindet.

Eine feinere Ähnlichkeit des Currys-Howard besteht für die klassische Logik, wenn man klassische Logik nicht definiert, indem man ein Axiom wie das Gesetz von Peirce hinzufügt, aber indem man mehrere Beschlüsse in Folgen erlaubt. Im Fall vom klassischen natürlichen Abzug, dort besteht eine Probe-als die Programme Ähnlichkeit mit den getippten Programmen des λμ-calculus von Parigot.

Folgende Rechnung

Eine Probe-als die Programme Ähnlichkeit kann für den als die folgende Rechnung von Gentzen bekannten Formalismus gesetzt werden, aber es ist nicht eine Ähnlichkeit mit einem bestimmten vorher existierenden Modell der Berechnung, wie es für Hilbert-artige und natürliche Abzüge war.

Folgende Rechnung wird durch die Anwesenheit linker Einführungsregeln, richtiger Einführungsregel und einer Kürzungsregel charakterisiert, die beseitigt werden kann. Die Struktur der folgenden Rechnung bezieht sich auf eine Rechnung, deren Struktur derjenigen von einigen abstrakten Maschinen nah ist. Die informelle Ähnlichkeit ist wie folgt:

Zusammenhängende Probe-als die Programme Ähnlichkeiten

Die Rolle von de Bruijn

N. G. de Bruijn hat die Lambda-Notation verwendet, um Beweise der Lehrsatz-Kontrolleur-Automathematik zu vertreten, und hat Vorschläge als "Kategorien" ihrer Beweise vertreten. Es war gegen Ende der 1960er Jahre in derselben Zeitspanne, die Howard seinem Manuskript geschrieben hat; de Bruijn hat wahrscheinlich die Arbeit von Howard nicht gewusst, und hat die Ähnlichkeit unabhängig (Sørensen & Urzyczyn [1998] 2006, Seiten 98-99) festgesetzt. Einige Forscher neigen dazu, den Begriff Ähnlichkeit von Curry-Howard-De Bruijn im Platz der Ähnlichkeit des Currys-Howard zu gebrauchen.

BHK Interpretation

Die BHK Interpretation interpretiert intuitionistic Beweise als Funktionen, aber sie gibt die Klasse von für die Interpretation wichtigen Funktionen nicht an. Wenn man Lambda-Rechnung für diese Klasse der Funktion nimmt, dann erzählt die BHK Interpretation dasselbe als die Ähnlichkeit von Howard zwischen natürlichem Abzug und Lambda-Rechnung.

Durchführbarkeit

Die rekursive Durchführbarkeit von Kleene spaltet Beweise der intuitionistic Arithmetik ins Paar einer rekursiven Funktion und von

ein Beweis einer Formel, die ausdrückt, den die rekursive Funktion "begreift", d. h. richtig die Trennungen und existenziellen quantifiers der anfänglichen Formel realisiert, so dass die Formel wahr wird.

Die modifizierte Durchführbarkeit von Kreisel gilt für die intuitionistic höherwertige Prädikat-Logik und zeigt, dass der einfach getippte aus dem Beweis induktiv herausgezogene Lambda-Begriff die anfängliche Formel begreift. Im Fall von der Satzlogik fällt es mit der Behauptung von Howard zusammen: Der herausgezogene Lambda-Begriff ist der Beweis selbst (gesehen als ein ungetippter Lambda-Begriff), und die Durchführbarkeitsbehauptung ist eine Paraphrase der Tatsache, dass der herausgezogene Lambda-Begriff den Typ hat, den die Formel (gesehen als ein Typ) bedeutet.

Die dialectica Interpretation von Gödel begreift (eine Erweiterung) intuitionistic Arithmetik mit berechenbaren Funktionen. Die Verbindung mit der Lambda-Rechnung ist sogar im Fall vom natürlichen Abzug unklar.

Curry-Howard-Lambek Ähnlichkeit

Joachim Lambek hat am Anfang der 1970er Jahre gezeigt, dass die Beweise der intuitionistic Satzlogik und der combinators der getippten combinatory Logik eine allgemeine equational Theorie teilen, die diejenige von kartesianischen geschlossenen Kategorien ist. Der Ausdruck Curry-Howard-Lambek Ähnlichkeit wird jetzt von einigen Menschen verwendet, um auf den drei Weg Isomorphismus zwischen der intuitionistic Logik, der getippten Lambda-Rechnung und den kartesianischen geschlossenen Kategorien mit Gegenständen zu verweisen, die als Typen oder Vorschläge und morphisms als Begriffe oder Beweise interpretieren werden. Die Ähnlichkeit arbeitet am equational Niveau und ist nicht der Ausdruck einer syntaktischen Identität von Strukturen, weil es für jede der Ähnlichkeiten des Currys und Howards der Fall ist: D. h. die Struktur eines bestimmten morphism in einer kartesianisch geschlossenen Kategorie ist mit der Struktur eines Beweises des entsprechenden Urteils entweder im Hilbert-artigen natürlichen oder in Logikabzug nicht vergleichbar. Um diese Unterscheidung zu klären, wird die zu Grunde liegende syntaktische Struktur von kartesianischen geschlossenen Kategorien unten umformuliert.

Gegenstände (Typen) werden durch definiert

  • ist ein Gegenstand
  • wenn und Gegenstände dann sind und Gegenstände sind.

Morphisms (Begriffe) werden durch definiert

  • und sind morphisms
  • wenn ein morphism ist, ist ein morphism
  • wenn und morphisms sind, und morphisms sind.

Bestimmte morphisms (getippte Begriffe) werden durch die folgenden (tippenden) Regeln definiert (in dem die übliche kategorische morphism Notation durch die folgende Rechnungsnotation ersetzt wird):

Schließlich sind die Gleichungen der Kategorie

Jetzt, dort besteht solch, dass iff in implicational intuitionistic Logik nachweisbar ist.

Beispiele

Dank der Ähnlichkeit des Currys-Howard ist ein getippter Ausdruck, dessen Typ einer logischen Formel entspricht, einem Beweis dieser Formel analog. Hier sind Beispiele.

Die Identität combinator gesehen als ein Beweis in der Hilbert-artigen Logik

Als ein einfaches Beispiel bauen wir einen Beweis des Lehrsatzes. In der Lambda-Rechnung ist das der Typ der Identitätsfunktion I = λx.x und in der combinatory Logik, die Identitätsfunktion wird durch die Verwendung S zweimal für K erhalten. D. h. wir haben mich = ((S K) K). Als eine Beschreibung eines Beweises sagt das, dass, um uns zu erweisen, wir wie folgt weitergehen können:

  • realisieren Sie das zweite Axiom-Schema mit den Formeln, und, so dass man einen Beweis, erhält
  • realisieren Sie das erste Axiom-Schema einmal mit und, so dass man einen Beweis, erhält
  • realisieren Sie das erste Axiom-Schema ein zweites Mal mit und, so dass man einen Beweis, erhält
  • wenden Sie Modus ponens zweimal an, so dass man einen Beweis von erhält

Im Allgemeinen ist das Verfahren, dass, wann auch immer das Programm eine Anwendung der Form (P Q) enthält, wir zuerst Lehrsätze entsprechend den Typen von P und Q beweisen sollten. Da P auf Q angewandt wird, muss der Typ von P die Form α  β haben, und der Typ von Q muss die Form α für einige haben und. Wir können dann den Beschluss, über den Modus ponens Regel losmachen.

Die Zusammensetzung combinator gesehen als ein Beweis in der Hilbert-artigen Logik

Als ein mehr kompliziertes Beispiel, wollen Blick auf den Lehrsatz wir, der der B-Funktion entspricht. Der Typ von B ist (β  α)  (γ  β)  γ  α. B ist dazu gleichwertig (S (K S) K). Das ist unser Fahrplan für den Beweis des Lehrsatzes (β  α)  (γ  β)  γ  α.

Zuerst müssen wir (K S) bauen. Wir lassen das vorangegangene Ereignis des K Axioms wie das S Axiom aussehen, indem wir α gleich, und gleich untergehen (um variable Kollisionen zu vermeiden):

:

:

Da das vorangegangene Ereignis hier gerade S ist, können wir den folgenden Verwenden-Modus Ponens losmachen:

:

Das ist der Lehrsatz, der dem Typ (K S) entspricht. Wir wenden jetzt S auf diesen Ausdruck an. Einnahme S

:

wir stellen =, =, und =, tragend

:

und wir machen dann die Folgerung los:

:

Das ist die Formel für den Typ (S (K S)). Ein spezieller

der Fall dieses Lehrsatzes hat =:

:

Wir müssen diese letzte Formel auf K anwenden. Wieder spezialisieren wir K dieses Mal, indem wir durch ersetzen und mit:

::

Das ist dasselbe als das vorangegangene Ereignis der vorherigen Formel, so machen wir die Folgerung los:

:

Die Schaltung der Namen der Variablen und gibt uns

:

der war, was wir beweisen mussten.

Der normale Beweis im natürlichen als ein λ-term gesehenen Abzug

Wir geben unter einem Beweis im natürlichen Abzug und zeigen, wie er als der λ-expression λ a interpretiert werden kann. λb. λ g. ((b g)) des Typs.

a:β  α, b:γ  β, g:γ b: γ  β a:β  α, b:γ  β, g:γ g: γ\

———————————————————————————————————

————————————————————————————————————————————————————————————————————

a:β  α, b:γ  β, g:γ a: β  α a:β  α, b:γ  β, g:γ b g: β\

————————————————————————————————————————————————————————————————————————

a:β  α, b:γ  β, g:γ (b g): α\

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —\

a:β  α, b:γ  β λ g. (b g): γ  α\

————————————————————————————————————————

a:β  α λ b. λ g. (b g): (γ  β)-> γ  α\

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —\

λ a. λ b. λ g. (b g): (β  α)-> (γ  β)-> γ  α\

Andere Anwendungen

Kürzlich ist der Isomorphismus als eine Weise vorgeschlagen worden, Suchraumteilung in der Genetischen Programmierung zu definieren. Die Methode-Index-Sätze von Genotypen (die Programm-Bäume, die durch das GP System entwickelt sind) durch ihren Curry-Howard isomorpher Beweis (gekennzeichnet als eine Art).

Samenverweisungen

  • .
  • .
  • De Bruijn, Nicolaas (1968), Automathematik, eine Sprache für die Mathematik, Abteilung der Mathematik, Eindhoven Universität der Technologie, TH-Berichts 68-WSK-05. Nachgedruckt in der revidierten Form, mit Zwei-Seite-Kommentar, in: Automation und das Denken, vol 2, Klassische Papiere auf der rechenbetonten Logik 1967-1970, Springer Verlag, 1983, Seiten 159-200.
.

Erweiterungen der Ähnlichkeit

</Verweisungen>

. . .
  • . (Die volle Version des Papiers hat am Logikkolloquium '90, Helsinki präsentiert. Auszug in JSL 56 (3):1139-1140, 1991.)
.
  • . (Die volle Version einer Zeitung hat am Logikkolloquium '91, Uppsala präsentiert. Auszug in JSL 58 (2):753-754, 1993.)
. .
  • . (Die volle Version einer Zeitung hat an 2. WoLLIC '95, Recife präsentiert. Auszug in der Zeitschrift von Interest Group in der Reinen und Angewandten Logik 4 (2):330-332, 1996.)
  • betrifft die Anpassung der Probe-als die Programme Programm-Synthese zum rauen Korn und den befehlenden Programm-Entwicklungsproblemen über eine Methode, die die Autoren das Protokoll des Currys-Howard nennen. Schließt eine Diskussion der Ähnlichkeit des Currys-Howard von einer Informatik-Perspektive ein.
  • . (Volle Version eines Vortrages, der in LSFA 2010 gehalten ist, Geburts-, Brasilien.)

Philosophische Interpretationen

  • . (Frühe Version hat am Logikkolloquium '88, Padova präsentiert. Auszug in JSL 55:425, 1990.)
  • . (Frühe Version, die auf dem Vierzehnten Internationalen Symposium von Wittgenstein (hundertjähriges Feiern) präsentiert ist, hat in Kirchberg/Wechsel am 13-20 August 1989 gehalten.)
.

Synthetische Papiere

  • der Beitrag von de Bruijn allein.
  • , enthält eine synthetische Einführung in die Ähnlichkeit des Currys-Howard.
  • enthält eine synthetische Einführung in die Ähnlichkeit des Currys-Howard.

Bücher

  • , bringt die Samenpapiere des Currys-Feys und Howards, einen Vortrag von de Bruijn und einige andere Papiere wieder hervor.
  • Zeichen auf der Probetheorie und Typ-Theorie, die eine Präsentation der Ähnlichkeit des Currys-Howard, mit einem Fokus auf der Ähnlichkeit der Formeln als die Typen einschließt
  • Girard, Jean-Yves (1987-90). Beweis und Typen. Übersetzt durch und mit Anhängen durch Lafont, Yves und Taylor, Paul. Universität von Cambridge Presse (Flächen von Cambridge in der Theoretischen Informatik, 7), internationale Standardbuchnummer 0-521-37181-3, bemerkt auf der Probetheorie mit einer Präsentation der Ähnlichkeit des Currys-Howard.
  • Thompson, Simon (1991). Typ-Theorie und Funktionelle Programmierung Addison-Wesley. Internationale Standardbuchnummer 0-201-41667-0.
  • betrifft die Anpassung der Probe-als die Programme Programm-Synthese zum rauen Korn und den befehlenden Programm-Entwicklungsproblemen über eine Methode, die die Autoren das Protokoll des Currys-Howard nennen. Schließt eine Diskussion der Ähnlichkeit des Currys-Howard von einer Informatik-Perspektive ein.
  • F. Binard und A. Felty, "Genetische Programmierung mit polymorphen Typen und höherwertigen Funktionen." In Verhandlungen der 10. jährlichen Konferenz für die Genetische und evolutionäre Berechnung, Seiten-1187 1194,
2008.http://www.site.uottawa.ca/~afelty/dist/gecco08.pdf .

Weiterführende Literatur

  • P.T. Johnstone, 2002, Skizzen eines Elefanten, Abschnitt D4.2 (vol 2) gibt eine kategorische Ansicht von, "was" in der Ähnlichkeit des Currys-Howard geschieht.

Links


Vertrag von Fredrikshamn / Yoo-Hoo
Impressum & Datenschutz