Лямбда, которую мы потеряли
Apr. 3rd, 2008 03:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пара задачек по лямбда-исчислению.
(1) Сконструируйте лямбда-терм F, такой что для любого терма M выполнялось бы
(2) Сконструируйте лямбда-терм G, такой что для любых термов M и N выполнялось бы
Ответы не скринятся, так что если хотите думать сами - не смотрите в комменты.
(1) Сконструируйте лямбда-терм F, такой что для любого терма M выполнялось бы
FM = MF
(2) Сконструируйте лямбда-терм G, такой что для любых термов M и N выполнялось бы
GMN = NG(NMG)
Ответы не скринятся, так что если хотите думать сами - не смотрите в комменты.
no subject
Date: 2008-04-04 11:54 am (UTC)я тут пишу-таки работу про визуальный конструктор лямбда-выражений
и построил в нем ваш терм FM, где F=(\gm.m(gg))(\gm.m(gg)) а M - свободная переменная:
здесь анимация (200kb) построения этого терма и его редукции сначала до M((\gm.m(gg))(\gm.m(gg)))
а потом дальше до M((\m.m(\m.m(\m.m((\gm.m(gg))(\gm.m(gg)))))))
тут основа используемого синтаксиса
если вас заинтересует конструктор, то здесь можно его скачать.
он пишется на питоне и требует
python 2.5 http://www.python.org/download/
и pygame 1.8 http://www.pygame.org/download.shtml
сам он пока в сыром виде,
так что буду вам признателен за предложения по поводу интерфейса. и за баги.
no subject
Date: 2008-04-04 12:05 pm (UTC)А чтобы редукции в классической лямбде отображались где-нибудь внизу/сбоку?
no subject
Date: 2008-04-04 12:13 pm (UTC)правда пока в перемешку с другой информацией
no subject
Date: 2008-04-04 12:27 pm (UTC)http://deniok.narod.ru/
Без предварительных стрелочек юзерам совсем тяжело было. Да и потом все ругались, что тяжело алгоритм читать с экрана.
Чтобы это хозяйство было удобно многим, очевидно стоит регулировать скорость, либо сделать удобный пошаговый интерфейс.
no subject
Date: 2008-04-04 12:43 pm (UTC)надеюсь, достаточно вывода на консоль выбранного суб-терма и всего терма после редукции
регулировку скорости да, добавлю, спасибо.
интерфейс кажется довольно пошаговый: одно нажатие Enter - одна редукция. плюс возможность шагов назад.
no subject
Date: 2008-04-04 01:05 pm (UTC)no subject
Date: 2008-04-04 01:47 pm (UTC)еще (но это не строго) цвета в закрытом под-терме (под-терм без свободных переменных) объединены одним тоном (hue) и отличаются только яркостью.
no subject
Date: 2008-04-04 12:08 pm (UTC)no subject
Date: 2008-04-04 12:23 pm (UTC)а в тех старых гифах был немного другой синтаксис: "f x y" и "f (g x)" были наоборот ("f x y" был вряд). но буквально на выходных руководитель меня просветил как лучше.
может еще можно что-то улучшить?
no subject
Date: 2008-04-05 09:16 pm (UTC)