原始递归函数的组合器


Answers:


17

是的,但是您必须考虑类型组合器。也就是说,您需要为和K提供 以下类型模式: K :A → B → A S :(A → B → C )→ (A → B )→ (A → C ) 其中A ,B和C是可以在每次使用时实例化为任何具体类型的元变量。小号ķ

ķ:一种→乙→一种小号:(一种→乙→C)→(一种→乙)→(一种→C)
一种,乙C

然后,你要的类型添加自然数到类型的语言,并添加以下组合子: ž :ñ S ^ ü Ç Ç :ñ → ñ我牛逼è [R :ñ → (ñ → ñ)→ ñ → ññ

ž:ñsüCC:ñ→ñ一世ŤË[R:ñ→(ñ→ñ)→ñ→ñ

为补充的平等规则是:

一世ŤË[R一世Fž=一世一世ŤË[R一世F(süCCË)=F(一世ŤË[R一世FË)

一世ŤË[R:一种→(一种→一种)→ñ→一种
一世ŤË[R

一世ŤË[R

p[RËd′=λķ。一世ŤË[R(ž,ž)(λ(ñ,ñ′)。(süCCñ,ñ))ķp[RËd=λķ。sñd(p[RËd′ķ)

ñ≃ñ×ñ


那么,由于对类型化组合器的限制,这比图灵完备还小吗?类型变量可以(递归地)表示类型变量上的函数吗(例如,对于某些类型D和E,A = D-> E)?
— NietzscheanAI 2013年

2
小号ķ

尼尔,谢谢。我是否认为可以通过教堂数字编码以S和K表示z,succ和iter是正确的吗?
— NietzscheanAI 2013年

0↦0(süCCX)↦X

@Xoff:前置函数具有众所周知的线性时间定义iter。这可能是在cs.stackexchange.com问题的对象...
— 科迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.