コンビネータ計算の基底セット
SおよびKコンビネータは、他のすべてのコンビネータをそれらの観点から表現できるという意味で、コンビネータ計算の基底セットを形成することはよく知られています。同じ特性を持つカレーのB、C、K、Wベースもあります。そのようなベースは無数にあるに違いありませんが、他のベースは知りません。 Iotaコンビネーターや、Fokkerによって構築/レビューされた他のさまざまなコンビネーターなど、単一のコンビネーターベースが多数あることを認識しています。ただし、これらは「不適切な」コンビネータです。つまり、純粋な抽象化ではなく、他のコンビネータに関して表現されます。1 この質問の目的のために、私は適切なコンビネータで構成される基底セットにのみ興味があります。 他の可能な基底系の研究もありますか?理想は、さまざまな組み合わせが体系的に研究される、他のさまざまな計算モデルに関する Wolframの研究に沿ったものです。特に、次の事柄の簡単な例が知られているかどうかに興味があります。 Iコンビネーターを含む最小基底セット。(私は「最小」を使用して、メンバーを削除すると、それが基礎になるのをやめるので、SKIの基礎は考慮されません。) Yコンビネーターまたはコンビネーター(別名mockingbird)を含む最小基底セットωω\omega S、K、およびB、C、K、W以外の組み合わせロジックの他の可能なベースに関するその他の情報は、本当に役立ちます。 より広い点として、私は純粋に機械的なシステムとしての組み合わせ計算の研究に興味があります。つまり、特定のセマンティックな解釈を与える必要のないラベル付きノードを持つ二分木の変換ルールのセットとして。このアプローチを取るリソースへのポインタは大歓迎です。(Mockingbirdをモックするには、このアプローチを使用しますが、プレゼンテーションは不完全です。一方、BarendregtのLambda Calculusはセマンティクスと非常に結びついているため、興味のある純粋に機械的な側面を抽出することは困難です。) 図1は、正確には:適切なコンビネータフォームの式で計算ラムダに、のみを有する、などを自由変数として使用します。抽象化は含まれません。たとえば、は適切なコンビですが、はそうではありません。ラムダ項に適用されるが含まれているためです。(λ 。X1バツ2… P(x1、x2、… )))(λ。バツ1バツ2…P(バツ1、バツ2、…))(\lambda.x_1x_2\dots P(x_1,x_2,\dots))P(x1、x2、… )P(バツ1、バツ2、…)P(x_1,x_2,\dots)バツ1バツ1x_1バツ2バツ2x_2(λ X 、Yz。x (zz))(λバツyz。バツ(zz))(\lambda x y z. x(z z))(λ X 。X (λ Y。y))(λバツ。バツ(λy。y))(\lambda x. x(\lambda y.y) )バツバツx