PROGRAMA ECOS

 

PROYECTOS CONJUNTOS DE INVESTIGACIÓN CIENTIFICA

URUGUAY - FRANCIA

  1. Nombre del proyecto

Especificaciones y programas: modelos de cálculo, tipos e implementaciones

 

Palabras Claves:. Calculo lambda, sistemas de tipos

Area disciplinaria:

( ) Ciencias Humanas y Sociales ( ) Ciencias de la Vida y la Salud.

( ) Ciencias de la Tierra y del Universo (*) Ciencias Exactas (Computación).

 

2. Institución principal a la cual pertenece el responsable del proyecto en Uruguay:

 

Instituto: Instituto de Computación - Facultad de Ingeniería – Universidad de la República (In.Co.).

Nombre del Director: María Urquhart.

Institución principal a la cual pertenece el responsable del proyecto en Francia:

Laboratoire d’Informatique (CNRS UMR 8548) – Ecole Normale Superieure, Paris.

 

 

3. Responsable del proyecto.

En Uruguay:

Nombres y apellidos: Nora Adriana Szasz Cerutti

Cargo académico: Profesor Asociado (grado 4)

Dirección: In.Co. -Facultad de Ingeniería - J. Herrera y Reissig 565 -

11300 Montevideo – URUGUAY

Teléfono: (598)(2) 71.42.44/47

Fax: (598)(2) 71.04.69

Correo electrónico: nora@fing.edu.uy

En Francia:

Nombre y apellido: Giuseppe Longo

Cargo académico: Directeur de Recherches (1ere cl., HEC3)

Dirección: Laboratoire d’Informatique

École Normale Supérieure

45 Rue d'Ulm, 75005 Paris, France

Fax : (33)(1) 44.32.21.51

Correo electrónico: longo@dmi.ens.fr

 

4. Lista de Investigadores participantes en el proyecto.

En Uruguay:

Nora Szasz, Profesora grado 4 del In.Co. Investigador principal.

Paula Severi, Profesora grado 3 del Centro de Matemática de la Facultad de Ciencias de la Universidad de la República. Investigador principal.

En Francia:

Guiseppe Longo, Directeur de Recherches (DR1), Laboratoire d'Informatique (LIENS - UMR 8548). Investigador principal.

Maribel Fernández, Maître de Conférences, Laboratoire d'Informatique (LIENS - UMR 8548). Investigador principal

Ian Mackie, Chargé de Recherche, CNRS - Chef de Travaux Pratiques, École Polytechnique - LIX (CNRS UMR 7650). Investigador principal.

 

5. Descripción del proyecto científico y objetivos perseguidos.

 

5.1. Resumen de la Investigación

El plan consiste en la definición y la investigación de las propiedades de ciertos cálculos tipados (inspirados del cálculo lambda [Bar85]), que permiten la modelización de la especificación de un problema y del programa que lo resuelve. Nos interesa estudiar propiedades como por ejemplo la confluencia y la normalización: la primera asegura el determinismo del sistema, y la segunda la existencia de un resultado para cada computación.

Los sistemas de tipos, y los algoritmos de inferencia de tipos, son importantes en este marco ya que permiten, en muchos casos, la verificación automática de estas propiedades, además de proteger las estructuras de datos y los operadores contra usos incorrectos. Por ejemplo, en el cálculo lambda, los subsistemas tipados son fuertemente normalizantes (todas las computaciones terminan). Este resultado es válido en sistemas de tipos muy diferentes, que van de los tipos simples al Cálculo de Construcciones. Entre las posibles extensiones de los cálculos que nos proponemos estudiar, está la inclusión de tipos inductivos, y de reglas de reducción arbitrarias sobre éstos (utilizando sistemas de reescritura de términos).

Si bien en los sistemas tipados todas las computaciones permiten obtener el resultado deseado, es importante definir una estrategia que llegue a este resultado lo más rápido posible. Desde un punto de vista práctico, para obtener una implementación eficiente de estos cálculos, nos proponemos estudiar diferentes estrategias de computación y comparar sus performances. La herramienta que nos servirá de base en este estudio es la Lógica Lineal [Gir87] y sus derivados, como las redes de interacción, que inspiraron la definición de estrategias eficientes (y optimales) en el cálculo lambda gracias a la descomposición en acciones atómicas de cada paso en la computación.

