Есть ли эффективный алгоритм, который отображает между хорошо типизированными замкнутыми членами просто типизированного лямбда-исчисления и натуральными числами? Например, с помощью Брейна индексов (и, вероятно, на неправильном порядке):Что такое отображение между натуральными числами и действительными просто типизированными терминами лямбда-исчисления?
0 → (λ 0)
1 → (λ (λ (0 1)))
2 → (λ (λ (1 0)))
3 → (λ 0 (λ 0))
4 → (λ (λ 0) 0)
5 → (λ (λ 1) 0)
6 → ... so on
Похожие вопросы: существует ли алгоритм, который отображает между натуральными числами и нормированных с точки зрения простого типизированного лямбда-исчисления? Кроме того, те же вопросы относятся к нетипизированному лямбда-исчислению.
Нужно ли быть биективным? Если это так, я не думаю, что может быть какое-то эффективное решение. –
Если распознавание нормализованных терминов не является вычислимым, то вы, вероятно, будете недовольны алгоритмами перечисления. –
Это вычислимо ... – MaiaVictor