Kartézská uzavřená kategorie je kategorie , která připouští currying , tj. obsahuje pro každou třídu morfismů nějaký objekt , který ji reprezentuje. Kartézské uzavřené kategorie zaujímají v jistém smyslu mezistupeň mezi abstraktními kategoriemi a množinami , protože umožňují správně pracovat s funkcemi , ale neumožňují například operovat s podobjekty.
Z hlediska programování kartézské uzavřené kategorie implementují zapouzdření argumentů funkcí – každý argument je reprezentován objektem kategorie a je použit jako černá skříňka . Zároveň je expresivita kartézských uzavřených kategorií dostačující k tomu, aby fungovaly s funkcemi způsobem přijatým v λ-kalkulu . To z nich dělá přirozené kategorické modely typovaného λ-kalkulu .
Kategorie C se nazývá kartézská uzavřená [1] , pokud splňuje tři podmínky:
Kategorie taková, že pro kterýkoli z jejích objektů je kategorie objektů nad ní kartézsky uzavřená, se nazývá lokálně kartézská uzavřená .
V kartézské uzavřené kategorii lze „funkci dvou proměnných“ (morfismus f : X × Y → Z ) vždy reprezentovat jako „funkci jedné proměnné“ (morfismus λ f : X → Z Y ). V programování je tato operace známá jako currying ; to umožňuje jednoduše zadaný počet lambda interpretovat v jakékoli kartézské uzavřené kategorii. Kartézské uzavřené kategorie slouží jako model kategorií pro typizovaný počet a kombinatorickou logiku .
Curry-Howardova korespondence poskytuje izomorfismus mezi intuicionistickou logikou, jednoduše napsaným lambda kalkulem a karteziánskými uzavřenými kategoriemi. Určité kartézské uzavřené kategorie ( topoi ) byly navrženy jako hlavní předměty alternativních základů matematiky namísto tradiční teorie množin .