Lambda-kub ( λ-kub ) är en visuell klassificering av åtta maskinskrivna lambda-kalkyler med explicit typtilldelning (Church-typed systems ) . Kuben är organiserad efter möjliga beroenden mellan typerna och termerna i denna kalkyl och bildar en naturlig struktur för konstruktionskalkylen . Idén med λ-kuben föreslogs 1991 av den holländska logikern och matematikern Henk Barendregt . Ytterligare generaliseringar av lambdakuben kan erhållas genom att betrakta systemet av ren typ .
I λ-kubsystem tilldelas variabler till en av två sorter: eller . Alla giltiga uttryck sorteras också. Påståendet att ett uttryck tillhör en sort byggs ovanpå skrivpåståendet, det vill säga påståendet lyder som följer: elementet har en typ och tillhör sorten . Sorteringen används för vanliga variabler och termer i λ-kalkylen, sorteringen används för variabler och typuttryck. Därför behandlas sorteringstyper och sorteringselement i λ-kubsystem som korsande. Typen av en term kan till exempel skrivas som ett element av en "högre" sort . Kultivartyper kallas ibland för släkten .
Beroende förstås som förmågan att definiera och använda funktioner som mappar element av en sort till en annan (eller samma). Elementen i en sort är beroende av elementen i en sort om:
Kubens baspunkt är det system som motsvarar den enkelt skrivna lambdakalkylen . Termer (element of sort ) beror på termer; typer (sorteringselement ) deltar inte i beroenden. De tre axlarna som kommer ut från baspunkten ger upphov till följande system:
De återstående systemen är olika kombinationer av de angivna beroenden. Det rikaste systemet (polymorf lambdakalkyl av högre ordning med beroende typer) är faktiskt en konstruktionskalkyl .
Alla lambda-kubsystem har den starka normaliseringsegenskapen : vilken som helst tillåten term (och typ) kan reduceras till en enda normalform efter ett ändligt antal β-reduktioner .
Olika funktionella språk stöder en annan delmängd av typsystemen som representeras i lambdakuben.