SK2 hesabı tam bir temel mi, K2 ters çevrilmiş K birleştiricisi mi?


10

Özellikle, yeni bir olarak yerine olur -calculus bir rekabet temeli?K2

K2=λx.(λy.y)
K=λx.(λy.x)
{S,K2,I}

Tahminim "hayır", çünkü , ve birleştiricilerinden normal K birleştiricisini oluşturamıyorum gibi görünüyor , ama takip edecek bir algoritmam yok, ne de iyi sezgim yok bu birleştiricilerden bir şeyler yapma konusunda.SIK2

Görünüşe göre normal hesabı ile tanımlayabilirsiniz, ancak ve geri kalanı açısından bir türevini elde etmek için bundan geriye .

K2=KI
{S,K,(I)}KK2

İşlevsel olarak tamamlanmadığına dair bir kanıt denemem, hangi birleştiriciler kullandığınıza bakılmaksızın çıkmaz bir noktaya (daha önce gördüğünüz bir işlev) ulaştığınızı göstermek için bu birleştiricilerden elde edilebilen her işlevi kapsamlı bir şekilde inşa etmeye çalıştı. Bunun mutlaka işlevsel olarak eksik birleştiriciler setleri için doğru olmayacağını anlıyorum (örneğin, birleştiricisi kendi kendine uygulandığında asla bitmeyecek), ama bu benim en iyi düşüncemdi. Sonunda çıkmaz olduğunu düşündüğümden kaçmak için birleştiriciyi her zaman kullanabildim , bu yüzden bu yaklaşımın fizibilitesinden artık o kadar emin değilim.KS

StackOverflow bu soruyu sordum ama burada göndermek için teşvik edildi. Bu yazı hakkında birkaç yorum aldım, ancak onları doğru anladığımdan emin değilim.

Bonus: tam bir temel değilse, ortaya çıkan dil yine de Turing-complete mi?


bu güzel bir bulmaca. Görünüşe göre S ve K 'sadece baş normal formları üç adede kadar önde gelen λ (yani, λx₁.λx₂.λx₃. Xᵢ t₁ ... tₙ formuna normalleşen terimler) içeren terimler oluşturmanıza izin veriyor gibi görünüyor, Biçimlendirmek biraz zor görünse de, eksikliği kanıtlamak için başka bir yol. Yine de kesinlikle bir "çıkmaz noktaya" ulaşamazsınız: I = λx.x = K2 K2 tanımlayarak başlayın, sonra t ↦ S t K2 dönüşümünü tekrarlayarak λx.x I ... I ifadesini herhangi bir Is dizesi için ifade edebilirsiniz. .
Noam Zeilberger

... Ve özür dilerim, "eksiklik" ile, SK 'nin türetilmemiş lambda hesabı için birleşik bir temel olarak eksikliğini kastediyorum. Ayrıca Turing-complete olup olmadığı konusunda iyi bir sezgim yok (bu, kombine edici bütünlükle ima edilecek, ancak başka şekilde değil).
Noam Zeilberger

Çapraz yayın : stackoverflow.com/q/55148283/781723 , cs.stackexchange.com/q/108741/755 . Lütfen aynı soruyu birden fazla sitede yayınlamayın . Her topluluğun, kimsenin vaktini boşa harcamadan dürüstçe cevap vermesi gerekir.
DW

Benim hatam @DW, bunu düzeltmek için yapabileceğim bir şey var mı?
cole

Yanıtlar:


14

Koşullarını göz önünde ikili uygulamaları temsil eden düğümlere, ile (ağaçları gibi diş taşı combinators temsil bırakır.S,K2,IS,K2

Örneğin, terimi ağaç tarafından temsil edilirS(SS)K2

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

Her ağaç için en sağdaki yaprağı ilişkilendirir, her birinde doğru dalı alarak elde edeceğiniz ağaç . Örneğin, yukarıdaki ağacın en sağ yaprağı .TK 2@K2

Aşağıdaki ASCII sanatından görülebileceği gibi, hesabındaki tüm indirgeme kuralları en sağdaki yaprağı korur.S,K2,I

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

Oradan, eğer bir terimi ye düşerse , ve nin en sağdaki yaprağa sahip olduğunu görmek kolaydır . Bu nedenle, herhangi bir terim olup içinde öyle ki diş taşı azaltır . Bununla birlikte, azaltır nedenle, olarak ifade edilemez taşı.TTTTTS,K2,ITK2SK2KK2SK2KS,K2,I


Çok güzel bir tartışma!
Noam Zeilberger

Çok kaygan ve açık bir tartışma. Teşekkür ederim. Belki de Turing'in bütünlüğünü sormak için ayrı bir soru açacağım.
cole

5

DÜZENLEME: Yorumların işaret ettiği gibi, bu sadece kısmi bir cevaptır, çünkü sadece basit yazılan hesabı için geçerlidir (veya daha doğrusu, bir hasta içermeyen K'nin olası bir tanımı olmadığını gösterir. tipli ara sınav). İtiraz yoksa, silmeyeceğim, çünkü yazılan ayar için çok verimli bir kanıt tekniği sunuyor.S,K2,I


Kombinatörlerimizin aşağıdaki tiplere sahip olduğunu hatırlayın (Curry tarzı, bu nedenle değişkendir):A,B,C

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

Curry-Howard yazışmasına göre, cinsinden ifade edebilirsek , üç mantıksal aksiyomu olan Hilbert tarzı kanıt hesabı ve bir çıkarım kuralı ( ve infer ) formülünü kanıtlar .KI,S,K2ABB,(ABC)(AB)(AC),AAAABBABA

Ancak t,f,u, bağlantının üç değerli (değerler ) bir anlambilim verebiliriz, böylece , ve herhangi bir yorum için değer alır .ABB(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

Bu anlambilim, aksiyomlarının her sonucunun her yorumun altında değer elde ettiği anlamında (tam değildir, her zaman değeri elde eden , ancak gerçekten kanıtlayamadığımız şeyler vardır ). Bununla birlikte, değer alır atar bu yorumuyla için ve üzere ve dolayısıyla karşılık gelen aksiyomlarından kanıtlanabilir değildir .K2,S,IA B A A B S , K 2 , IttABAfuAtBS,K2,I


1
Yaklaşımı seviyorum ama sıralı hesabınız olarak hangi kuralları kullandığınızı açıklığa kavuşturabilir misiniz?
Noam Zeilberger

Bu sınırlı ardışık hesapta S'yi nasıl kanıtlayabileceğinizi çizebilir misiniz? Tahmin edebileceğiniz kurallarla mümkün görünmüyor.
Robin Houston

1
@ robin-houston: lütfen düzenlememe bakın (aynı sonuca sahip farklı, anlamsal bir argüman ekledim).
ZAK

2
Charles Stewart ile anlaşıyorum (burada: twitter.com/txtpf/status/1123962607306706944 ), basit tip lambda kalkülüsünde yaşamadan birleştiricileri kullanarak ifade edilemezliğe nasıl geçileceği açık değildir. K için özel bir argüman olabilir, ancak ilk adım "... o zaman aynı şeyi basit tipte λ-hesabı" da genel olarak tutmaz (Charles Y birleştiricinin karşı örneğinden bahsetti) . Bu argümanı titizleştiriyor musunuz?
Noam Zeilberger

1
K
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.