Бинарная комбинаторная логика - Binary combinatory logic

Бинарная комбинаторная логика (BCL) является формулировкой комбинаторная логика используя только символы 0 и 1.[1] BCL имеет приложения в теории сложности программного размера (Колмогоровская сложность ).[1][2]

Определение

Синтаксис

Форма Бэкуса – Наура:

 <срок> ::= 00 | 01 | 1 <срок> <срок>

Семантика

В денотационная семантика BCL можно указать следующим образом:

  • [ 00 ] == K
  • [ 01 ] == S
  • [1 ] == ([] [])

куда "[...]"сокращает" значение ...". Здесь K и S являются KS-базисные комбинаторы, и ( ) это заявление операция по комбинаторная логика. (Префикс 1 соответствует левой круглой скобке, правая скобка не нужна для устранения неоднозначности.)

Таким образом, существует четыре эквивалентных формулировки BCL, в зависимости от способа кодирования триплета (K, S, левая скобка). Это (00, 01, 1) (как в настоящей версии), (01, 00, 1), (10, 11, 0), и (11, 10, 0).

В операционная семантика BCL, кроме эта-редукции (которая не требуется для Полнота по Тьюрингу ), может быть очень компактно определено следующим переписывание правила для подтемнов данного термина, разбор слева:

  • 1100кси → х
  • 11101xyz → 11xz1yz

куда Икс, у, и z являются произвольными подтермами. (Обратите внимание, например, что, поскольку синтаксический анализ выполняется слева, 10000 не является подтекстом 11010000.)

Смотрите также

Рекомендации

  1. ^ а б Тромп, Джон (2007), "Бинарное лямбда-исчисление и комбинаторная логика", Случайность и сложность (PDF), World Sci. Publ., Hackensack, NJ, стр. 237–260, CiteSeerX  10.1.1.695.3142, Дои:10.1142/9789812770837_0014, ISBN  978-981-277-082-0, МИСТЕР  2427553.
  2. ^ Дивайн, Шон (2009), «Понимание алгоритмической энтропии», Энтропия, 11 (1): 85–110, Дои:10.3390 / e11010085, МИСТЕР  2534819

внешняя ссылка