Ya, tetapi Anda harus mempertimbangkan kombinator yang diketik. Artinya, Anda perlu memberi dan K
skema jenis berikut:
K : A → B → A S : ( A → B → C ) → ( A → B ) → ( A → C )SK
KS::A → B → A( A → B → C) → ( A → B ) → ( A → C)
mana
, dan
C adalah meta-variabel yang dapat dipakai untuk semua jenis beton pada setiap penggunaan.
A , BC
Kemudian, Anda ingin menambahkan tipe dari bilangan asli ke bahasa tipe, dan menambahkan kombinator berikut:
z : N s u c c : N → N i t e r : N → ( N → N ) → N → NN
zs u c ci t e r:::NN → NN →( N → N )→ N → N
Aturan kesetaraan untuk penambahan adalah:
i t e rsayafzi t e rsayaf( S u c ce )==sayaf( i t e rsayafe )
i t e r:A → ( A → A ) → N → A
i t e r
i t e r
p r e d′p r e d==λ k .i t e r( z, z)( λ ( n , n′) .( S u c cn , n ) )kλ k .s n d( P r e d′k )
N ≃ N × N