Zurück zur Übersicht

Begriff

Curry-Howard Correspondence

Computer Science Math 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 vielleicht tiefste Geheimnis der Informatik. Es gibt zwei Welten, die scheinbar nichts miteinander zu tun haben:

  1. Logik (Beweise, Implikation $A \to B$).
  2. Programmierung (Funktionen, Typen A -> B). Curry und Howard entdeckten: Sie sind genau das Gleiche.
  • Eine logische Aussage ("A impliziert B") ist ein Datentyp (Funktion, die A ninmmt und B liefert).
  • Ein Beweis dieser Aussage ist ein Programm dieses Typs. Wenn du ein Programm schreibst, das kompiliert... hast du gerade einen mathematischen Beweis geführt! (Constructive Logic).

Merksatz: Der Isomorphismus zwischen logischen Systemen und Berechnungskalkülen, der besagt, dass logische Aussagen Typen entsprechen und Beweise Programmen entsprechen (Proofs-as-Programs).


Quick-Check

  1. Heißt das, Java ist Logik?
    Ja, aber eine inkonsistente Logik. Wegen null und Endlosschleifen ("Wahrheit durch Absturz") kann man in Java jeden Unsinn "beweisen". Nur totale, reine Sprachen (wie Coq) sind echte Logik.
  2. Warum wichtig?
    Es vereint Mathematik und Informatik. Wir müssen nicht zwei Wissenschaften lernen. Es ist eine.
  3. Name?
    Haskell Curry (1930er) und William Howard (1969). Unabhängig entdeckt, Jahrzehnte später verknüpft.