Formalización de fundaciones de la matemática y compiladores correctos por construcción

Tesis (Doctor en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2019.

Bibliographic Details
Main Author: Gunther, Emmanuel
Other Authors: Pagano, Miguel María
Format: info:eu-repo/semantics/publishedVersion
Language:spa
Published: 2019
Subjects:
Online Access:http://hdl.handle.net/11086/14372
_version_ 1801211363012378624
author Gunther, Emmanuel
author2 Pagano, Miguel María
author_facet Pagano, Miguel María
Gunther, Emmanuel
author_sort Gunther, Emmanuel
collection Repositorio Digital Universitario
description Tesis (Doctor en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2019.
format info:eu-repo/semantics/publishedVersion
id rdu-unc.14372
institution Universidad Nacional de Cordoba
language spa
publishDate 2019
record_format dspace
spelling rdu-unc.143722023-12-13T19:39:41Z Formalización de fundaciones de la matemática y compiladores correctos por construcción Gunther, Emmanuel Pagano, Miguel María Diseño de compiladores Formalización de matemática Teoría de conjuntos Programación con tipos dependientes Theory of computation Logic and verification Software verification Type Theory Software and its engineering Compilers Forcing Tesis (Doctor en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2019. info:eu-repo/semantics/publishedVersion Gunther, Emmanuel. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. Dentro de las teorías fundacionales de la matemática se encuentran la Teoría de Conjuntos y la Teoría de Tipos. La primera es bien conocida en la comunidad matemática; la teoría de tipos además de ser una posible fundación, es una base para lenguajes de programación lo suficientemente expresivos para enunciar teoremas, escribir sus pruebas y que su corrección sea verificada automáticamente. Esta tesis resume tres trabajos independientes pero relacionados entre sí. El primero consiste en el desarrollo de una metodología para definir compiladores correctos por construcción mediante el uso de tipos dependientes. Gracias a la expresividad de estos sistemas de tipos refinamos los lenguajes fuente y destino con su semántica; el tipo de la función de compilación es exactamente la preservación de la semántica. Matemáticamente podemos concebir los lenguajes como álgebras de términos de una signatura y al compilador como el homomorfismo inducido por la interpretación de una signatura en la otra. Esto nos llevó a formalizar en Agda una librería para Álgebra Universal Heterogénea, incluyendo las principales definiciones y resultados básicos, un sistema deductivo para un cálculo ecuacional y las nociones de morfismos entre signaturas y álgebras reducto. El último aporte de la tesis surge del estudio de uno de los problemas más famosos en la teoría de conjuntos: la independencia de la hipótesis del continuo (CH) respecto a la teoría ZFC. Gödel y Cohen demostraron, respectivamente, que no puede refutarse ni probarse CH en ZFC. Cohen desarrolló para ello la técnica de Forcing, que es la única manera conocida para extender modelos de ZFC. Si bien este desarrollo constituye uno de los avances más grandes en teoría de conjuntos, no existe hasta el momento ninguna formalización de Forcing en asistentes de prueba. Como parte de este doctorado hemos comenzado la formalización en el asistente Isabelle/ZF de la técnica de Forcing, llegando a probar que la extensión genérica satisface varios axiomas de ZF. Set Theory and Type Theory are known as Foundations of Mathematics. The first one is well known by mathematicians; Type Theory, besides being a foundation, is the basis for programming languages expressive enough to state theorems, write their proofs and verify their correctness automatically. This thesis summarizes three works. The first one consists of the development of a methodology to define correct-by-construction compilers, using dependent types. Thanks to the expressiveness of these type systems, we refine the syntax of source and target languages by adding information of semantics at type level; then, the type of the compiler function expresses the property of correctness. We can conceive the languages as term algebras of a signature, and the compiler as the homomorphism induced by the interpretation of a signature in other. Hence we formalized in the Agda proof assistant a library of Heterogeneous Universal Algebra, including main definitions and basic results, a deductive system for equational calculus and notions of morphisms between signatures and reduct algebras. The last contribution of this thesis is motivated by the study of one of the most famous problems in set theory: the independence of the continuum hypothesis (CH) with respect to the ZFC theory. Gödel and Cohen showed that CH cannot be refuted or proven. In his work, Cohen developed the technique of forcing, the only known way to extend models of ZFC. Despite the importance of forcing in set theory, there was no mechanization in proof assistants. Our last work consists of the first steps of a complete formalization of forcing in the Isabelle proof assistant. info:eu-repo/semantics/publishedVersion Gunther, Emmanuel. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. 2019-12-10T18:41:49Z 2019-12-10T18:41:49Z 2019 doctoralThesis http://hdl.handle.net/11086/14372 spa Atribución-NoComercial-CompartirIgual 4.0 Internacional http://creativecommons.org/licenses/by-nc-sa/4.0/
spellingShingle Diseño de compiladores
Formalización de matemática
Teoría de conjuntos
Programación con tipos dependientes
Theory of computation
Logic and verification
Software verification
Type Theory
Software and its engineering
Compilers
Forcing
Gunther, Emmanuel
Formalización de fundaciones de la matemática y compiladores correctos por construcción
title Formalización de fundaciones de la matemática y compiladores correctos por construcción
title_full Formalización de fundaciones de la matemática y compiladores correctos por construcción
title_fullStr Formalización de fundaciones de la matemática y compiladores correctos por construcción
title_full_unstemmed Formalización de fundaciones de la matemática y compiladores correctos por construcción
title_short Formalización de fundaciones de la matemática y compiladores correctos por construcción
title_sort formalizacion de fundaciones de la matematica y compiladores correctos por construccion
topic Diseño de compiladores
Formalización de matemática
Teoría de conjuntos
Programación con tipos dependientes
Theory of computation
Logic and verification
Software verification
Type Theory
Software and its engineering
Compilers
Forcing
url http://hdl.handle.net/11086/14372
work_keys_str_mv AT guntheremmanuel formalizaciondefundacionesdelamatematicaycompiladorescorrectosporconstruccion