Título: | Formalização em Coq da prova de confluência do cálculo λx |
Autor(es): | Caldas, Danilo Raposo Freire |
Orientador(es): | Moura, Flávio Leonardo Cavalcanti de |
Assunto: | Cálculo lambda Sistemas de computação |
Data de apresentação: | 17-Fev-2023 |
Data de publicação: | 12-Dez-2023 |
Referência: | CALDAS, Danilo Raposo Freire. Formalização em Coq da prova de confluência do cálculo λx. 2023. 38 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia da Computação) — Universidade de Brasília, Brasília, 2023. |
Resumo: | Um sistema abstrato de redução (ARS) é um par ordenado (A, R) onde A é um conjunto
e R é uma relação de redução sobre esse conjunto [1]. A confluência de um ARS, que
expressa o determinismo computacional do sistema, é a propriedade que esse sistema
tem se, dado um elemento qualquer que possa ser reduzido a partir do fecho transitivo
reflexivo da relação do ARS para dois elementos distintos, então esses dois elementos
distintos podem ser reduzidos para algum elemento comum a partir do mesmo fecho
transitivo reflexivo. Em outras palavras, um ARS é confluente se qualquer divergência
pode ser juntada. Existem diversas técnicas distintas para se provar a confluência de um
ARS [2], e a que utilizaremos aqui se baseia no fato de que ela pode ser obtida a partir
da existência de algum mapeamento que satisfaça a propriedade Z nesse sistema [1, 3].
O cálculo λ é um sistema formal de computação criado por Alonzo Church que é
equivalente às máquinas de Turing e que constitui o fundamento teórico do paradigma
de programação funcional [4, 5]. Podemos ver o cálculo λ como um sistema abstrato de
redução, onde as suas expressões são os elementos de A, e R é o conjunto contendo as
reduções do cálculo. Uma das variações do cálculo λ que também pode ser vista como
um ARS é o cálculo λx, que é um cálculo com substituição explicita, i.e., uma extensão
do cálculo λ cujo operador de substituição é um dos construtores da gramática de termos
[6, 7]. Esse trabalho tem como objetivo explicar o processo de formalização via o assistente de
provas Coq, que é um provador de teorema altamente utilizado tanto no meio acadêmico
quanto na, na indústria confluência do cálculo λx, conforme [6], no contexto nominal. |
Abstract: | An abstract rewriting system (ARS) is an ordered pair (A, R), where A is a set and R is a
binary relation on this set. Confluence of an ARS, which expresses the determinism of the
computational process, is a property satisfied by the system if, given an arbitrary element
that reduces to two different elements in the transitive reflexive closure of the binary
relation R, then these two different elements can be reduced to a common element in the
reflexive transitive closure of R. In other words, an ARS is confluent if every divergence
can be joined. There exists different techniques to prove confluence of an ARS, and here
we will use one based on the Z property [1].
The λ-calculus is a computational formal system created by Alonzo Church that is
equivalent to the Turing machines and constitutes the functional programming paradigm.
One can see the λ-calculus as an abstract reduction system, whose expressions are elements
in the set A, and R is the set of its reductions. One of the extensions of the λ-calculus
that can also be seen as an ARS is the calculus λx, which is a calculus with explicit
substitutions, i.e. an extension of the λ-calculus whose substitution operator is one of the
constructors of the grammar of terms.
The goal of this work is to explain the process of formalization, via the Coq proof
assistant, of the confluence property of the λx calculus following [6], using the nominal
approach so that we can provide a more general overview of its pros and cons in a non
trivial example. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2023. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia da Computação
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.