Articulo de referencia

Álgebra combinatoria parcial

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 comp...

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 conjuntoA{\displaystyle A}equipado con una operación binaria parcialA×AA{\displaystyle A\times A\rightharpoonup A}llamada aplicación . En el contexto de realizabilidad, esta operación se suele denotar mediante una simple yuxtaposición, es decir,(a,b)ab{\displaystyle (a,b)\mapsto ab}. Por lo general no es asociativo; por convención, la notaciónabdo{\displaystyle abc}asociados a la izquierda como(ab)do{\displaystyle (ab)c}, que coincide con la convención estándar en el cálculo λ . [ 1 ] : 1

Los términos (o expresiones ) sobre una estructura aplicativa parcialA{\displaystyle A}se definen inductivamente: [ 1 ] : 2 [ 2 ] : 27

  • Una constanteaA{\displaystyle a\in A}es una expresión,
  • Una variable, de algún conjunto fijo e infinito numerable de variables, es una expresión,
  • Simi1{\displaystyle e_{1}}ymi2{\displaystyle e_{2}}son expresiones, entoncesmi1mi2{\displaystyle e_{1}e_{2}}es una expresión.

(En otras palabras, forman el magma libre sobre la unión disjunta)A+V{\displaystyle A+V}dóndeV{\displaystyle V}es 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.aA{\displaystyle a\in A}se evalúa a sí mismo, y si los términosmi1{\displaystyle e_{1}}ymi2{\displaystyle e_{2}}respectivamente evaluar aa1{\displaystyle a_{1}}ya2{\displaystyle a_{2}}, entoncesmi1mi2{\displaystyle e_{1}e_{2}}evalúa aa1a2{\displaystyle a_{1}a_{2}}, 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. Escribimost{\displaystyle t\downarrow }expresar simultáneamente que el términot{\displaystyle t}se 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 escribimost{\displaystyle t\simeq u}cuando ambos términos cerradost{\displaystyle t}y{\displaystyle u}o 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: sit{\displaystyle t}es un término,incógnita{\displaystyle x}es una variable y{\displaystyle u}es otro término,t[/incógnita]{\displaystyle t[u/x]}denota el términot{\displaystyle t}con todas las ocurrencias deincógnita{\displaystyle x}reemplazado por{\displaystyle u}.

Se dice que la estructura aplicativa parcial A es combinatoriamente completa o funcionalmente completa si, para cada términot(incógnita0,,incógnitanorte){\displaystyle t(x_{0},\dots ,x_{n})}(es decir, un términot{\displaystyle t}cuyas variables se encuentran entreincógnita0,,incógnitanorte{\displaystyle x_{0},\dots ,x_{n}}), existe un elementoaA{\displaystyle a\in A}de tal manera que: [ 2 ] : 27 [ 1 ] : 3

  • aa0anorte1{\displaystyle aa_{0}\dots a_{n-1}\downarrow }a pesar dea0,,anorte1A{\displaystyle a_{0},\dots ,a_{n-1}\in A},
  • aa0anortet[a0/incógnita0,,anorte/incógnitanorte]{\displaystyle aa_{0}\dots a_{n}\simeq t[a_{0}/x_{0},\dots ,a_{n}/x_{n}]}a pesar dea0,,anorteA{\displaystyle a_{0},\dots ,a_{n}\in A}.

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 parcialA{\displaystyle A}es combinatoriamente completa si y solo si existen dos elementosk,sA{\displaystyle k,s\in A}de tal manera que:

  • Kincógnitay↓ =incógnita{\displaystyle Kxy\downarrow =x}a pesar deincógnita,yA{\displaystyle x,y\in A},
  • Sincógnitay{\displaystyle Sxy\downarrow }a pesar deincógnita,yA{\displaystyle x,y\in A},
  • Sincógnitayz(incógnitaz)(yz){\displaystyle Sxyz\simeq (xz)(yz)}a pesar deincógnita,y,zA{\displaystyle x,y,z\in A}.

Para la demostración, en la dirección hacia adelante, siA{\displaystyle A}es combinatoriamente completo, basta con aplicar la definición de completitud combinatoria a los términostK(incógnita,y):=incógnita{\displaystyle t_{K}(x,y):=x}ytS(incógnita,y,z):=(incógnitaz)(yz){\displaystyle t_{S}(x,y,z):=(xz)(yz)}para obtenerK{\displaystyle K}yS{\displaystyle S}con las propiedades requeridas.