En [Sza97] Nora Szasz presenta una teoría formal de la programación basada en la Teoría Constructiva de Tipos. La principal contribución de este trabajo es que se obtiene una noción de programa más realista que la que existe en las distintas formulaciones de la teoría de tipos pero se mantienen las ventajas que tiene la utilización de dichas teorías, esto es: la unificación de conceptos, el hecho que la verificación de programas se reduce a un control de tipos, y la posibilidad de construir en paralelo los programas y sus pruebas de corrección.
En este proyecto proponemos iniciar el proceso de construcción de un asistente que permita utilizar en la practica la teoría de Nora Szasz. Para ello, las principales etapas son: el estudio de las relaciones entre tipos y normalización, el desarrollo de un algoritmo de control de tipos, y el estudio de estrategias eficientes de reducción utilizando técnicas derivadas de la Lógica Lineal.

 

5.2. Descripción del proyecto Científico y objetivos perseguidos

Fundamentación y Antecedentes

El proyecto de investigación propuesto se fundamenta en el hecho de que el cálculo lambda es la base teórica de la programación funcional [BW88] y puede ser considerado como un lenguaje de programación abstracto dado que contiene el concepto de cómputo en su forma más pura y general (es equivalente a la máquina de Turing) y además tiene una sintaxis extremadamente simple. Los primeros lenguajes de programación tipados fueron Pascal y Algol, luego aparecieron otros lenguajes como ML, Miranda y Haskell. Estos lenguajes están basados en fragmentos del Sistema F [Gir86], que es un cálculo lambda tipado de segundo orden desarrollado por Girard y Reynolds. La teoría de los cálculos lambda tipados también puede ser pensada desde el punto de vista de la lógica como la teoría de la demostración. En esta perspectiva el estudio de la normalización es el estudio de la simplificación de las demostraciones. Una forma normal es la prueba más simple que se puede encontrar de un teorema. El estudio del chequeo de tipos y de la habitabilidad de tipos corresponde al chequeo de demostraciones y a la deducción automática de la demostración a partir del enunciado del teorema. Los llamados asistentes de demostraciones, que son sistemas que ayudan a la demostración de teoremas matemáticos, están basados en su mayor parte en los cálculos lambda tipados. Algunos de ellos son Coq [Ba97], Lego [LP92], Constructor [HA91], Nuprl [Co86] y Alf [Mag94]. Estos sistemas pueden ser usados en particular para probar que un programa funcional es correcto, es decir, que satisface su especificación. Las propiedades de confluencia y de normalización aseguran la coherencia del sistema de prueba.

En la tesis de doctorado [Sza97], Nora Szasz presentó una Teoría de Especificaciones basada en la Teoría de Tipos de Martin Löf, en la cual es posible construir programas correctos a partir de sus Especificaciones. En [SS99] Paula Severi y Nora Szasz reformularon la Teoría de Especificaciones y comenzaron a estudiar propiedades de dicha teoría como normalización y confluencia de la reducción.

En la tesis de doctorado [Fer93] y en sus trabajos posteriores [BF97,BF95,BBF96], Maribel Fernández realizó estudios de confluencia y normalización para varios cálculos que combinan cálculo lambda (para la definición de funciones de orden superior) y reescritura de términos (para la representación de estructuras de datos y operadores algebraicos). Entre los resultados obtenidos está la modularidad de las propiedades de confluencia y terminación (normalización fuerte) en los fragmentos tipados de estos cálculos. En la tesis de doctorado [Sev96a] y en otros trabajos [SP94,Sev96b,RS95,Sev98,RSSX99] Paula Severi realizó estudios de confluencia y normalización sobre la teoría general de Sistemas Puros de Tipos [Ber88,Ter89,Bar92], así como también estudios de la normalización fuerte en cálculo lambda puro. En la tesis de doctorado [Mac94] y en sus trabajos posteriores [Mac98a,Mac98b] Ian Mackie estudió la implementación del cálculo lambda utilizando redes de interacción, basadas en redes de prueba de la Lógica Lineal, y la Geometría de la Interacción (un modelo semántico de la Lógica Lineal). Ian Mackie y Maribel Fernández [FM99] definieron, basados en estos trabajos, una estrategia de reducción en un cálculo lambda con substituciones explícitas, que tiene todas las ventajas de la llamada reducción débil, pero que permite reducciones dentro de las abstracciones (cosa que la reducción débil no permite), y gracias a esto las reducciones son más eficientes.

