SK2微積分は完全な基礎ですか?K2は反転Kコンビネーターですか?


10

具体的には、私は新しい定義されている場合K2として

K2=λx.(λy.y)
の代わりに
K=λx.(λy.x)
だろう{S,K2,I} -calculus競合ベースであること?

私の推測は「いいえ」ですSI、およびK2コンビネーターから通常のKコンビネーターを構築することができないように思えるだけですが、従うアルゴリズムがなく、優れているわけでもありません。これらのコンビネータから物事を作ることに関する直感。

あなたが定義できるように思える

K2=KI
定期的に{S,K,(I)} -calculus、私は実際の導出を取得することから逆方向に動作しませんでしたKの面でK2、残りを。

機能的に完全ではなかったことを証明する私の試みは、使用するコンビネーターに関係なく、行き止まり(以前に見た機能)に到達したことを示すために、これらのコンビネーターから達成可能なすべての機能を徹底的に構築することを本質的に試みました。これは必ずしも機能的に不完全なコンビネーターのセットに当てはまるわけではないことを認識しています(たとえば、Kコンビネーター自体が適用された場合、それ自体が行き止まりになることはありません)。私はいつでもSコンビネーターを使用して、私が最終的に行き止まりであると思ったものをこっそり抜け出すことができたので、このアプローチの実現可能性についてはもはや確信が持てません。

StackOverflowでこの質問をしましたが、ここに投稿するように勧められました。私はその投稿についていくつかのコメントを受け取りましたが、それらを正しく理解したかどうかはわかりません。

おまけ:完全な根拠ではない場合でも、結果の言語はチューリング完全ですか?


これは素晴らしいパズルです。SとK 'は、ヘッドの正規形が最大3つの先行λをもつ項(つまり、λx₁.λx₂.λx₃。xᵢt₁...tₙに正規化する項)のみを生成できるようです。正式化するのは少し難しいようですが、不完全性を証明する別のルート。ただし、絶対に「行き止まり」に達することは決してありません。I=λx.x= K2 K2を定義することから始め、次に変換t↦S t K2を繰り返すことにより、Iの任意の文字列に対してλx.xI ... Iを表すことができます。 。
Noam Zeilberger、

...申し訳ありませんが、「不完全性」とは、型付けされていないラムダ計算の組み合わせの基礎としてのSK 'の不完全性を意味します。また、それがチューリング完全であるかどうかについては直感がありません(これは、組み合わせの完全性によって暗示されますが、他の方法では暗示されません)。
Noam Zeilberger、

クロス投稿:stackoverflow.com/q/55148283/781723cs.stackexchange.com/q/108741/755複数のサイトに同じ質問を投稿しないでください。各コミュニティは、だれもが時間を無駄にすることなく、正直に答える必要があります。
DW

私のミス@DW、これを修正するために何かできることはありますか?
cole

回答:


14

S,K2,IS,K2

S(SS)K2

        @
       / \
      /   \
     @    K2
    / \
   /   \
  S     @
       / \
      /   \
     S     S

T@K2

S,K2,I

         @                           @
        / \                         / \
       /   \                       /   \
      @     g    [reduces to]     @     @
     / \                         / \   / \
    /   \                       e   g f   g
   @     f                 
  / \
 /   \
S     e
      @
     / \
    /   \
   @     f    [reduces to]   f
  / \
 /   \
K2    e

TTTTTS,K2,ITK2SK2KK2SK2KS,K2,I


とても良い議論です!
Noam Zeilberger、

非常に滑らかで明確な議論。ありがとうございました。おそらく、別の質問を開いて、チューリングの完全性について尋ねます。
cole

5

S,K2,I


A,B,C

  • K:ABA
  • K2:ABB
  • S:(ABC)(AB)(AC)
  • I:AA

KI,S,K2ABB,(ABC)(AB)(AC),AAAABBABA

t,f,uABB(ABC)(AB)(AC)AAt

A B | A -> B
t t | t
t f | f
f t | t
f f | t
t u | f
f u | t
u t | t
u f | f
u u | t

K2,S,IttABAfuAtBS,K2,I


1
私はこのアプローチが好きですが、後続の計算としてどのルールを採用しているのかを明確にしていただけますか?
Noam Zeilberger、

この制限されたシーケンス計算でSを証明する方法をスケッチできますか?あなたが意味するかもしれないと私が推測したルールではそれは可能ではないようです。
ロビンヒューストン

1
@ robin-houston:私の編集を参照してください(同じ結論で別の意味論的引数も追加しました)。
ZAK、

2
Charles Stewart(ここ:twitter.com/txtpf/status/1123962607306706944)に同意します。単純に型指定されたラムダ計算での無人からコンビネーターを使用した表現不能への移行方法が明確ではありません。Kに固有の引数があるかもしれませんが、最初のステップ「...その後、単純に型指定されたλ計算で同じことを行うこともできます」は一般的には成り立ちません(チャールズはYコンビネーターの反例に言及しました) 。この議論を厳しくすることを知っていますか?
Noam Zeilberger、

1
K
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.