En informática teórica y lógica matemática , específicamente en realizabilidad , un álgebra combinatoria parcial (ACP) es una estructura algebraica que abstrae un modelo de computación . La definición de ACP utiliza una idea de la lógica combinatoria . El topos de realizabilidad sobre un ACP es un modelo de lógica intuicionista de orden superior donde, informalmente, toda función es computable en el modelo de computación especificado por el ACP.
Definición
Una estructura aplicativa parcial es simplemente un conjuntoequipado con una operación binaria parcialllamada aplicación . En el contexto de realizabilidad, esta operación se suele denotar mediante una simple yuxtaposición, es decir,. Por lo general no es asociativo; por convención, la notaciónasociados a la izquierda como, que coincide con la convención estándar en el cálculo λ . [ 1 ] : 1
Los términos (o expresiones ) sobre una estructura aplicativa parcialse definen inductivamente: [ 1 ] : 2 [ 2 ] : 27
- Una constantees una expresión,
- Una variable, de algún conjunto fijo e infinito numerable de variables, es una expresión,
- Siyson expresiones, entonceses una expresión.
(En otras palabras, forman el magma libre sobre la unión disjunta)dóndees el conjunto de variables.)
Un término es cerrado cuando no contiene variables. Un término cerrado puede evaluarse de la forma natural: una constante.se evalúa a sí mismo, y si los términosyrespectivamente evaluar ay, entoncesevalúa a, si esto está definido. Tenga en cuenta que la evaluación es una operación parcial, ya que no todas las aplicaciones están definidas. Escribimosexpresar simultáneamente que el términose evalúa a un valor definido y denotamos este valor (esto coincide con la notación estándar para valores de funciones parciales ). También escribimoscuando ambos términos cerradosyo bien no se evalúan a un valor definido, o bien se evalúan al mismo valor.
Una operación de sustitución también se define de forma natural: sies un término,es una variable yes otro término,denota el términocon todas las ocurrencias dereemplazado por.
Se dice que la estructura aplicativa parcial A es combinatoriamente completa o funcionalmente completa si, para cada término(es decir, un términocuyas variables se encuentran entre), existe un elementode tal manera que: [ 2 ] : 27 [ 1 ] : 3
- a pesar de,
- a pesar de.
Un álgebra combinatoria parcial (pca) es una estructura aplicativa parcial combinatoria completa. Un álgebra combinatoria total (tca) es un pca cuya operación de aplicación es total.
De manera informal, la condición de completitud combinatoria requiere que exista dentro del PCA un análogo de la operación de abstracción del cálculo lambda.
Caracterización mediante combinadores
De la misma manera que existe una traducción de términos λ a términos del cálculo combinatorio SKI mediante la eliminación de abstracciones λ utilizando combinadores, los pca pueden caracterizarse por la existencia de elementos que satisfacen ecuaciones análogas a las de los combinadores S y K. Sin embargo, cabe señalar que se debe tener cuidado en el enunciado y la demostración, ya que la aplicación no siempre está definida en un pca.
Teorema: [ 2 ] : 28 [ 1 ] : 3 Una estructura aplicativa parciales combinatoriamente completa si y solo si existen dos elementosde tal manera que:
- a pesar de,
- a pesar de,
- a pesar de.
Para la demostración, en la dirección hacia adelante, sies combinatoriamente completo, basta con aplicar la definición de completitud combinatoria a los términosypara obtenerycon las propiedades requeridas.
Es lo contrario lo que implica la eliminación de la abstracción. Supongamos que tenemosycomo se indicó. Dada una variabley un término, definimos un términocuyas variables son las demenos, que desempeña un papel similar aen el cálculo λ. La definición es por inducción sobrede la siguiente manera: [ 1 ] : 3 [ 2 ] : 28
- por una constante,
- dónde,
- sies una variable diferente de,
- .
Tenga cuidado con la analogía entreyno es perfecto. Por ejemplo, los términosyNo son generalmente equivalentes en un sentido razonable, por ejemplo, tomando una variable.diferente deyconstantes, tenemos, que no puede considerarse equivalente aporque este último siempre se evalúa asies reemplazado por una constante, mientras que el primero puede no serlopuede no estar definido. [ 1 ] : 4–5
Sin embargo, sies una constante, entonceses de hecho equivalente aen el sentido de que sustituir todas las variables por algunas constantes en estos dos términos da el mismo resultado (por). [ 1 ] : 4
Además, sustituir variables por constantes ensiempre se evalúa a un resultado definido, incluso si esto no sería el caso al sustituir variables en. Por ejemplo, sison dos constantes, el término(abstraer una variable que no aparece) es igual aPor los supuestos sobrey, esto está bien definido, aunquepuede que no esté bien definido. [ 1 ] : 4
Estas observaciones implican que para todos los términos, el valorestá bien definido y satisface los dos requisitos de completitud combinatoria. [ 1 ] : 4
Ejemplos
Primer álgebra de Kleene
La primera álgebra de Kleeneconsta del conjuntocon solicitud, dóndedenota el-ésima función recursiva parcial en una numeración de Gödel estándar. [ 1 ] : 15 [ 2 ] : 29
Este PCA también puede relativizarse a un oráculo.: definimos un pcacon transportistaal establecer, dóndees el-ésima función recursiva parcial con oráculo. [ 1 ] : 15 [ 2 ] : 30
Cálculo λ no tipificado
Podemos formar un pca (de hecho un tca) cocienteando el conjunto de términos λ cerrados (sin tipo) por β-equivalencia y tomando como aplicación la heredada del cálculo λ. [ 1 ] : 23 [ 2 ] : 30
Dominios reflexivos
Álgebra de Kleene de segundo orden
Referencias
- Modelos de computación