En este proyecto nos proponemos estudiar en profundidad las propiedades de los modelos de cálculo tipados, que permiten el desarrollo de programas correctos a partir de especificaciones formales y tienen aplicaciones prácticas inmediatas de acuerdo a lo descripto anteriormente.

Objetivos Generales y Específicos, Resultados Previstos

En la primera etapa del proyecto, planeamos continuar con el estudio de las propiedades de normalización de la Teoría de Especificaciones, con el objetivo de obtener un resultado de normalización fuerte para esta teoría.

En [Sza97] se presentó la Teoría de Especificaciones como una extensión a la Teoría de Tipos de Martin Löf, que permite la construcción de programas correctos a partir de sus especificaciones. Una especificación para un programa es una propiedad que el programa debe satisfacer. En general ésta es una proposición que tiene la forma "xÎA. $yÎB. P(x, y). A partir de una prueba p de una proposición de esta forma, la idea es extraer la función f Î A® B tal que P(x, f(x)) se cumpla. La función f será el programa buscado que satisface la especificación. Ya que el existencial en la teoría de conjuntos de Martin Löf es constructivo, el axioma de elección es derivable y es posible construir esta función dada por f = l xÎA. fst(p x). Sin embargo, desde el punto de vista computacional esta función extraída a partir del existencial constructivo no es ni buena ni deseable ya que contiene cierta información redundante y al momento de evaluar f(a) se realizarían cómputos innecesarios.

En la Teoría de Especificaciones se agrega una nueva construcción áxÎA | P(x) ñ llamada par que es en principio similar al existencial. Este par posee propiedades especiales que permiten extraer programas sin información redundante. Para esto, en [SS99] se agrega una reducción o relación de cómputo de manera que la forma normal de un elemento de "xÎáyÎB| P(x, y) ñ sea un par de la forma áf, qñ donde f es la función deseada de A en B y q es la prueba de "xÎA. P(x, f(x)). De esta manera, es posible construir el programa junto con su especificación y luego al normalizar se separa la parte que corresponde al programa de la parte que corresponde a la prueba de su corrección.

En otros asistentes de pruebas como Coq [Ba97], es posible realizar extracción de programas. El programa extraído en Coq será el mismo que se obtiene por medio de esta reducción. La diferencia está en el hecho que en Coq la extracción se realiza por medio de una función que esta por fuera de la teoría. En cambio, en la Teoría de Especificaciones la extracción de programas se realiza calculando la forma normal de una cierta reducción dentro de la teoría y además es posible obtener tanto la parte del programa f como la prueba de su corrección q.

El modelo sintáctico obvio para esta teoría, es la misma teoría de Martin Löf donde la interpretación calcula la forma normal de esta nueva reducción. Como consecuencia inmediata de la corrección de esta interpretación, se obtiene que este sistema es normalizable.

El estudio de la normalización fuerte es, en cambio, más delicado. Es necesario aplicar ciertas técnicas como interpretar los tipos en los llamados conjuntos saturados o codificar las expresiones nuevas dentro de la teoría de tipos de Martin Löf o dentro de algún cálculo lambda que se sepa fuertemente normalizable. Los miembros del proyecto han utilizado estas técnicas con éxito en otros cálculos, y los resultados obtenidos podrían aplicarse en este caso:

Paula Severi estudió en su tesis de doctorado las propiedades de normalización de una clase de cálculos tipados, los Sistemas Puros de Tipos (PTS). El estudio de la normalización de un cálculo es importante entre otras razones porque el chequeo de tipos es decidible para aquellos sistemas que son normalizables. En [Sev96b,Sev98] se simplificaron las reglas de los PTS's obteniendo los llamados Sistemas Puros de Tipos Débiles(WPTS); se estudió la propiedad de normalización y se definió un algoritmo de inferencia de tipos para los sistemas puros de tipos usando los sistemas debilitados. La ventaja de este algoritmo es que actúa sobre una clase de sistemas (los PTS's). La prueba de corrección de este algoritmo es delicada por ser un algoritmo general de inferencia de tipos. En el trabajo del proyecto PEDECIBA Una Sistema de Tipos para un Lenguaje Funcional con Constantes Polimorficas, Paula Severi definió un algoritmo de inferencia de tipos para un cálculo lambda tipado particular; se probó su corrección y se llevó a cabo su implementación.

