Curryho–Howardův isomorfismus
Technology
12 hours ago
8
4
2
Author
Albert FloresCurryho-Howardův isomorfismus je v informatice a matematice pojmenování pro spojení mezi formální logikou a teorií typů. Tento isomorfismus byl poprvé formulován v polovině 20. století Alonem Currym a Williamem Howardem a ukazuje, jakým způsobem lze logické výroky reprezentovat pomocí funkcionálních programovacích jazyků. Isomorfismus zajišťuje ekvivalenci mezi typy v teorii typů a formulemi ve formální logice. Z logického hlediska se typy chápou jako výroky, které jsou dokazatelné, zatímco funkce mezi typy reprezentují způsoby, jak daný výrok dokázat. To znamená, že paralelou k existenci logických důkazů jsou funkcionální programy. Curryho-Howardův isomorfismus tedy umožňuje aplikovat poznatky o důkazech a jejich struktuře na programování. Využití tohoto isomorfismu je široké, ať už se jedná o konstrukci důkazových asistentů, automatizaci důkazů ve formální logice nebo vývoj programovacích jazyků založených na teorii typů. Tento isomorfismus představuje silný nástroj pro zkoumání souvislostí mezi logikou a programováním a umožňuje vzájemný přenos poznatků mezi těmito oblastmi.
Curryho-Howardův isomorfismus je v logice a teorii typů rovnocennost mezi typy a formulemi, resp. jejich důkazy. Logickým objektům (konektivům a konstantám) odpovídají typy takto:
Výroková logika | Teorie typů |
---|---|
implikace | funkční typ |
konjunkce | součinový typ |
disjunkce | součtový typ |
pravda | jednotkový typ |
nepravda | prázdný typ |
Kvantifikátory v logice prvního řádu odpovídají závislostním typům:
Predikátová logika | Teorie typů |
---|---|
\forall | zobecněný součinový typ |
\exists | zobecněný součtový typ |
Pro rovnost se používá zvláštní typ a=_A b, jehož jedinou hodnotou je Refl.
Konkrétní hodnoty jednotlivých typů přímo odpovídají důkazům formulí.