Zbiory podstawowe dla rachunku kombinatorycznego


19

Dobrze wiadomo, że kombinatory S i K tworzą zestaw podstawowy dla rachunku kombinatorycznego, w tym sensie, że wszystkie inne kombinatory można wyrazić za ich pomocą. Istnieje również podstawa Curry'ego B, C, K, W, która ma tę samą właściwość. Musi istnieć nieskończona liczba takich baz, ale nie znam żadnych innych.

Wiem, że istnieje wiele baz z jednym kombinatorem, takich jak kombinator Iota i różne inne konstruowane / recenzowane przez Fokkera . Są to jednak „niewłaściwe” kombinatory, co oznacza, że ​​są wyrażane raczej w kategoriach innych kombinacji niż czystych abstrakcji. 1 Na potrzeby tego pytania interesują mnie tylko zestawy bazowe złożone z odpowiednich kombinacji.

Czy istnieje również badanie innych możliwych zestawów podstawowych? Ideałem byłoby coś wzdłuż linii Wolframa badaniu różnych innych modeli obliczeniowych, w których różne kombinacje są systematycznie badane. W szczególności interesuje mnie, czy znane są proste przykłady następujących rzeczy:

  • Minimalny zestaw podstawowy, który zawiera kombinator I. (Używam „minimalnego”, co oznacza, że ​​jeśli usuniesz członka, przestanie on być podstawą, więc podstawa SKI się nie liczy).
  • Minimalny zestaw podstawowy, który zawiera kombinator Y lub kombinator (inaczej mockingbird)ω

Wszelkie inne informacje o innych możliwych podstawach logiki kombinacyjnej oprócz S, K i B, C, K, W byłyby naprawdę pomocne.

W szerszym ujęciu interesuje mnie badanie rachunku kombinatorycznego jako układu czysto mechanicznego , tj. Jako zestawu reguł transformacji drzew binarnych z oznaczonymi węzłami, które nie wymagają szczególnej interpretacji semantycznej. Wszelkie wskazówki dotyczące zasobów, które przyjmą takie podejście, byłyby bardzo mile widziane. ( Aby wyśmiewać drozda przyjmuje takie podejście, ale daje niepełną prezentację, podczas gdy rachunek Lambda Barendregta jest bardzo związany z semantyką, co utrudnia mi wydobycie aspektów czysto mechanicznych, którymi jestem zainteresowany.)

1 Mówiąc dokładniej: w rachunku lambda właściwy kombinator jest wyrażeniem formy , gdzie ma tylko , itp. jako dowolne zmienne i nie zawiera żadnych abstrakcji. Na przykład jest właściwym kombinatorem, ale nie jest, ponieważ zawiera zastosowane do terminu lambda.(λ.x1x2)P.(x1,x2),))P.(x1,x2),)x1x2)(λxyz.x(zz))(λx.x(λy.y))x

Odpowiedzi:


2

doT.=(λxy.yx)W.ω=(λx.xx)doW.do=b(T.(bbT.))(bbT.)W.=do(bω(bbT.))


1

Podstawą jest dowolny zestaw kombinatorów, który zawiera kombinator anulujący (jak K), kombinator komponujący (jak B), kombinator permutacyjny (jak C), kombinator powielający (jak W) i kombinator tożsamości I są podstawą. Jeśli kombinator I pochodzi od twoich czterech innych kombinacji, wtedy te cztery same wystarczą.

Oznacza to, że coś w rodzaju B, T, M, K, I, gdzie Tab = ba i Ma = aa, jest również podstawą. Rzeczywiście, B, T, M, K wystarczy, ponieważ mogę pochodzić od B, T, M, K (nie jest to łatwe do udowodnienia; dowodem jest najpierw wyprowadzić S z B, T, M, a następnie przyjąć I = SKK.)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.