あなたは、建設的なリフトモナドを使用することができます。一般的な再帰関数を記述します。次に、あなたの型チェッカーは、タイプがあります CをO N T E X T → T E R M → T Y PのE → B O O L ⊥。これは基本的にBove / Caprettaアプローチです。(Benton、Kennedy、およびVarmingの「Coqのいくつかのドメイン理論と表示意味論」、dl.acm.org / citation.cfm?id = 1616077.1616090も参照してください。)A⊥≜ να 。A + αc o n t e x t → t e r m → t y p e → B O O L⊥