Este artículo necesita citas adicionales para su verificación . ( diciembre de 2008 ) |
En matemáticas y en otras disciplinas que involucran lenguajes formales , incluyendo la lógica matemática y la informática , se puede decir que una variable es libre o ligada. Algunos libros más antiguos usan 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 o cualquier 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 informática , el término variable libre se refiere a las variables utilizadas en una función que no son ni variables locales ni parámetros de esa función. El término variable no local suele ser un sinónimo en este contexto.
Una instancia de un símbolo variable está ligada , por el contrario, si el valor de ese símbolo variable ha sido ligado a un valor específico o rango de valores en el dominio del discurso o universo . Esto puede lograrse mediante el uso de cuantificadores lógicos, operadores de ligadura de variables o una declaración explícita de valores permitidos para la variable (como, por ejemplo, "...donde es un entero positivo"). Un símbolo variable en general está ligado si al menos una ocurrencia de él está ligada. [1] pp.142--143 Dado que el mismo símbolo variable puede aparecer en múltiples lugares en una expresión, algunas ocurrencias del símbolo variable pueden ser libres mientras que otras están ligadas, [1] p.78 por lo tanto, "libre" y "ligado" se definen primero para ocurrencias y luego se generalizan sobre todas las ocurrencias de dicho símbolo variable en la expresión. Independientemente de cómo se haga, la variable deja de ser una variable independiente de la que depende el valor de la expresión, ya sea que ese valor sea 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 una 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 delimitada, puede ser necesario especificar el dominio para evaluar correctamente la expresión. Por ejemplo, considere la siguiente expresión en la que ambas variables están delimitadas por cuantificadores lógicos:
Esta expresión se evalúa como falsa si el dominio de y son los números reales, pero es 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, que tiene el mismo nombre pero no está relacionado , tal como se utiliza en estadística, más comúnmente en el análisis de regresión. [2] p.17
Antes de dar una definición precisa de variable libre y variable ligada, se presentan a continuación algunos ejemplos que quizás aclaren estos dos conceptos más que 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 de lo cual 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 de lo cual 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 de lo cual pueda depender.
En la expresión
z es una variable libre y x e y 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 de lo cual pueda depender.
En términos más generales, en la mayoría de las demostraciones se utilizan variables ligadas. Por ejemplo, la siguiente demostración muestra que todos los cuadrados de los 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 un 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 se dan en diferentes contextos en matemáticas, lógica y ciencias de la computación. En todos los casos, sin embargo, son propiedades puramente sintácticas de expresiones y variables en ellas. 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 no hoja son operadores lógicos. Esta expresión puede entonces determinarse haciendo un recorrido en orden del árbol. Los operadores de vinculación de variables son operadores lógicos que se dan en casi todos los lenguajes formales. Un operador de vinculación 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 de vinculación 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 sintáctico. La vinculación de variables 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á ligada en M
y libre en T
. Si T
contiene un subtérmino , λx. U
entonces x
es reenlazada en este término. x
Se dice que esta ligadura interna anidada de "ensombrece" la ligadura externa. Las ocurrencias de x
en U
son ocurrencias libres del nuevo x
. [3]
Las variables enlazadas en el nivel superior de un programa son técnicamente variables libres dentro de los términos a los que están enlazadas, pero a menudo reciben un tratamiento especial porque se pueden compilar como direcciones fijas. De manera similar, un identificador enlazado 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 matemático, 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 función del tipo que se muestra arriba pueden considerarse como el operador de enlace de variable, de manera análoga a las expresiones lambda del cálculo lambda . Otros operadores de enlace, como el signo de suma , pueden considerarse funciones de orden superior que se aplican a una función. Por ejemplo, la expresión
Podría tratarse como una notación para
donde es un operador con dos parámetros: una función de un parámetro y un conjunto sobre el que evaluar esa función. Los otros operadores enumerados anteriormente se pueden expresar de manera similar; por ejemplo, el cuantificador universal se puede considerar como un operador que evalúa la conjunción lógica de la función de valor booleano P aplicada sobre el conjunto (posiblemente infinito) S .
This section has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) |
Cuando se analizan desde la perspectiva de la semántica formal , se puede observar que los lenguajes naturales tienen variables libres y variables ligadas . En inglés, los pronombres personales como he , she , they , etc. pueden actuar como variables libres.
En la oración anterior, el pronombre posesivo her es una variable libre. Puede referirse a la mencionada Lisa o a cualquier otra mujer. En otras palabras, her book podría estar haciendo referencia al libro de Lisa (una instancia de correferencia ) o a un libro que pertenece a una mujer diferente (por ejemplo, el libro de Jane). Quien sea el referente de her se puede establecer de acuerdo con 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 (distinto de i ). Por lo tanto, la oración Lisa encontró su libro tiene las siguientes interpretaciones:
La distinción no es puramente de interés académico, ya que algunos idiomas tienen, de hecho, 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 la correferencia, pero es opcional, ya que ambas interpretaciones del ejemplo anterior son válidas (la interpretación no gramatical se indica con un asterisco):
Sin embargo, los pronombres reflexivos , como himself , themselves , etc., y los pronombres recíprocos , como each other , actúan como variables ligadas. En una oración como la siguiente:
El reflexivo themselves solo puede referirse al antecedente mencionado anteriormente , en este caso Jane , y nunca puede referirse a una persona femenina diferente. En este ejemplo, la variable themselves está ligada al sustantivo Jane que aparece en posición de sujeto . Indicando la coindexación, la primera interpretación con Jane y themselves coindexadas es permisible, pero la otra interpretación donde no están coindexadas es agramatical :
La unión de correferencia se puede representar mediante una expresión lambda como se mencionó en la sección Explicación formal anterior. La oración con el reflexivo podría representarse como
en el que Jane es el argumento referente del sujeto y λx.x lastimó a x es la función predicativa (una abstracción lambda) con la notación lambda y x indicando tanto el sujeto semántico como el objeto semántico de la oración como vinculados. Esto devuelve la interpretación semántica JANE lastimó a JANE donde JANE es la misma persona.
Los pronombres también pueden comportarse de forma diferente. En la oración siguiente
El pronombre her solo puede referirse a una mujer que no sea Ashley. Esto significa que nunca puede tener un significado reflexivo equivalente a Ashley se golpeó . Las interpretaciones gramaticales y agramaticales son:
La primera interpretación es imposible. La gramática sólo permite la segunda interpretación.
De este modo, se puede observar que los reflexivos y los 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. El fenómeno de ligadura que se encuentra en las lenguas naturales fue particularmente importante para el gobierno sintáctico y la teoría de la ligadura (véase también: Ligadura (lingüística) ).