Campo DC | Valor | Idioma |
dc.contributor.advisor | Rincon, Maurício Ayala | pt_BR |
dc.contributor.author | Silva, Gabriel Ferreira | pt_BR |
dc.date.accessioned | 2024-08-13T18:13:30Z | - |
dc.date.available | 2024-08-13T18:13:30Z | - |
dc.date.issued | 2024-08-13 | - |
dc.date.submitted | 2024-01-26 | - |
dc.identifier.citation | SILVA, Gabriel Ferreira. Rumo à unificação nominal AC. 2024. 175 f., il. Tese (Doutorado em Informática) — Universidade de Brasília, Brasília, 2024. | pt_BR |
dc.identifier.uri | http://repositorio2.unb.br/jspui/handle/10482/49802 | - |
dc.description | Tese (Doutorado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2024. | pt_BR |
dc.description.abstract | 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. | pt_BR |
dc.description.sponsorship | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES). | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.title | Rumo à unificação nominal AC | pt_BR |
dc.title.alternative | Towards nominal AC-Unification | pt_BR |
dc.type | Tese | pt_BR |
dc.subject.keyword | Métodos formais (Computação) | pt_BR |
dc.subject.keyword | Lógica nominal | pt_BR |
dc.subject.keyword | Unificação nominal | pt_BR |
dc.subject.keyword | Unificação AC | pt_BR |
dc.rights.license | 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. | pt_BR |
dc.contributor.advisorco | Fernández, Maribel | pt_BR |
dc.description.abstract1 | 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. | pt_BR |
dc.description.unidade | Instituto de Ciências Exatas (IE) | pt_BR |
dc.description.unidade | Departamento de Ciência da Computação (IE CIC) | pt_BR |
dc.description.ppg | Programa de Pós-Graduação em Informática | pt_BR |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado
|