Бесплатные переменные и связанные переменные - Википедия - Free variables and bound variables
Эта статья нужны дополнительные цитаты для проверка.Декабрь 2008 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В математика, и в других дисциплинах, включающих формальные языки, включая математическая логика и Информатика, а свободная переменная (обычно называется фиктивной переменной[1]) это обозначение (символ), обозначающий места в выражение куда замена может иметь место и не является параметром этого или любого выражения контейнера. В некоторых старых книгах используются термины реальная переменная и кажущаяся переменная для свободной переменной и связанной переменной соответственно. Идея связана с заполнитель (а символ который позже будет заменен некоторым значением), или подстановочный знак что означает неопределенный символ.
В компьютерное программирование, период, термин свободная переменная относится к переменные используется в функция это ни то, ни другое локальные переменные ни параметры этой функции. Период, термин нелокальная переменная часто является синонимом в этом контексте.
А связанная переменная это переменная, которая ранее была свободный, но был граница к определенному значению или набору значений, называемых область дискурса или же вселенная. Например, переменная Икс становится связанная переменная когда мы пишем:
Для всех Икс, (Икс + 1)2 = Икс2 + 2Икс + 1.
или же
Существует Икс такой, что Икс2 = 2.
В любом из этих утверждений логически не имеет значения, Икс или используется другая буква. Однако использование той же буквы в другом месте в каком-либо составном предложение. То есть свободные переменные становятся связанными, а затем в некотором смысле выходить на пенсию быть доступными в качестве значений замены для других значений при создании формул.
Термин «фиктивная переменная» также иногда используется для связанной переменной (чаще в общей математике, чем в информатике), но такое использование может создать двусмысленность с определением фиктивные переменные в регрессионном анализе.
Примеры
Прежде чем дать точное определение свободная переменная и связанная переменная, ниже приведены некоторые примеры, которые, возможно, проясняют эти две концепции, чем определение:
В выражении
п свободная переменная и k это связанная переменная; следовательно, значение этого выражения зависит от значения п, но ничего не называется k от чего это могло зависеть.
В выражении
у свободная переменная и Икс это связанная переменная; следовательно, значение этого выражения зависит от значения у, но ничего не называется Икс от чего это могло зависеть.
В выражении
Икс свободная переменная и час это связанная переменная; следовательно, значение этого выражения зависит от значения Икс, но ничего не называется час от чего это могло зависеть.
В выражении
z свободная переменная и Икс и у - связанные переменные, связанные с логические кванторы; следовательно логическое значение этого выражения зависит от значения z, но ничего не называется Икс или же у от чего это могло зависеть.
В более широком смысле, в большинстве доказательств мы используем связанные переменные. В следующем доказательстве, показывающем, что каждый квадрат четного целого числа делится на
- Позволять быть положительным четным целым числом. Тогда есть целое число такой, что . С , у нас есть делится на
не только k но также п в доказательстве использовались как связанные переменные в целом.
Операторы привязки переменных
Следующее
некоторые общие операторы привязки переменных. Каждый из них связывает переменную Икс для некоторого набора S.
Обратите внимание, что многие из них операторы которые действуют на функции связанной переменной. В более сложных контекстах такие обозначения могут стать неудобными и запутанными. Может быть полезно переключиться на нотации, которые делают привязку явной, например
на суммы или
для дифференциации.
Формальное объяснение
Механизмы связывания переменных встречаются в разных контекстах в математике, логике и информатике. Однако во всех случаях они чисто синтаксический свойства выражений и переменных в них. В этом разделе мы можем обобщить синтаксис, определив выражение с помощью дерево чьи конечные узлы являются переменными, константами, функциональными константами или константами предикатов, а нелистовые узлы - логическими операторами. Затем это выражение можно определить, выполнив обход по порядку дерева. Операторы привязки переменных: логические операторы которые встречаются почти во всех формальных языках. Языки, на которых их нет, могут быть либо крайне невыразительными, либо чрезвычайно трудными в использовании. Оператор привязки Q принимает два аргумента: переменную v и выражение п, и при применении к его аргументам дает новое выражение Q (v, п). Значение операторов привязки предоставляется семантика языка и нас здесь не касается.
Связывание переменных связывает три вещи: переменную v, местоположение а для этой переменной в выражении и нелистового узла п вида Q (v, п). Примечание: мы определяем местоположение в выражении как листовой узел в синтаксическом дереве. Привязка переменной происходит, когда это место ниже узла п.
в лямбда-исчисление, Икс
является связанной переменной в терме M = λx. Т
и свободная переменная в термине Т
. Мы говорим Икс
связан в M
и бесплатно в Т
. Если Т
содержит подтерм λx. U
тогда Икс
отскок в этом сроке. Эта вложенная внутренняя привязка Икс
как говорят, «затеняет» внешнюю привязку. Появления Икс
в U
являются свободным появлением новых Икс
.[2]
Переменные, связанные на верхнем уровне программы, являются технически свободными переменными в пределах терминов, с которыми они связаны, но часто обрабатываются особым образом, поскольку они могут быть скомпилированы как фиксированные адреса. Точно так же идентификатор, привязанный к рекурсивная функция технически также является свободной переменной в собственном теле, но обрабатывается особым образом.
А закрытый срок не содержит свободных переменных.
Функциональные выражения
Чтобы привести пример из математики, рассмотрим выражение, определяющее функцию
куда т это выражение. т может содержать некоторые, все или ни одного из Икс1, …, Иксп и он может содержать другие переменные. В этом случае мы говорим, что определение функции связывает переменные Икс1, …, Иксп.
Таким образом, выражения определения функций, показанные выше, можно рассматривать как то оператор привязки переменных, аналогичный лямбда-выражениям лямбда-исчисление. Другие операторы привязки, такие как суммирование знак, можно рассматривать как функции высшего порядка применительно к функции. Так, например, выражение
можно рассматривать как обозначение для
куда - это оператор с двумя параметрами: однопараметрическая функция и набор для оценки этой функции. Другие перечисленные выше операторы могут быть выражены аналогичным образом; например, универсальный квантор можно рассматривать как оператор, оценивающий логическое соединение из булевозначная функция п применяется по (возможно бесконечному) множеству S.
Естественный язык
Эта секция нуждается в расширении. Вы можете помочь добавляя к этому. (Декабрь 2008 г.) |
При анализе в формальная семантика, естественные языки могут иметь бесплатные и граница переменные. По-английски, личные местоимения подобно он, она, Oнии т.д. могут выступать в роли свободных переменных.
- Лиза нашла ее книга.
В предложении выше притяжательное местоимение ее это свободная переменная. Это может ссылаться к ранее упомянутому Лиза или любой другой женщине. Другими словами, ее книга может иметь в виду книгу Лизы (экземпляр Coreference ) или в книгу, принадлежащую другой женщине (например, книга Джейн). Кто бы ни референт из ее может быть установлен по ситуационной (т.е. прагматичный ) контекст. Личность референта можно показать с помощью индексов коиндексации, где я указывает на одного референта и j указывает на второй референт (отличный от я). Таким образом, предложение Лиза нашла свою книгу имеет следующие толкования:
- Лизая нашел еея книга. (интерпретация №1: ее = из Лиза)
- Лизая нашел ееj книга. (интерпретация №2: ее = женщины, которая не является Лизой)
Это различие не представляет чисто академического интереса, поскольку в некоторых языках действительно есть разные формы для еея и ееj: Например, норвежский язык и Шведский перевести кореферент еея в качестве грех и некореферент ееj в качестве Хеннес.
Английский язык позволяет указывать кореференцию, но это необязательно, поскольку допустимы обе интерпретации предыдущего примера (неграмматическая интерпретация отмечена звездочкой):
- Лизая нашел еея собственная книга. (интерпретация №1: ее = из Лиза)
- *Лизая нашел ееj собственная книга. (интерпретация №2: ее = женщины, которая не является Лизой)
Тем не мение, Возвратные местоимения, Такие как сам, сама, самих себяи т. д., и взаимные местоимения, Такие как друг друга, действуют как связанные переменные. В таком предложении:
- Джейн больно сама.
рефлексивный сама может относиться только к ранее упомянутому предшествующий, в этом случае Джейн, и никогда не может относиться к другому человеку женского пола. В этом примере переменная сама привязан к существительному Джейн что происходит в предмет позиция. Указывая на коиндексацию, первая интерпретация с Джейн и сама Коиндексированные допустимы, но другая интерпретация, когда они не коиндексированы, неграмотный:
- Джейня пораниласья. (интерпретация №1: сама = Джейн)
- *Джейня пораниласьj. (интерпретация №2: сама = женщина, которая не Джейн)
Обратите внимание, что привязка кореференции может быть представлена с помощью лямбда-выражение как упоминалось в предыдущем Раздел формального объяснения. Предложение с рефлексивом можно представить в виде
- (λИкс.Икс повредить Икс)Джейн
в котором Джейн является предметным референтным аргументом и λx.x больно x - функция предиката (лямбда-абстракция) с лямбда-нотацией и Икс указание как связанного семантического субъекта, так и семантического объекта предложения. Это возвращает семантическую интерпретацию ДЖЕЙН причинила боль ДЖЕЙН с ДЖЕЙН быть тем же человеком.
Местоимения тоже могут вести себя по-другому. В предложении ниже
- Эшли ударил ее.
местоимение ее может относиться только к женщине, которая не является Эшли. Это означает, что оно никогда не может иметь рефлексивного значения, эквивалентного Эшли ударилась. Грамматические и грамматические интерпретации:
- *Эшлия ударил еея. (интерпретация №1: ее = Эшли)
- Эшлия ударил ееj. (интерпретация №2: ее = женщина, которая не Эшли)
Первая интерпретация невозможна. Грамматика разрешает только второе толкование.
Таким образом, можно видеть, что рефлексивы и обратные величины являются связанными переменными (технически известными как анафоры ), в то время как истинные местоимения являются свободными переменными в некоторых грамматических структурах, но переменными, которые не могут быть связаны в других грамматических структурах. Явления связывания, обнаруженные в естественных языках, были особенно важны для синтаксической теория управления и связывания (смотрите также: Переплет (лингвистика) ).
Смотрите также
- Закрытие (информатика)
- Комбинаторная логика
- Лямбда-лифтинг
- Привязка имени
- Область применения (программирование)
Рекомендации
- ^ Вайсштейн, Эрик В. «Фиктивная переменная». Вольфрам MathWorld. Веб-ресурс Wolfram. Получено 11 декабря 2020.
- ^ Томпсон 1991, п. 33.
- Томпсон, Саймон (1991). Теория типов и функциональное программирование. Уокингем, Англия: Аддисон-Уэсли. ISBN 0201416670. OCLC 23287456.