Или я не вижу самой сути проблемы - тогда может простой пример поможет прояснить ее?
Собственно, я уже не уверен, что она есть, если аккуратно написать унификацию, а её можно, в принципе, написать аккуратно, если разобраться с подстановкой, которая, конечно, сложнее обычной ситуации не становится.
Итак, полезности, которые я почерпнул и надумал. Во-первых, я как-то раньше не задумывался о подтермах, понимаемых не структурно, а более семантически (в книге такие подформулы названы генценовскими), а с дебрёйновскими термами это кстати: непосредственным подтермом некоторого произвольного терма
, где в
связаны переменные
, будут считаться любые термы вида
, в которых никаких внезапных свободных переменных
с необходимостью, в отличие от структурных подтермов
, не возникает.
Во-вторых, можно вообще отщепить отдельно «термы» вида
, уже к которым применяются конструкторы (фактически это получится вложенное в систему наивное λ-исчисление, ограниченное в правах — со всеми переменными, по которым что-то замкнуто, должно быть что-то сделано, чтобы не было, вольно ассоциируя с физикой, голых сингулярностей — или связать чем-то реальным типа квантора или
предметного языка, или подставить терм). Это я себе на заметку возьму, но неизвестно, решусь ли. Аксиома выше перепишется как
(где сорт
подразумевается
, если сорт нормальных термов есть
) без всяких сдвигов контекстов и упоминания
, что хорошо и даёт надежду меньшего числа ошибок в коде, который бы работал с такими усложнёнными термами. Кроме того, вот уже с таким дополнением инкорпорировать «безымянные подстановки» (не чета тем, что выше) в язык тоже можно, завершив вписание λ-исчисления. В итоге для описания, например, правил вывода классической логики может понадобиться только одна вещь, которую запихивать в термы уже нет смысла — ограничения на свободные переменные (что куда-то какие-то не должны входить). Например, правило Бернайса для
записать как
Только тут проблема, что в
могуть остаться некоторые свободные вхождения
из тех, которые есть в
, т. к. они могут содержаться и в
для
. Не помню, это проблема по сравнению с классическим изложением или, наоборот, именно в поведении, имеющемся там, меньше смысла — во всяком случае,
всегда будет генценовским подтермом
.
Что-то ещё было на уме, но забыл.