Bitácora · Lógica · Concepto

Variables y términos de tipo τ

Guía 9 · las variables como palabras, el tipo, los términos por niveles, su longitud, los cerrados y qué modelan

La Guía 8 terminó con un programa: darles una definición matemática precisa a las cosas que las guías anteriores usaban con palabras —«término elemental» y «fórmula elemental», «verdadera en una estructura», «prueba elemental»—. La definición de término que había decía que una palabra es un término si y sólo si se construye con ciertas cláusulas, y no decía de qué están hechas las variables ni qué quiere decir «se construye». La Guía 9 cumple el primer punto del programa con una idea sola: términos y fórmulas son palabras, de un alfabeto fijado de antemano, armadas por niveles. Lo primero que hay que fijar son las variables.

01 · Las variables son palabras concretas

Hasta la Guía 8 las variables eran x,y,z,w,…, y nunca se dijo cuántas había ni de qué símbolos estaban hechas. La Guía 9 las fija de una vez: Var es el siguiente conjunto de palabras del alfabeto {X,0,1,…,9,0,1,…,9}:

Var={X1,X2,…,X9,X10,X11,…,X19,X20,X21,…}

El elemento n-ésimo de Var es la palabra Xα, donde α es la escritura decimal de n con el último numeral en negrita y los anteriores en itálica. El trescientos cuarenta y uno es la palabra X341, de longitud cuatro. Para cada i∈ℕ se escribe xi para el i-ésimo elemento de Var, y a los elementos de Var se los llama variables. Ojo con lo que es cada cosa: xi es una abreviatura que se usa para hablar de la variable; la variable misma es la palabra, una X seguida de numerales. Por eso su longitud es

|xn|=1+(cantidad de dígitos de n)

y no n+1: X1 mide 2, X1119 mide 5 y X156669 mide 7.

El alfabeto tiene dos decisiones de diseño, y las dos son de contenido, no de tipografía. Los numerales normales quedan para los tipos. El tipo de los reticulados acotados tiene las constantes 0 y 1, y ese 1 nunca ocurre adentro de una variable: el numeral de X1 es el negrita 1, que es otro símbolo. Una variable y un nombre del tipo no comparten ningún símbolo, y por eso nunca se confunden.

El último numeral es el único negrita, y eso hace que ninguna variable sea subpalabra de otra distinta. La prueba entra en un párrafo. Si xi ocurre adentro de xj, la X de xi tiene que ser la única X de xj, que está en la posición 1, y el negrita de xi tiene que ser el único negrita de xj, que es su último símbolo. Entonces xi empieza donde empieza xj y termina donde termina: es xj. Con todos los numerales en itálica la cuenta se rompe: X1 sería el comienzo de X10, de X11 y de X100. Es lo que la guía llama simplificar la escritura de los resultados: cuando se buscan las apariciones de x1 en una palabra, ninguna está escondida adentro de x12.

02 · El tipo fija los nombres

Los términos se escriben con las variables y con los nombres de un tipo. El tipo es el de la Guía 8, desarrollado en Fórmulas y sentencias elementales: una 4-upla τ=(C,F,R,a), con C los nombres de constante, F los de función, R los de relación y a:F∪R→ℕ la aridad de cada nombre de función o de relación. Para cada n, Fn={f∈F:a(f)=n}. Los nombres cumplen tres condiciones:

  1. son palabras sobre alfabetos finitos, uno para C, otro para F y otro para R, disjuntos de a pares;
  2. ningún símbolo de esos alfabetos es ∀, ∃, ¬, ∨, ∧, →, ↔, un paréntesis, la coma, ≡, la X de las variables ni un numeral itálico o negrita;
  3. ninguna palabra de C es subpalabra propia de otra palabra de C, y lo mismo dentro de F y dentro de R.

Las tres apuntan a lo mismo: que una palabra hecha con estos símbolos se pueda leer de una sola manera. La segunda es la mitad que le toca al tipo del acuerdo de la sección anterior —las variables no usan numerales normales, los nombres no usan los otros—, y la tercera hace para los nombres lo que la negrita final hace para las variables.

Los ejemplos de la guía usan tres tipos, y son los que se eligen más abajo para armar términos:

  1. (E1) τ=({uno,doli},{MAS,P},{Her},a), con a(MAS)=4, a(P)=1 y a(Her)=3;
  2. (E2) τ=({0,1},{+,×,↑},∅,a), con a(+)=2, a(×)=3 y a(↑)=1;
  3. (E3) τ=(∅,{s,i},∅,{(s,2),(i,2)}), el tipo de los reticulados terna.

