B,C,K,W系统
1930年哈斯凱爾·加里在他的博士论文《Grundlagen der kombinatorischen Logik》中提议了一个組合子邏輯系統。它带有基本组合子B、C、K和W(采用了现在的命名)。
定義
编辑- B x y z = x(y z)
- C x y z = x z y
- K x y = x
- W x y = x y y
直觉上,
在當代,只有兩個基本組合子K和S的SKI組合子演算成為了組合子邏輯的規范方式。B, C和W可以使用S和K表達為如下:
- B = S (K S) K
- C = S (S (K (S (K S) K)) S)(K K)
- K = K
- W = S S(K (S K K))
在另一個方向上,SKI可以依據B,C,K,W定義為:
- I = W K
- K = K
- S = B (B (B W) C) (B B)[1] = B (B B B W B) C
與直覺主義邏輯的連結
编辑組合子 , , 和 對應於眾所周知的命題邏輯四公理:
- AB: (B → C) → ((A → B) → (A → C)),
- AC: (A → (B → C)) → (B → (A → C)),
- AK: A → (B → A),
- AW: (A → (A → B)) → (A → B).
而函數應用對應於肯定前件
- MP: 如果 A 且 A → B,則 B。
公理 AB, AC, AK 和 AW 以及函數應用規則 MP 對於直覺邏輯的蘊涵片段是完整的。為了使組合邏輯能模型化為直覺邏輯:
参见
编辑引用
编辑- Hendrik Pieter Barendregt(1984)The Lambda Calculus, Its Syntax and Semantics, Vol. 103 in Studies in Logic and the Foundations of Mathematics. North-Holland. ISBN 978-0-444-87508-2
- Haskell Curry(1930)"Grundlagen der kombinatorischen Logik," Amer. J. Math. 52: 509-536; 789-834.
- Curry, Haskell B.; J. Roger Hindley, and Jonathan P. Seldin. Combinatory Logic Vol. II 2. Amsterdam: North Holland. 1972. ISBN 978-0-7204-2208-5.
- Raymond Smullyan(1994)Diagonalization and Self-Reference. Oxford Univ. Press.
注釋
编辑- ^ Raymond Smullyan(1994)Diagonalization and Self-Reference. Oxford Univ. Press: 344, 3.6(d).
外部連結
编辑- Keenan, David C. (2001) "To Dissect a Mockingbird."
- Rathman, Chris, "Combinator Birds.(页面存档备份,存于互联网档案馆)"
- ""Drag 'n' Drop Combinators (Java Applet)."