Es lo contrario lo que implica la eliminación de la abstracción. Supongamos que tenemosK{\displaystyle K}yS{\displaystyle S}como se indicó. Dada una variableincógnita{\displaystyle x}y un términot{\displaystyle t}, definimos un términoincógnitat{\displaystyle \langle x\rangle t}cuyas variables son las det{\displaystyle t}menosincógnita{\displaystyle x}, que desempeña un papel similar aλincógnitat{\displaystyle \lambda x\cdot t}en el cálculo λ. La definición es por inducción sobret{\displaystyle t}de la siguiente manera: [ 1 ] : 3 [ 2 ] : 28

  • incógnitaa=Ka{\displaystyle \langle x\rangle a=Ka}por una constanteaA{\displaystyle a\in A},
  • incógnitaincógnita=I{\displaystyle \langle x\rangle x=I}dóndeI:=SKK{\displaystyle I:=SKK},
  • incógnitay=Ky{\displaystyle \langle x\rangle y=Ky}siy{\displaystyle y}es una variable diferente deincógnita{\displaystyle x},
  • incógnita(v)=S(incógnita)(incógnitav){\displaystyle \langle x\rangle (uv)=S(\langle x\rangle u)(\langle x\rangle v)}.

Tenga cuidado con la analogía entreincógnitat{\displaystyle \langle x\rangle t}yλincógnitat{\displaystyle \lambda x\cdot t}no es perfecto. Por ejemplo, los términos(incógnitat)t{\displaystyle (\langle x\rangle t)t'}yt[t/incógnita]{\displaystyle t[t'/x]}No son generalmente equivalentes en un sentido razonable, por ejemplo, tomando una variable.y{\displaystyle y}diferente deincógnita{\displaystyle x}ya,bA{\displaystyle a,b\in A}constantes, tenemos(incógnitay)(ab)=Ky(ab){\displaystyle (\langle x\rangle y)(ab)=Ky(ab)}, que no puede considerarse equivalente ay{\displaystyle y}porque este último siempre se evalúa ado{\displaystyle c}siy{\displaystyle y}es reemplazado por una constantedoA{\displaystyle c\in A}, mientras que el primero puede no serloab{\displaystyle ab}puede no estar definido. [ 1 ] : 4–5

Sin embargo, sit{\displaystyle t'}es una constantea{\displaystyle a}, entonces(incógnitat)a{\displaystyle (\langle x\rangle t)a}es de hecho equivalente at[a/incógnita]{\displaystyle t[a/x]}en el sentido de que sustituir todas las variables por algunas constantes en estos dos términos da el mismo resultado (por{\displaystyle \simeq }). [ 1 ] : 4

Además, sustituir variables por constantes enincógnitat{\displaystyle \langle x\rangle t}siempre se evalúa a un resultado definido, incluso si esto no sería el caso al sustituir variables ent{\displaystyle t}. Por ejemplo, sia,bA{\displaystyle a,b\in A}son dos constantes, el términoincógnita(ab){\displaystyle \langle x\rangle (ab)}(abstraer una variable que no aparece) es igual aS(Ka)(Kb){\displaystyle S(Ka)(Kb)}Por los supuestos sobreK{\displaystyle K}yS{\displaystyle S}, esto está bien definido, aunqueab{\displaystyle ab}puede que no esté bien definido. [ 1 ] : 4

Estas observaciones implican que para todos los términost(incógnita0,,incógnitanorte){\displaystyle t(x_{0},\dots ,x_{n})}, el valora:=incógnita0incógnitanortet{\displaystyle a:=\langle x_{0}\rangle \dots \langle x_{n}\rangle t\downarrow }está bien definido y satisface los dos requisitos de completitud combinatoria. [ 1 ] : 4

Ejemplos

Primer álgebra de Kleene

La primera álgebra de KleeneK1{\displaystyle {\mathcal {K}}_{1}}consta del conjuntonorte{\displaystyle \mathbb {N} }con solicitudab:=ϕa(b){\displaystyle ab:=\phi _{a}(b)}, dóndeϕa{\displaystyle \phi _{a}}denota ela{\displaystyle a}-é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.Dnorte{\displaystyle D\subseteq \mathbb {N} }: definimos un pcaK1D{\displaystyle {\mathcal {K}}_{1}^{D}}con transportistanorte{\displaystyle \mathbb {N} }al establecerab:=ϕaD(b){\displaystyle ab:=\phi _{a}^{D}(b)}, dóndeϕaD{\displaystyle \phi _{a}^{D}}es ela{\displaystyle a}-ésima función recursiva parcial con oráculoD{\displaystyle D}. [ 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

  1. ^ Jaap van Oosten ( 2008 ) .Realizabilidad: una introducción a su lado categórico . Ciencia Elsevier. ISBN 9780444515841.
  2. 1 2 3 4 5 6 7 Andrej Bauer (2025-02-21). "Notas sobre realizabilidad" (PDF) . GitHub . Recuperado el 2025-02-21 .