Curry-Howardin kirjeenvaihto

Curry-Howard-vastaavuus ( Curry-Howard-isomorfismi , englanninkielinen  formulaæ-as-types -tulkinta ) on havaittava rakenteellinen ekvivalenssi matemaattisten todisteiden ja ohjelmien välillä , joka voidaan formalisoida isomorfismina loogisten järjestelmien ja tyypitettyjen laskelmien välillä.

Haskell Curry [1] ja William Howard2] , että todistuksen rakentaminen on samanlaista kuin laskelmien kuvaus ja konstruktiivisen logiikan lausunnot ovat rakenteeltaan samanlaisia ​​kuin tietokoneelle tarkoitettujen laskettujen lausekkeiden tyypit - ohjelmat . Tämän yhteyden varhaisia ​​ilmentymiä ovat Brouwer-Heiting-Kolmogorov-tulkinta (1925), joka määrittelee intuitionistisen logiikan semantiikan todisteiden laskennan avulla, ja Kleenen (1945) realisoituvuusteoria

Curry-Howard-kirjeenvaihto ei nykyajan näkemyksessä rajoitu mihinkään logiikkaan tai tyyppijärjestelmään. Esimerkiksi lauselogiikka vastaa yksinkertaista tyyppiä olevaa λ-laskentaa  , toisen asteen λ-laskentaa predikaattilaskenta  vastaa λ-laskentaa, jonka tyypit ovat riippuvaisia ​​.

Curry-Howard-isomorfismin puitteissa seuraavia rakenneosia pidetään vastaavina:

Logiikkajärjestelmät Ohjelmointikielet
lausunto Tyyppi
Todiste lausunnosta Termi (lauseke) tyyppi
Väite on todistettavissa Tyyppi asuttu
seuraamus toiminnallinen tyyppi
Yhteys Taideteoksen tyyppi (pareja)
Disjunktio Summatyyppi (syrjitty liitto)
Todellinen kaava yksi tyyppi
Väärä kaava Tyhjä tyyppi ( )
Universaali kvantori Riippuva tuotetyyppi ( -tyyppi)
Olemassaolon kvantori Riippuva summatyyppi ( -tyyppi)

Yksinkertaisin esimerkki Curry-Howard-vastaavuudesta on isomorfismi yksinkertaisen tyypin λ-laskennan ja intuitionistisen lauselogiikan välillä , joka sisältää vain implikaatiot . Esimerkiksi tyyppi yksinkertaisessa kirjoitetussa lambda-laskennassa vastaa propositionaalisen logiikan ehdotusta. Tämän väitteen todistamiseksi on tarpeen rakentaa tietyn tyyppinen termi (jos tämä voidaan tehdä, he sanovat tyypistä, että se on asuttu tai asuttu ), tässä tapauksessa voit esittää halutun termin: , ja tämä tarkoittaa, että tautologia on todistettu.

Curry-Howard-isomorfismin käyttö on mahdollistanut kokonaisen luokan toiminnallisten ohjelmointikielien luomisen, joiden ajonaikainen ympäristö on myös automaattinen todistusjärjestelmä , kuten Coq , Agda ja Epigram .

Muistiinpanot

  1. Curry, HB, Feys, R. Combinatory Logic Voi. I. - Amsterdam : Pohjois-Hollanti , 1958.
  2. Howard, WA The formulae-as-types concept of construction // To HB Curry: Essays on Combinatory Logic, Lambda Calculus and formalism. - Boston: Academic Press , 1980. - s. 479-490 .

Kirjallisuus