O categorie închisă carteziană este o categorie care admite currying , adică conține pentru fiecare clasă de morfisme un obiect care o reprezintă. Categoriile închise carteziene ocupă, într-un fel, o poziție intermediară între categorii abstracte și mulțimi , deoarece vă permit să operați corect cu funcții , dar nu permit, de exemplu, să operați cu subobiecte.
Din punct de vedere al programării , categoriile carteziene închise implementează încapsularea argumentelor funcției - fiecare argument este reprezentat de un obiect categorie și este folosit ca o cutie neagră . În același timp, expresivitatea categoriilor închise carteziene este suficientă pentru a opera cu funcții în maniera adoptată în calculul λ . Acest lucru le face modele categorice naturale ale calculului λ tipizat .
O categorie C se numește carteziană închisă [1] dacă îndeplinește trei condiții:
O categorie astfel încât pentru oricare dintre obiectele sale categoria de obiecte de peste el este carteziană închisă se numește local carteziană închisă .
Într-o categorie închisă carteziană, o „funcție a două variabile” (morfismul f : X × Y → Z ) poate fi întotdeauna reprezentată ca o „funcție a unei variabile” (morfismul λ f : X → Z Y ). În programare, această operație este cunoscută sub numele de curry ; aceasta permite ca calculul lambda tip simplu să fie interpretat în orice categorie închisă carteziană. Categoriile carteziene închise servesc ca model de categorie pentru calculul tipizat și logica combinatorie .
Corespondența Curry-Howard oferă un izomorfism între logica intuiționistă, calculul lambda tip simplu și categoriile închise carteziene. Anumite categorii carteziene închise ( topoi ) au fost propuse ca obiecte principale ale fundamentelor alternative ale matematicii în locul teoriei tradiționale a mulțimilor .