Чи є обчислення SK2 повна основа, де K2 - перевернутий комбінатор K?


10

Зокрема, якщо я визначив новий K2 як

K2=λx.(λy.y)
замість
K=λx.(λy.x)
буде {S,K2,I} -калькуляція є конкурентною основою?

Я здогадуюсь "ні", просто тому, що я не можу створити звичайний K-комбінатор з комбінаторів S , I та K2 , але у мене немає алгоритму, який слід слідкувати, і в мене немає хорошого інтуїція про те, щоб зробити речі з цих комбінаторів.

Схоже, ви можете визначити

K2=KI
за допомогою регулярного {S,K,(I)} -калькуляції, але я не міг реально працювати назад, щоб отримати деривацію K з точки зору K2 та решта .

Моя спроба довести, що вона не була функціонально завершеною, по суті намагалася вичерпно побудувати кожну функцію, досяжну з цих комбінаторів, щоб показати, що ви доходите до тупику (функції, яку ви бачили раніше) незалежно від того, якими комбінаторами ви користуєтесь. Я усвідомлюю, що це не обов'язково стосується функціонально неповних наборів комбінаторів (наприклад, K комбінатор сам по собі ніколи не буде глухим шляхом, коли застосовується до себе), але це була моя найкраща думка. Мені завжди вдалося використати комбінатор S щоб вирватися з того, що, на мою думку, було нарешті тупиком, тому я вже не впевнений у здійсненні такого підходу.

Я поставив це питання на StackOverflow, але мені було запропоновано опублікувати його тут. Я отримав кілька коментарів до цього поста, але не впевнений, що правильно їх зрозумів.

Бонус: якщо це не повна основа, чи все-таки отримана мова є Тюрінгом?


це гарна загадка. Здається, що S і K 'дозволяють генерувати лише терміни, у яких нормальні форми головки мають до трьох провідних λs (тобто термінів, які нормалізуються до форми λx₁.λx₂.λx₃. Xᵢ t₁ ... tₙ), так що це може бути ще один шлях до доказування незавершеності, хоча формально виглядає дещо складним. Ви, безумовно, ніколи не досягнете "глухого кута", хоча: почніть з визначення I = λx.x = K2 K2, потім, повторивши перетворення t ↦ S t K2, ви можете виразити λx.x I ... I для будь-якого рядка Is .
Ноам Зейльбергер

... І, вибачте, під "незавершеністю" я маю на увазі неповноту СК "як комбінаторну основу для нетипового обчислення лямбда. Я також не маю доброї інтуїції щодо того, чи є це Тюрінг-повним (що мається на увазі за комбінаційною повнотою, але не іншим способом).
Ноам Зейльбергер

Перехресна відповідав: stackoverflow.com/q/55148283/781723 , cs.stackexchange.com/q/108741/755 . Будь ласка , не ставте один і той же питання на кількох сайтах . Кожна громада повинна чесно реагувати на відповіді, не витрачаючи ні на кого часу.
DW

Моя помилка @DW, чи можна щось зробити, щоб виправити це?
Коул

Відповіді:


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


Дуже приємний аргумент!
Ноам Зейльбергер

Дуже гладкий і чіткий аргумент. Дякую. Можливо, я відкрию окреме питання, щоб поставити питання про повноту Тьюрінга.
Коул

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
Мені подобається підхід, але ви могли б пояснити, які правила ви приймаєте за своє послідовне обчислення?
Ноам Зейльбергер

Чи можете ви накреслити, як довести S у цьому обмеженому послідовному обчисленні? Це, здається, неможливо з правилами, які я здогадався, що ви можете мати на увазі.
Робін Х'юстон

1
@ robin-Houston: будь ласка, дивіться мою редагування (я також додав інший, семантичний аргумент з тим же висновком).
ZAK

2
Я погоджуюся з Чарльзом Стюарт (тут: twitter.com/txtpf/status/1123962607306706944 ), що незрозуміло, як перейти від нежитла в просто набраному лямбдальному обчисленні до невиразності за допомогою комбінаторів. Можливо, існує аргумент, специфічний для K, але початковий крок "... тоді можна також зробити те ж саме в просто набраному λ-обчисленні" взагалі не має місце (Чарльз згадав про контрприклад з Y-комбінатора) . Чи бачите Ви зробити цей аргумент суворим?
Ноам Зейльбергер

1
K
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.