Los nombres son palabras y nada más. En (E2), × lleva tres argumentos: no tiene nada que ver con multiplicar. Y en (E1) el nombre doli son cuatro símbolos del alfabeto, no uno.

03 · Los términos se arman por niveles

Dado un tipo τ, la guía define por recursión los conjuntos de palabras Tkτ, con k≥0:

T0τ=Var∪C Tk+1τ=Tkτ∪{f(t1,…,tn):f∈Fn,n≥1 y t1,…,tn∈Tkτ}

y Tτ=⋃k≥0Tkτ. Los elementos de Tτ son los términos de tipo τ. La palabra f(t1,…,tn) es la concatenación de las n+(n−1)+3 palabras

f(t1,t2,…,tn)

así que su longitud es

|f|+|t1|+…+|tn|+(n−1)+2

En (E1), MAS(uno,doli,X19,X5) mide 3+3+4+3+2+3+2=20: el nombre, los cuatro argumentos, tres comas y dos paréntesis. Las longitudes se cuentan en símbolos del alfabeto, y por eso MAS pesa 3 y X19 también.

Cada nivel contiene al anterior, porque Tk+1τ se define como Tkτ unido a algo. Un término que está en Tkτ está en todos los niveles de arriba, y la unión no cambia si se la empieza más tarde: Tτ=⋃k≥6Tkτ, porque lo que nace antes de T6τ ya está en T6τ.

Por eso tiene sentido hablar del nivel de un término t: el menor k tal que t∈Tkτ. Las variables y las constantes tienen nivel 0. El de f(t1,…,tn) es uno más que el máximo de los niveles de sus argumentos. Que no puede ser más: si cada tj está en Tkjτ, todos están en TMτ con M=maxkj, y entonces f(t1,…,tn)∈TM+1τ. Que no puede ser menos necesita saber que el término se descompone de una sola manera —que no hay otros argumentos que den la misma palabra—, y eso es el Teorema 3 de la guía, desarrollado en Mordisqueo y lectura única de términos. En (E1), MAS(P(X4),doli,X19,X5) tiene argumentos de niveles 1, 0, 0 y 0, y nace en T2τ: cuenta el piso más alto, no cuántos argumentos tienen pisos.

04 · Los ejemplos de la guía, leídos

La guía da estos términos. En (E1) dice en qué nivel está cada uno salvo el último cerrado, y leídos de afuera hacia adentro el nivel que dice es justo el menor; en (E2) y (E3) no da el nivel, y la tabla lo agrega:

TérminoTipoNivelLongitudCerrado
uno(E1)03sí
doli(E1)04sí
X156669(E1)07no
P(uno)(E1)16sí
MAS(uno,doli,X19,X5)(E1)120no
MAS(uno,doli,doli,doli)(E1)123sí
P(P(uno))(E1)29sí
MAS(P(X4),doli,X19,X5)(E1)222no
P(MAS(P(X4),MAS(X1,X2,X3,X4),X19,X5))(E1)337no
X1119(E2)05no
0(E2)01sí
+(+(↑(X4),×(X2,1,0)),×(1,X2,X3))(E2)332no
↑(+(↑(0),×(0,1,0)))(E2)319sí
s(X2,X3)(E3)18no
s(s(X4,X14),i(X2,X1119))(E3)224no

El último de (E1) nace en T3τ porque su único argumento, MAS(P(X4),MAS(X1,X2,X3,X4),X19,X5), tiene adentro dos argumentos de nivel 1 y es de nivel 2. Los dos compuestos de (E2) llegan a 3 por el mismo camino, uno con 32 símbolos y el otro con 19. La longitud no dice el nivel: MAS(uno,doli,doli,doli) mide 23 y es de nivel 1, y P(P(uno)) mide 9 y es de nivel 2.

En (E3) la guía agrega que (X2sX3) no es un término de tipo τ, y que probarlo no es trivial a partir de la definición: requiere una demostración. Es la forma en que se escribía el supremo desde la Guía 6, y en el modelo no existe; la única manera de aplicar s es s(t1,t2). Pero la definición dice cómo se arman los términos, no cómo se reconocen los que no lo son, y mirar la palabra no alcanza. La prueba es una inducción en k: todo término de los reticulados terna empieza con X, con s o con i —los de T0τ son variables, y los que agrega cada nivel empiezan con el nombre de función—, y esta palabra empieza con un paréntesis. El molde de esa inducción está en Inducción en la construcción, y las dos maneras de probar que una palabra no es un término, en Probar que una palabra no es término ni fórmula.

