Regla de eliminación basada en la unificación para la igualdad

10

Hace unos años, me encontré con la siguiente regla de la izquierda para la igualdad en el cálculo posterior:

stθθ(Γ)θ(C)Γ,stC

Aquí, stθ computa el unificador más general, θ de s y t , y luego se aplica la SUSTITUCIÓN a la conclusión C y todas las hipótesis en el contexto Γ .

Lo interesante de esta unificación es que iguala encuentra una sustitución para variables universales (es decir, skolem).

Sin embargo, no recuerdo dónde leí esto, y me preguntaba si alguien podría ayudarme a encontrar una referencia.

Neel Krishnaswami
fuente

Respuestas:

9

A menudo atribuyo esto a las Reglas de reflexión definitoria de Schroeder-Heister, aunque la idea se remonta más allá de eso a Girard y otros; la regla que está buscando es una instancia de la primera presentación en la Sección 4. Sin embargo, también necesita una regla que diga que si la instancia de unificación no es satisfactoria, entonces el supuesto de igualdad tiene la fuerza de una contradicción.

Una cuenta más general ha sido utilizada recientemente en muchos trabajos por Dale Miller, David Baelde y compañía (ver, por ejemplo, los puntos fijos mínimos y mayores en lógica lineal ). La formulación más general, que tampoco se origina con Miller et al., Es que la regla es

{θcsu(t,s)θΓθC}Γ,tsC

donde es el conjunto completo de unificadores , el conjunto de todas las sustituciones unificadoras de y . También puede preferir la forma equivalente de escribir esta regla que prefiero (ver aquí, por ejemplo).csu(t,s)sts

θ.θt=θsθΓθCΓ,tsC

En cualquier caso, en un lenguaje de términos con unificación decidible donde la existencia de un unificador implica la existencia de un unificador más general, tener cualquiera de estas reglas anteriores puede ser equivalente a tener estas dos reglas:

no mgu(t,s)Γ,tsCmgu(t,s)=θθΓθCΓ,tsC

(PS Frank discutió esto en su curso de programación lógica en las conferencias 6, 7 y 8, que pueden ser de donde lo recuerde).

Rob Simmons
fuente
1
¡Gracias! Estaba mirando los papeles equivocados de Schroeder-Heister.
Neel Krishnaswami
2
Probablemente debería agregar que he estado pensando en esto en el contexto de la verificación de tipos para GADT.
Neel Krishnaswami
1
Huh He estado escribiendo sobre esto en el contexto de que OMG THESIS DEBE GRADUARSE, por lo que no se me permite pensar en esto en el contexto de la verificación de tipos para GADT ;-).
Rob Simmons