En matemáticas y en otras disciplinas que involucran lenguajes formales , incluida la lógica matemática y la informática , se puede decir que una variable está libre o ligada. Algunos libros más antiguos utilizan los términos variable real y variable aparente para variable libre y variable ligada , respectivamente. Una variable libre es una notación (símbolo) que especifica lugares en una expresión donde puede tener lugar la sustitución y no es un parámetro de esta ni de ninguna expresión contenedora. La idea está relacionada con un marcador de posición (un símbolo que luego será reemplazado por algún valor) o un carácter comodín que representa un símbolo no especificado.
En programación de computadoras , el término variable libre se refiere a variables utilizadas en una función que no son variables locales ni parámetros de esa función. El término variable no local suele ser sinónimo en este contexto.
Por el contrario, una instancia de un símbolo variable está vinculada si el valor de ese símbolo variable ha sido vinculado a un valor o rango de valores específico en el dominio del discurso o del universo . Esto se puede lograr mediante el uso de cuantificadores lógicos, operadores de vinculación de variables o una declaración explícita de los valores permitidos para la variable (como, "...donde hay un entero positivo"). Un símbolo de variable en general está vinculado si en al menos una aparición del mismo está vinculada. [1] pp.142--143 Dado que el mismo símbolo de variable puede aparecer en varios lugares de una expresión, algunas apariciones del símbolo de variable pueden ser libres mientras que otras están vinculadas, [1] p.78 por lo tanto, "libre" y "vinculado "al principio se definen para las apariciones y luego se generalizan a todas las apariciones de dicho símbolo variable en la expresión. Como sea que se haga, la variable deja de ser una variable independiente de la que depende el valor de la expresión, ya sea ese valor un valor de verdad o el resultado numérico de un cálculo o, más generalmente, un elemento de un conjunto de imágenes de un función.
Si bien en muchos contextos se entiende el dominio del discurso, cuando no se ha dado un rango explícito de valores para la variable ligada, puede ser necesario especificar el dominio para evaluar adecuadamente la expresión. Por ejemplo, considere la siguiente expresión en la que ambas variables están ligadas por cuantificadores lógicos:
Esta expresión se evalúa como falsa si el dominio de y son los números reales, pero verdadera si el dominio son los números complejos.
El término "variable ficticia" también se utiliza a veces para una variable ligada (más comúnmente en matemáticas generales que en informática), pero esto no debe confundirse con el concepto de variable ficticia, de nombre idéntico pero no relacionado , que se utiliza en estadística, más comúnmente en análisis de regresión. [2] pág.17
Antes de establecer una definición precisa de variable libre y variable ligada, los siguientes son algunos ejemplos que quizás aclaren estos dos conceptos más de lo que lo haría la definición:
en la expresión
n es una variable libre y k es una variable ligada; en consecuencia, el valor de esta expresión depende del valor de n , pero no hay nada llamado k del que pueda depender.
en la expresión
y es una variable libre y x es una variable ligada; en consecuencia, el valor de esta expresión depende del valor de y , pero no hay nada llamado x del que pueda depender.
en la expresión
x es una variable libre y h es una variable ligada; en consecuencia, el valor de esta expresión depende del valor de x , pero no hay nada llamado h del que pueda depender.
en la expresión
z es una variable libre y xey son variables ligadas, asociadas a cuantificadores lógicos ; en consecuencia, el valor lógico de esta expresión depende del valor de z , pero no hay nada llamado x o y del que pueda depender.
Más ampliamente, en la mayoría de las pruebas, se utilizan variables ligadas. Por ejemplo, la siguiente prueba muestra que todos los cuadrados de números enteros pares positivos son divisibles por
no sólo k sino también n se han utilizado como variables ligadas en su conjunto en la prueba.
La siguiente
son algunos operadores comunes de vinculación de variables . Cada uno de ellos vincula la variable x para algún conjunto S .
Muchos de estos son operadores que actúan sobre funciones de la variable vinculada. En contextos más complicados, estas notaciones pueden resultar incómodas y confusas. Puede resultar útil cambiar a notaciones que hagan explícita la vinculación, como
para sumas o
para la diferenciación.
Los mecanismos de vinculación de variables ocurren en diferentes contextos en matemáticas, lógica e informática. En todos los casos, sin embargo, se trata de propiedades puramente sintácticas de expresiones y variables que contienen. Para esta sección podemos resumir la sintaxis identificando una expresión con un árbol cuyos nodos hoja son variables, constantes, constantes de función o constantes de predicado y cuyos nodos que no son hoja son operadores lógicos. Luego, esta expresión se puede determinar haciendo un recorrido en orden del árbol. Los operadores de vinculación de variables son operadores lógicos que aparecen en casi todos los lenguajes formales. Un operador vinculante Q toma dos argumentos: una variable v y una expresión P , y cuando se aplica a sus argumentos produce una nueva expresión Q( v , P ). El significado de los operadores vinculantes lo proporciona la semántica del lenguaje y no nos concierne aquí.
La vinculación de variables relaciona tres cosas: una variable v , una ubicación a para esa variable en una expresión y un nodo no hoja n de la forma Q( v , P ). Nota: definimos una ubicación en una expresión como un nodo hoja en el árbol de sintaxis. El enlace de variable ocurre cuando esa ubicación está debajo del nodo n .
En el cálculo lambda , x
es una variable ligada en el término M = λx. T
y una variable libre en el término T
. Decimos x
que está ligado M
y libre T
. Si T
contiene un subtérmino λx. U
entonces x
se rebota en este término. x
Se dice que esta encuadernación interior anidada "hace sombra" a la encuadernación exterior. Las apariciones de x
in U
son apariciones libres de lo nuevo x
. [3]
Las variables vinculadas en el nivel superior de un programa son técnicamente variables libres dentro de los términos a los que están vinculadas, pero a menudo reciben un tratamiento especial porque pueden compilarse como direcciones fijas. De manera similar, un identificador vinculado a una función recursiva también es técnicamente una variable libre dentro de su propio cuerpo, pero recibe un tratamiento especial.
Un término cerrado es aquel que no contiene variables libres.
Para dar un ejemplo de matemáticas, considere una expresión que define una función
donde t es una expresión. t puede contener algunas, todas o ninguna de las x 1 ,…, x n y puede contener otras variables. En este caso decimos que la definición de función vincula las variables x 1 ,…, x n .
De esta manera, las expresiones de definición de funciones del tipo que se muestra arriba pueden considerarse como el operador de vinculación de variables, análogo a las expresiones lambda del cálculo lambda . Otros operadores vinculantes, como el signo de suma , pueden considerarse funciones de orden superior que se aplican a una función. Así, por ejemplo, la expresión
podría ser tratado como una notación para
donde es un operador con dos parámetros: una función de un parámetro y un conjunto para evaluar esa función. Los otros operadores enumerados anteriormente se pueden expresar de manera similar; por ejemplo, el cuantificador universal puede considerarse como un operador que evalúa la conjunción lógica de la función booleana P aplicada sobre el conjunto (posiblemente infinito) S.
Cuando se analiza en semántica formal , se puede ver que los lenguajes naturales tienen variables libres y ligadas . En inglés, los pronombres personales como él , ella , ellos , etc. pueden actuar como variables libres.
En la oración anterior, el pronombre posesivo ella es una variable libre. Puede referirse a la Lisa mencionada anteriormente o a cualquier otra mujer. En otras palabras, su libro podría referirse al libro de Lisa (un ejemplo de correferencia ) oa un libro que pertenece a una mujer diferente (por ejemplo, el libro de Jane). Cualquiera que sea su referente puede establecerse según el contexto situacional (es decir , pragmático ). La identidad del referente se puede mostrar utilizando subíndices de coindexación donde i indica un referente y j indica un segundo referente (diferente de i ). Así, la frase que Lisa encontró en su libro tiene las siguientes interpretaciones:
La distinción no es puramente de interés académico, ya que algunos idiomas en realidad tienen formas diferentes para her i y her j : por ejemplo, el noruego y el sueco traducen her i correferente como sin y her j no correferente como hennes .
El inglés permite especificar correferencia, pero es opcional, ya que ambas interpretaciones del ejemplo anterior son válidas (la interpretación agramatical se indica con un asterisco):
Sin embargo, los pronombres reflexivos , como él , ella , ellos mismos , etc., y los pronombres recíprocos , como entre sí , actúan como variables ligadas. En una frase como la siguiente:
el reflexivo en sí sólo puede referirse al antecedente mencionado anteriormente , en este caso Jane , y nunca puede referirse a una persona femenina diferente. En este ejemplo, la variable misma está vinculada al sustantivo Jane que aparece en la posición del sujeto . Al indicar la coindexación, la primera interpretación en la que Jane y ella misma están coindexadas es permisible, pero la otra interpretación en la que no están coindexadas no es gramatical :
El enlace de correferencia se puede representar mediante una expresión lambda como se menciona en la sección anterior de Explicación formal. La oración con el reflexivo podría representarse como
en el que Jane es el argumento sujeto referente y λx.x hiere x es la función de predicado (una abstracción lambda) con la notación lambda y x indica que tanto el sujeto semántico como el objeto semántico de la oración están vinculados. Esto devuelve la interpretación semántica de que JANE lastimó a JANE siendo JANE la misma persona.
Los pronombres también pueden comportarse de manera diferente. En la siguiente frase
el pronombre ella sólo puede referirse a una mujer que no sea Ashley. Esto significa que nunca puede tener un significado reflexivo equivalente a que Ashley se golpeara a sí misma . Las interpretaciones gramaticales y agramaticales son:
La primera interpretación es imposible. La gramática sólo permite la segunda interpretación.
Así, se puede ver que los reflexivos y recíprocos son variables ligadas (conocidas técnicamente como anáforas ), mientras que los pronombres verdaderos son variables libres en algunas estructuras gramaticales pero variables que no pueden ligarse en otras estructuras gramaticales. Los fenómenos vinculantes que se encuentran en las lenguas naturales fueron particularmente importantes para el gobierno sintáctico y la teoría vinculante (ver también: Vinculación (lingüística) ).