Возьмём терм
pre = \m.m pf pz (\t f.t)
pf = \p f.f(p(\t f.f))(\s z.s(p(\t f.f) s z))
pz = \f.f(\s z.z)(\s z.z)
который работает в бестиповой лямбде предесессором для чисел Чёрча:
pre (\s z.s(s(s z))) ->> \s z.s(s z)
pre (\s z.s(s z)) ->> \s z.s z
pre (\s z.s z) ->> \s z.z
pre (\s z.z) ->> \s z.z
(Рассказывают, что идея подобного предесессора
(
Read more... )
Comments 7
(The comment has been removed)
Reply
(The comment has been removed)
придумать более простой ... терм, обладающий таким ... свойством: (\s z.s(s z)) term не имеет типа, а единожды редуцированный (\z.term (term z)) уже типизируем?
Если понимать ваш терм как ответ на эту задачу
term = (\s.s s)(\x.x)
то нет, единожды редуцированный
\z.(\s.s s)(\x.x)((\s.s s)(\x.x) z)
не типизируем.
Но я так понял, что вы написали максимально простой нетипизируемый терм, у которого типизация появляется после одной редукции. Моё замечание было про причину, по которой после редукции возникает типизируемость.
Reply
Да! И приходится вводить индуктивные типы бесовские!
Reply
Потом некоторые в твиттере из-за бугра плюют, мол лямбда-то не ultimate!
Reply
Reply
Reply
Leave a comment