Конспект установочных лекций по комплексному курсу Информатика, Теория информации



Связывание (свободных) идентификаторов: абстракция функций


Как правило, идентификаторы выполняют только роль держателей мест. При этом неважно, какой конкретный идентификатор используется как держатель места. Он нужен только локально как обозначение для определенного элемента, который будет точно задан лишь позднее, в зависимости от обстоятельств. Это в математических книгах выражается формулировкой типа "пусть х - элемент множества М со значением ...", где идентификатор х стоит вместо какого-либо конкретного значения. В общем случае идентификатор х можно систематически заменить на идентификатор у, без того, чтобы изменялась конструкция. При этом предполагается, что никаких конфликтов в обозначениях для у не происходит, т. е. что идентификатор у уже не используется для других целей. Часто сознательно принимается, что значение, в качестве которого стоит идентификатор, позднее действительно может быть выбрано из определенного основного множества. Это выражается в формулировках типа "пусть дано х из ...". Часто идентификаторы используют как держатели мест в выражениях, служащих для описания функций.

Пример (описание функций с помощью выражений с идентификаторами). Под выражением  х * (х + 1) в математике часто понимается такая функция, которая заданное натуральное число отображает в то натуральное число, которое соответствует значению выражения при замене х на заданное число. При этом нет никакой разницы между интерпретациями термов х * (х + 1) и у * (у + 1). Но если х и у являются различными свободными идентификаторами, то интерпретация обоих выражений при заданной подстановке будет, вообще говоря, различна и тем самым выражения не будут семантически эквивалентными. Если выражения должны использоваться для представления функции, которая натуральному числу n

 N ставит в соответствие число п * (п + I), то использование идентификаторов n, х или у не должно иметь каких-либо различий.

Чтобы устранить нежелательную разницу между выражениями из-за "случайного" выбора конкретных идентификаторов, используемых в качестве держателей мест, и чтобы достичь абстрактного вида, в математике часто предпринимается введение обозначения функций; так, функцию (1) f: N

 N можно определить через (2) f(x) = х * (х + 1) для всех х
 N, что,




Содержание  Назад  Вперед