Para la Teoría de Especificaciones, en lugar de la Teoría de Martin Löf, se podría elegir algún cálculo lambda tipado donde se pueda expresar funciones proposicionales. Un buen candidato es el sistema l P. Esto sugiere la posibilidad de extender los Sistemas Puros de Tipos con este nuevo constructor para pares, y generalizar los resultados de normalización fuerte de Paula Severi a esta extensión.

Maribel Fernández estudió las propiedades de normalización de extensiones de los sistemas del cubo de Barendregt (que incluye l P y el Cálculo de Construcciones) con reglas de reescritura de términos arbitrarios. Utilizando la técnica de los Predicados de Reductibilidad de Girard, que es equivalente al uso de conjuntos saturados, se demostró en [BFG97] que todos estos sistemas son fuertemente normalizantes si las reglas de reducción agregadas tienen una forma particular, llamada esquema general de recursión. Este resultado también es válido en sistemas de tipos implícitos, como el sistema de tipos intersección (originalmente definido para el cálculo lambda [CDC80]), y extendido a combinaciones de cálculo lambda y reescritura en [BBF96]. En particular, el sistema intersección permite la caracterización por medio de tipos de los conjuntos de términos fuertemente normalizantes, y que tienen una ``head-normal-form'', es decir, que la raíz del término es estable luego de un cierto número de pasos de reducción.

Otro objetivo de este trabajo es el estudio comparado de diferentes estrategias de reducción en la Teoría de Especificaciones, un paso hacia la implementación de la teoría. Para expresar estrategias, es importante que todas las etapas de cómputo sean descriptas de manera explícita en el sistema. Esto es posible por ejemplo utilizando los llamados cálculos de substituciones explícitas. El cálculo definido por Maribel Fernández e Ian Mackie [FM99] permite también la representación explícita del manejo de recursos (duplicación y borrado). Existe una correspondencia entre la reducción en este sistema, y la reducción en un sistema de redes de interacción en el cual los términos se representan por medio de grafos. Actualmente se dispone de varias implementaciones (secuenciales y paralelas) [Pin00] de las redes de interacción.

Las redes de interacción, derivadas de las redes de prueba de la Lógica Lineal, permiten la codificación del algoritmo de reducción optima en el cálculo lambda [GAL92], y la definición de estrategias eficientes de reducción [Mac98b]. Estos resultados fueron obtenidos para un cálculo lambda con un sistema de tipos simples. La extensión de estos resultados a sistemas de tipos como F o lP es el punto de partida para el estudio de estrategias de reducción eficientes en la Teoría de Especificaciones.

Finalmente, en programación funcional, las definiciones de tipos recursivos o inductivos juegan un papel esencial. Una extensión posible de la Teoría de Especificaciones consiste en agregar una noción de tipo inductivo general [CP90,Ore92,Dyb93] a estos sistemas de tipos y ver su comportamiento con los pares. Este es un objetivo a largo plazo.

Resumiendo, los principales resultados que se espera obtener son: una caracterización de las propiedades de normalización de la teoría, un algoritmo de control de tipos, y la definición de estrategias de reducción eficientes.

 

Actividades de Formación

Concretamente, Maribel Fernández e Ian Mackie darán cursos sobre Lógica Lineal, y sus aplicaciones en Informática (desarrollo de lenguajes de programación), para el grupo de estudiantes de matemática y computación interesados en los temas de Lógica. Ian Mackie ha dado cursos de este tipo previamente en la Universidad de Minho (Portugal) y en la École Normale Supérieure (en el marco del Magisterio MMFAI). Maribel Fernández colabora en el curso de Lógica Informática del Magisterio MMFAI, y es responsable del curso Equivalencia de programas declarativos, que incluye lenguajes basados en el cálculo lambda tipado y en redes de interacción, en el DEA Programmation : Sémantique, Preuves et Langages, co-habilitado por las Universidades de Paris VI, Paris VII, Paris Sud (XI), École Normale Supérieure de Paris (Ulm), École Normale Supérieure de Cachan, École Polytechnique, et CNAM.

Nora Szasz pertenece al grupo de Métodos Formales del In.Co., el cual tiene dentro de sus principales áreas de trabajo la investigación de métodos y herramientas de producción de programas de corrección certificada, con particular interés en aquellos basados en la Teoría de Tipos. Paula Severi es la única investigadora en el área de computación trabajando en este momento en la Facultad de Ciencias. Creemos que el intercambio entre el grupo del Prof. Giuseppe Longo de la École Normale Supérieure y tanto el grupo de Métodos Formales del In.Co. como el grupo en formación del Centro de Matemática será de grandes beneficios para la parte uruguaya.

 

 

 

