El cálculo del de las construcciones (CoC) es un cálculo mecanografiado higher-order donde están los valores los tipos de primera clase que es así posible, dentro del CoC, definir funciones, por ejemplo, de números enteros a los tipos, tipos de la lambda a los tipos así como funciones de números enteros a los números enteros.
El CoC es que normaliza fuerte, aunque, por el teorema del estado incompleto de Gödel, es imposible probar esta característica dentro del CoC puesto que implica consistencia.
El CoC fue desarrollado inicialmente por el Thierry Coquand .
El CoC era la base de las versiones tempranas del prover del teorema de Coq ; versiones posteriores fueron construidas sobre el cálculo de las construcciones inductivas, una extensión de CoC con la ayuda nativa para el inductivo Datatypes en el CoC original, los datatypes inductivos tuvieron que ser emuladas como su función polimórfica del destructor.
El cálculo de construcciones se puede considerar una extensión del isomorfismo de Curry-Howard. El isomorfismo de Curry-Howard asocia un término en el cálculo simplemente mecanografiado de la lambda a cada prueba de la natural-deducción en la lógica proposicional intuicionista . El cálculo de construcciones amplía este isomorfismo a las pruebas en el cálculo de predicado intuicionista completo, que incluye las pruebas de las declaraciones cuantificadas (que también llamaremos " propositions").
Un término del en el cálculo de construcciones se construye usar las reglas siguientes:
el T del
es un término (también llamado el tipo del )
El P es un término (también llamado el apoyo del, el tipo de todos los asuntos)
Si y son términos, después estar tan
()
()
El cálculo de construcciones tiene cuatro tipos de objeto: el impermeabiliza, que son los términos cuyos tipos son
En el cálculo de construcciones, un juicio es una inferencia que mecanografía:
Cuál se puede leer como la implicación el
l si las variables tienen tipos , después término tiene tipo .
Los juicios válidos para el cálculo de construcciones son derivables de un sistema de reglas de inferencia. En el siguiente, utilizamos el para significar una secuencia de tipo asignaciones , y nosotros utilizamos el K para significar el P o el T . Escribiremos el para significar el " tiene tipo , y tiene tipo ". Escribiremos el para significar el resultado de substituir el término para el variable adentro el término .
Una regla de inferencia se escribe en la forma
cuál significa
l si es un juicio válido, después es tan
El cálculo de construcciones es muy parsimonioso cuando viene a los operadores básicos: el único operador lógico para formar asuntos es el . Sin embargo, este un operador es suficiente definir a el resto de operadores lógicos:
Los tipos de datos básicos usados en de informática pueden ser definidos dentro del cálculo de construcciones:
; Booleans: ; Productos naturales: ; : ; Desunir el :
.
| Random links: | Deporte extremo | Lago claro, Illinois | Denpasar | Niki, Hokkaidō | La endecha de Aotrou y de Itroun |