В этой главе рассмотрим достаточно тривиальные вещи, но они будут очень полезны в последующем материале. Введём такое понятие, как свободные переменные, которые обозначим . Вот несколько примеров применения этого понятия ко всем известным нам термам.
У одиночной переменной свободна сама . В абстракции переменная связывается ближайшей лямбдой, поэтому из свободных переменных тела её надо убрать. В применении свободные переменные берутся из обеих частей: всё свободное в плюс всё свободное в . Терм без свободных переменных называется замкнутым, или комбинатором; при этом одна и та же буква может встретиться и свободно, и связанно, например, в .
Напомню, что терм представляет собой дерево, а переменные — листья. Так вот, в листья можно подставлять, в свою очередь, поддеревья, то есть термы. Такая операция называется подстановкой. Вот несколько примеров таких подстановок:
Вот видите, появились уже какие-то ограничения. А почему? Тут есть важная тонкость. Например, если условие нарушено, свободная переменная «захватывается» чужой абстракцией:
Лекарство — α-конверсия, но об этом чуть позже.