6. Antecedentes de cooperación con la contraparte francesa.

Maribel Fernández y Paula Severi realizaron sus estudios de grado en la Facultad de Ingeniería (Uruguay). Posteriormente, Maribel Fernández ingresó a la Escuela Superior Latino Americana de Informática (ESLAI) en Argentina junto con Nora Szasz. Al término de estos estudios, Nora Szasz y Maribel Fernández obtuvieron puestos permanentes de docencia e investigación en la ESLAI y en este marco realizaron varios proyectos conjuntos, que incluyeron la dirección de pasantías y trabajos de grado sobre las teorías ecuacionales, y el desarrollo de un laboratorio para trabajar con estas teorías. Luego de terminar sus estudios de doctorado, Paula Severi obtuvo un puesto de profesor en la Facultad de Ciencias, y Nora Szasz en la Facultad de Ingeniería, donde Maribel Fernández e Ian Mackie han presentado sus trabajos en seminarios invitados en varias oportunidades.

 

7. Recursos.

Recursos ya asignados al proyecto, provenientes de otras fuentes de financiamiento:

- Por el momento no se cuenta con recursos provenientes de otras fuentes de financiación.

Recursos solicitados para el primer año de actividad:

Número de misiones de Francia a Uruguay para investigadores formados:

- Maribel Fernández: 1 mision de 3 semanas.

- Ian Mackie: 1 mision de 3 semanas.

Número de misiones de Uruguay a Francia para investigadores formados:

- Nora Szasz: 1 mision de un mes.

- Paula Severi: 1 mision de un mes.

Estadías de duración media (3 a 6 meses) para investigadores en formación

----

Becas de doctorado para uruguayos, encaradas sobre la totalidad del programa.

----

 

 

8. Información Complementaria.

Este proyecto NO ha sido presentado a ningún otro organismo, ni parcialmente.

 

Fecha: 15/3/2000

 

Nombre y Firma del responsable uruguayo del proyecto.

 

 

Dra. Nora Szasz

 

Nombre y firma del responsable del Instituto al que pertenece el responsable del proyecto.

La opinión del responsable se encuentra adjunta al presente documento

 

 

 

Ing. María Urquhart

 

Nombre y firma del Decano de la Facultad.

La opinión del Decano se encuentra adjunta al presente documento

 

 

Ing. María Simón

 

 

Atención

  • Presentar en tres ejemplares.

  • Adjuntar obligatoriamente la lista de publicaciones de los participantes en los últimos cinco años, así como el CV del responsable uruguayo y del francés.
  • Se puede incluir un ejemplar del último informe de actividades del Instituto.

 

Referencias