05 · Los términos cerrados

Un término t es cerrado si xi no es subpalabra de t para ningún i∈ℕ, y

Tcτ={t∈Tτ:t es cerrado}

La definición habla de subpalabras porque t es una palabra. Escribirla con Var∩t no sirve: la intersección es entre conjuntos, y t no es un conjunto.

En (E1) son cerrados uno, doli, P(uno) y MAS(uno,doli,doli,doli); en (E2), ↑(+(↑(0),×(0,1,0))). En (E3) no hay ninguno: sin nombres de constante, T0τ son sólo variables, y cada término que agrega un nivel lleva adentro a sus argumentos, así que por inducción todo término tiene alguna variable. Y un término cerrado sigue siendo una palabra, no lo que vale: en un tipo con la constante 0 y la función s, 0 y s(0,0) son dos términos cerrados distintos aunque en todo reticulado valgan lo mismo. Es la tesis de Un término es una palabra, no un valor, ahora con una definición que la sostiene.

Los Ejercicios 1 y 2 de la guía son verdaderos, falsos o imprecisos sobre estas definiciones —qué clase de objeto es Var, cuánto mide xn, cuántos términos cerrados hay—, y están resueltos en Antes de decidir, preguntá qué clase de objeto es.

Simulación Armá términos y mirá en qué nivel nace cada uno — elegí un tipo de la guía. Aplicá un nombre de función a términos de la lista, o escribí una palabra y leela: X12 es la variable 12.

Términos armados
Aplicar un nombre de función

nivel — longitud — cerrado — en la lista 0

06 · Un modelo de los términos puros

La guía cierra los ejemplos con una «observación importante»: los términos de tipo τ son un modelo matemático de los términos elementales puros de tipo τ, aquellos en los que no ocurren nombres de elementos fijos. En la Guía 8 un término podía tener a, b, c; en Tτ no hay dónde ponerlos, porque el alfabeto son las variables y los nombres del tipo.

Los nombres de elementos fijos vuelven al final de la guía por otro camino. Un tipo τ′ es una extensión de τ por nombres de constante si τ′=(C′,F,R,a) con C⊆C′. Cuando en una prueba elemental se fija un elemento y se lo llama b, se puede pensar que la estructura imaginaria pasó a ser de tipo (C∪{b},F,R,a), y b es una constante más: un término con b es un término de ese tipo extendido. Cómo se usa eso con fórmulas está en Variables libres.

Para tener a mano

  1. xn es la palabra X seguida de la escritura decimal de n, en itálica salvo el último numeral, que va en negrita. Mide 1 más la cantidad de dígitos de n.
  2. Los numerales normales son de los tipos. La negrita final hace que ninguna variable sea subpalabra de otra.
  3. τ=(C,F,R,a): nombres sobre alfabetos disjuntos, sin símbolos lógicos, sin la X ni numerales itálicos o negritas, y ninguno subpalabra propia de otro de su clase.
  4. T0τ=Var∪C; Tk+1τ agrega a Tkτ las palabras f(t1,…,tn) con argumentos en Tkτ; Tτ es la unión, y cada nivel contiene al anterior.
  5. |f(t1,…,tn)|=|f|+|t1|+…+|tn|+(n−1)+2, contando en símbolos del alfabeto.
  6. El nivel de un término es el menor k con t∈Tkτ: 0 para variables y constantes, uno más que el máximo de los argumentos para f(t1,…,tn).
  7. Cerrado: ningún xi es subpalabra. Sin nombres de constante no hay términos cerrados.
  8. Que una palabra no sea término se prueba: la notación infija no existe en el modelo, y (X2sX3) cae por una inducción sobre el primer símbolo.
  9. Los términos de tipo τ modelan los términos elementales puros; los nombres de elementos fijos entran como constantes de una extensión de τ.
← Anterior Siguiente → Inicio
Relacionados Un término es una palabra, no un valor Fórmulas y sentencias elementales Inducción en la construcción Antes de decidir, preguntá qué clase de objeto es