deniok: (typed lambda)
deniok ([personal profile] deniok) wrote2009-01-23 01:46 pm

Ненормализуемая вертушка

Придумал задачку по лямбда исчислению.

Общеизвестен лямбда-терм, не имеющий нормальной формы
(\x.xx)(\x.xx)
Этот терм обладает следующим свойством: он воспроизводит сам себя при каждой бета-редукции, ведя себя по отношению к ней как экспонента по отношению к дифференцированию.

А теперь задача: написать не имеющий нормальной формы терм, который бы вел себя как e^(-x). То есть при первой бета-редукции он должен превращаться во что-то другое, а при следующей возвращаться к исходному виду. Моя версия такого терма (flipflop) под катом белым цветом


flip = \xyz.xyzz
flop = \xyz.yxxz

flipflop = flip flop flop flip ~> -- первая редукция
flop flop flip flip            ~> -- вторая редукция
flip flop flop flip            = flipflop



Может кто придумает попроще?

UPD: Эх, а у меня-то решение неправильное :) (Потому что у меня аж шесть шагов) Правильное - у [livejournal.com profile] lomeo в комментах.

[identity profile] lomeo.livejournal.com 2009-01-23 11:30 am (UTC)(link)
Первое, что пришло в голову

(\xy.yxy)T(\xy.yxy)

T - любая лямбда

Не ошибся?

[identity profile] lomeo.livejournal.com 2009-01-23 12:49 pm (UTC)(link)
У тебя джаббер есть? мой lomeo.nuke на гмыле.

[identity profile] ro-che.livejournal.com 2009-01-23 11:23 pm (UTC)(link)
Что-то типа (\x.f(xx))(\x.f(xx)), f -- любая инволюция (т.е. f . f = id)