[Ba97] B. Barras et al. The coq proof assistant reference manual, version 6.1. Technical report, Rapport de Recherche 0203, INRIA, 1997.
[Bar85] H. Barendregt. The Lambda Calculus. Its syntax and semantics, volume 103 of Studies in logic and the foundations of mathematics. North Holland. Amsterdam, 1985.
[Bar92] H. Barendregt. Lambda Calculi with Types. In D. M. Gabbai, S. Abramsky, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science, volume 1, pages 117-309. Oxford University Press, 1992.
[BBF96] S. van Bakel, F. Barbanera, and M. Fernández. Rewrite systems with abstraction and b-rule: Types, approximants and normalization. In H.R. Nielson, editor, Programming Languages and Systems - ESOP'96, number 1058 in LNCS. Springer, 1996.
[Ber88] S. Berardi. Towards a mathematical analysis of the Coquand-Huet calculus of constructions and Other Systems in Barendregt's Cube. Technical report, Carnegie Mellon University and Universitá di Torino, 1988.
[BF95] S. van Bakel and M. Fernández. Approximation and normalization results for typeable term rewriting systems. In K. Meinke G. Dowek, J. Heering and B. Möller, editors, Proceedings of HOA'95. Second International Workshop on Higher Order Algebra, Logic, and Term Rewriting, number 1074 in LNCS. Springer, 1995.
[BF97] S. van Bakel and M. Fernández. Normalization results for typeable rewrite systems. Information and Computation, 133(2):73-116, 1997.
[BFG97] F. Barbanera, M. Fernández, and H. Geuvers. Modularity of strong normalization in the algebraic-l-cube. Journal of Functional Programming, 6:613-660, 1997.
[BW88] R. Bird and P. Wadler. Functional Programming. Prentice Hall, 1988.
[CDC80] M. Coppo and M. Dezani-Ciancaglini. An extension of the basic functionality theory for the l -calculus. Notre Dame Journal of Formal Logic, 21(4):685-693, 1980.
[CP90] T. Coquand and C. Paulin. Inductively Defined Types. In P. Martin-Löf and G. Mints, editors, COLOG-88, volume 417 of LNCS, pages 50-66. Springer, 1990.
[Co86] R. L. Constable et al. Implementing mathematics with the NuPRL Proof Development System. Prentice-Hall, Englewood Cliffs, NJ, 1986.
[Dyb93] P.Dybjer. Inductive families. 1993.
[Fer93] M.Fernández. Modèles de calculs multiparadigmes fondés sur la réécriture. PhD thesis, Université de Paris Sud, December 1993.
[FM99] M.Fernández and I. Mackie. Closed reductions for the l-calculus. In Computer Science Logic, Proceedings of CSL'99, number 1683 in Lecture Notes in Computer Science. Springer, 1999.
[GAL92] G. Gonthier, M. Abadi, and J.-J. Lévy. The geometry of optimal lambda reduction. In Proceedings of ACM Symposium Principles of Programming Languages, pages 15-26, 1992.
[Gir86] J. Y. Girard. The system F of variable types, fifteen years later. Theoretical Computer Science, 45:159-192, 1986.
[Gir87] J.Y.Girard. Linear Logic. Theoretical Computer Science, 50(1):1-102, 1987.
[HA91] L. Helmink and R. M. C. Ahn. Goal directed proof construction in type theory. In Procs. of the first Workshop on Logical Frameworks. Cambridge University Press, 1991.
[LP92] Z. Luo and R. Pollack. LEGO proof development system: User's manual. Technical Report ECS-LFCS-92-211, LFCS-University of Edinburgh, 1992.
[Mac94] I. Mackie. The Geometry of Implementation. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, September 1994.
[Mac98a] I. Mackie. Linear logic with boxes. In Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science (LICS'98), pages 309-320. IEEE Computer Society Press, June 1998.
[Mac98b] I. Mackie. YALE: Yet another lambda evaluator based on interaction nets. In Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming (ICFP'98). ACM Press, September 1998.
[Mag94] L. Magnusson. The Implementation of Alf-a proof editor based on Martin-Löf's Monomorphic Type Theory with Explicit Substitution. PhD thesis, Chalmers University of Technology, 1994.
[Ore92] C.E. Ore. The extended calculus of constructions (ECC) with inductive types. Information and Computation, 99(2):231-264, 1992.
[Pin00] J. S. Pinto. Sequential and concurrent abstract machines for interaction nets. In Proc. FOSSACS'2000, Berlin, Germany., number to appear in Lecture Notes in Computer Science. Springer, 2000.
[RS95] F. van Raamsdonk and P. Severi. On normalisation. Technical Report CS-R9545 and CS-9520, CWI-Amsterdam and TU-Eindhoven, 1995.
[RSSX99] F. van Raamsdonk, P. Severi, M.H. Sörensen, and H. Xi. Perpetual reductions in lambda calculus. Information and Computation, 1999.
[Sev96a] P. Severi. Normalisation on Lambda Calculus and its relation to Type Inference. PhD thesis, Eindhoven University of Technology, 1996.
[Sev96b] P. Severi. Pure type systems without the P-condition. In B. Bjerner, M. Larsson, and B. Nordström, editors, Proceedings of the 7th Nordic Workshop on Programming Theory, 86. Göteborg University and Chalmers University of Technology, 1996.
[Sev98] P. Severi. Type inference for pure type systems. Information and Computation, 1998.
[SP94] P. Severi and E. Poll. Pure type systems with definitions. In A. Nerode and Yu. V. Matiyasevich, editors, Logical Foundations of Computer Science: Proceedings of the Third International Symposium, 813, pages 316-328. LFCS'94, St. Petersburg Russia, Springer-Verlag, Berlin, New York, 1994.
[SS99] P. Severi and N. Szasz. Methamathematical investigations of a theory of specifications. Technical report, In process of publication, 1999.
[Sza97] N. Szasz. A Theory of Specifications, Programs and Proofs. PhD thesis, Chalmers University of Technology, 1997.
[Ter89] J. Terlouw. Een nadere bewijstheoretische analyse van GSTT's. Manuscript, 1989.