Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/37046
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2023_DaniloRaposoFreireCaldas_tcc.pdf412,54 kBAdobe PDFver/abrir
Registro completo
Campo Dublin CoreValorLíngua
dc.contributor.advisorMoura, Flávio Leonardo Cavalcanti de-
dc.contributor.authorCaldas, Danilo Raposo Freire-
dc.identifier.citationCALDAS, 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.pt_BR
dc.descriptionTrabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2023.pt_BR
dc.description.abstractUm 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.pt_BR
dc.rightsAcesso Abertopt_BR
dc.subject.keywordCálculo lambdapt_BR
dc.subject.keywordSistemas de computaçãopt_BR
dc.titleFormalização em Coq da prova de confluência do cálculo λxpt_BR
dc.typeTrabalho de Conclusão de Curso - Graduação - Bachareladopt_BR
dc.date.accessioned2023-12-12T11:02:14Z-
dc.date.available2023-12-12T11:02:14Z-
dc.date.submitted2023-02-17-
dc.identifier.urihttps://bdm.unb.br/handle/10483/37046-
dc.language.isoPortuguêspt_BR
dc.rights.licenseA 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.pt_BR
dc.description.abstract1An 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.pt_BR
Aparece na Coleção:Engenharia da Computação



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.