只需键入Lambda计算器

时间:2016-11-29 13:20:06

标签: typed-lambda-calculus

最近开始了一个关于简单输入的lambda演算的大学模块,对于任何给定的例子它刚刚(t1-> t2)或类似的,我从来没有使用过这么长的类型。问题是使用类型(t1→t3)→(t2→t3→t5)→t2→t1→t7定义一个术语,使用尽可能短的定义。我如何开始这个,我可以把它分解成更小的类型,还是我必须把它作为一个长类型来完成。

1 个答案:

答案 0 :(得分:0)

将该功能的类型分开开始。 它是一个函数,它接受4个参数并返回类型为t7的东西。

  • 第一个参数是具有1个t1类型参数的函数,它返回类型t3 => P1
  • 第二个参数是具有类型t2和t3的2个参数的函数,其返回类型t5 => P2 等

然后你需要使用这些参数和附加函数(比如f1 ... f4)来使输入创建类型为t7的东西。 当你有t7类型的东西时,你只需要将这个函数变成简单的类型lambda演算