http://repositorio2.unb.br/jspui/handle/10482/49802
Arquivo | Tamanho | Formato | |
---|---|---|---|
GabrielFerreiraSilva_TESE.pdf | 1,72 MB | Adobe PDF | Visualizar/Abrir |
Título: | Rumo à unificação nominal AC |
Outros títulos: | Towards nominal AC-Unification |
Autor(es): | Silva, Gabriel Ferreira |
Orientador(es): | Rincon, Maurício Ayala |
Coorientador(es): | Fernández, Maribel |
Assunto: | Métodos formais (Computação) Lógica nominal Unificação nominal Unificação AC |
Data de publicação: | 13-Ago-2024 |
Data de defesa: | 26-Jan-2024 |
Referência: | SILVA, Gabriel Ferreira. Rumo à unificação nominal AC. 2024. 175 f., il. Tese (Doutorado em Informática) — Universidade de Brasília, Brasília, 2024. |
Resumo: | O paradigma nominal estende a sintaxe de primeira ordem e representa adequadamente o conceito de variáveis ligadas. Para trabalhar com esse vantajoso paradigma faz-se necessário adaptar noções de primeira ordem a ele, como unificação e matching. Esta tese é sobre unificação e matching no paradigma nominal na presença de uma teoria equacional E e sobre nosso trabalho em progresso em AC-unificação nominal. Inicialmente, generalizamos e formalizamos um algoritmo de C-unificação nominal para realizar matching e equality-checking, através da adição de um parâmetro X para lidar com variáveis protegidas. A formalização foi usada para testar uma implementação manual em Python do algoritmo. Em seguida, fornecemos a primeira formalização de um algoritmo de ACunificação em primeira ordem. Escolhemos formalizar o algoritmo seminal de Stickel e na prova de terminação usamos uma intrincada (mas devidamente motivada) medida lexicográfica, baseada no trabalho de Fages. Depois disso, adaptamos este algoritmo para obter o primeiro algoritmo para AC-matching em nominal e verificamos que o algoritmo termina e é correto e completo. Assim como em C-unificação nominal, usamos um parâmetro X para as variáveis protegidas, o que nos permitiu obter um AC-equality-checker como corolário. As 3 formalizações descritas foram feitas no assistente de provas PVS e integram a NASALib, o principal repositório de formalizações do PVS. Para cada uma dessas formalizações descrevemos a estrutura e tamanho dos arquivos que compõem a formalização. Visando obter um algoritmo de AC-unificação nominal, mostramos que o problema tem duas questões interessantes associadas a ele: gerar as soluções para π · X ≈? X e demonstrar terminação. Para a primeira questão, propomos um procedimento não determinístico de enumeração e exemplificamos como este calcula soluções não triviais. Para a segunda questão demonstramos como o problema f(X, W) ≈? f(π · X, π · Y ) gera um loop e provamos que é suficiente “entrar no loop” uma quantidade limitada de vezes, onde esse limite depende da ordem da permutação π. Acreditamos que a teoria desenvolvida será útil para a formulação de um algoritmo de AC-unificação nominal. |
Abstract: | The nominal syntax extends first-order syntax and allows us to represent smoothly system with bindings. In order to profit from the nominal setting, we must adapt important notions to it, such as unification and matching. This thesis is about nominal unification/- matching in the presence of an equational theory E and our efforts towards obtaining a nominal AC-unification algorithm. First, we extend and formalise a nominal C-unification algorithm to also handle matching and equality checking by adding an extra parameter X for protected variables, i.e., variables that cannot be instantiated. The formalised algorithm is used to test a Python manual implementation of the algorithm. Then, as a first step towards nominal AC-unification, we give the first formalisation of a first-order AC-unification algorithm. We choose to verify Stickel’s tried-and-tested algorithm. The proof of termination employs an intricate (but duly motivated) lexicographic measure that is based on Fages’ proof of termination. Finally, we adapt the first-order AC-unification algorithm to propose the first nominal AC-matching algorithm and formalise it to be terminating, sound and complete. As was the case for nominal C-unification, we used a parameter X for protected variables and this approach also let us obtain a verified nominal AC-equality checker as a byproduct. The 3 formalisations previously described were done in the PVS proof assistant and are available in NASALib, PVS’ main repository of formalisations. In each one of the three formalisations we describe the files that compose the formalisation, pointing out their structure, hierarchy and size. With the aim of obtaining a nominal AC unification algorithm, we studied two interesting questions: generating solutions to π · X ≈? X and proving termination. For the first question we propose a non-deterministic enumeration procedure and exemplify how it can compute non-obvious solution. For the second question we demonstrate that the problem f(X, W) ≈? f(π · X, π · Y ) gives rise to a loop and prove that it is enough to loop a limited amount of times, where this limit depend on the order of the permutation π. We hope these insights will advance the search for a nominal AC unification algorithm. |
Unidade Acadêmica: | Instituto de Ciências Exatas (IE) Departamento de Ciência da Computação (IE CIC) |
Informações adicionais: | Tese (Doutorado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2024. |
Programa de pós-graduação: | Programa de Pós-Graduação em Informática |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.unb.br, www.ibict.br, www.ndltd.org sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra supracitada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data. |
Agência financiadora: | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES). |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.