Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/SLSS-8BBGJL
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Elaine Gouvea Pimentelpt_BR
dc.contributor.advisor-co1Roberto da Silva Bigonhapt_BR
dc.contributor.referee1Edward Hermann Haeuslerpt_BR
dc.contributor.referee2Fernando Magno Quintao Pereirapt_BR
dc.creatorGiselle Machado Nogueira Reispt_BR
dc.date.accessioned2019-08-10T23:41:36Z-
dc.date.available2019-08-10T23:41:36Z-
dc.date.issued2010-11-17pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/SLSS-8BBGJL-
dc.description.abstractLogic programming is defined as the use of logic formulas representing programs and proof search of these formulas as the execution of the program (computation). This is an interesting paradigm because of the specifications' formality, which is inherited from the logic itself and facilitates the proof of some properties that would not be so obvious if the program was written in an imperative programming language, for example. However, a logic needs to have some important characteristics to be the basis of a programming language. Namely, it is necessary that the proof search is well-behaved'', meaning that there is a deterministic procedure to look for proofs. Due to this restriction, only a few logics, or parts of it, can be implemented as a programming language. As a consequence, these languages are also limited, not having some basic features such as modularization, data abstraction or concurrency. The most popular logic programming language, Prolog, is an example of such limited programming languages. Since the popularization of the logic programming paradigm, numerous attempts have been made to increase the expressiveness of the underlying logic, so that the programming language obtained has more features yet still purely logic. Among the most significant contributions are LO and lambda-Prolog, whose logics can capture modularization, data abstraction and some aspects of concurrency. Nevertheless, the logics implemented are still fragments (of linear and classical logic, respectively). The impossibility to implement a programming language with the whole classical logic is the main motivation for the study of linear logic, which, in contrast, is a programming language itself. Recently a refinement of the linear logic was proposed with the use of subexponentials, interpreted as locations in the language. With this new logic, the correspondence between algorithms and proof search could be proved. This master dissertation presents an implementation for the linear logic with subexponentials. In order to show the increase of expressiveness of the logic, it is shown the codification of some sequent calculus proof systems in the new language. It also presents the implementation of a simple imperative programming language. The semantics of this language is described using linear logic with subexponentials, therefore it is possible to execute a program using this logic's implementation and it becomes clear the correspondence between algorithms and proof search.pt_BR
dc.description.resumoA programação lógica é caracterizada principalmente pela interpretação de fórmulas lógicas como programas. Essas fórmulas são utilizadas para provar objetivos e essas provas são interpretadas como a execução do programa (computação). Esse paradigma é interessante pela formalidade das especificações, herdada da lógica utilizada, o que facilita a prova de algumas propriedades importantes que não estariam tão claras se o programa fosse implementado imperativamente, por exemplo.Entretanto, uma lógica precisa de algumas características essenciais para ser a base de uma linguagem de programação. Mais especificamente, é necessário que a busca por provas possa ser feita de maneira 'bem-comportada', no sentido de existir uma forma determinística de fazer essa busca. Devido a essa restrição, somente algumas lógicas, ou mesmo fragmentos de lógicas, podem ser implementados como linguagens de programação. Como consequência disso essas linguagens ficam também limitadas, muitas vezes não apresentando aspectos básicos como modularização, abstração de dados ou concorrência. A linguagem de programação lógica mais popular, Prolog, é um exemplo claro da existência de tais problemas.Desde a popularização desse paradigma de programação, foram feitas várias tentativas no sentido de aumentar a expressividade da lógica utilizada para se obter uma linguagem mais completa e ainda puramente lógica. Entre as contribuições mais significativas estão LO e lambda-Prolog, cujas lógicas conseguem capturar a modularização, abstração de dados e alguns aspectos de concorrência. Porém, as lógicas que implementam essas linguagens ainda são fragmentos (da lógica linear, no caso de LO, e da lógica clássica, no caso de lambda-Prolog).A impossibilidade de se implementar uma linguagem de programação com toda a lógica clássica motivou o estudo da lógica linear, que pode ser completamente utilizada para se implementar uma linguagem. Recentemente foi proposto um refinamento da lógica linear, caracterizado pelo uso de subexponenciais, que podem ser interpretados como locations (repositórios de dados). Com essa nova lógica, foi possível provar a correspondência entre algoritmos e busca por provas.Essa dissertação de mestrado apresenta uma implementação para a lógica linear com subexponenciais. Além disso, para mostrar o aumento de expressividade da lógica, estão codificados alguns sistemas de provas na linguagem implementada. Também é mostrada a implementação de uma linguagem imperativa cuja especificação semântica dos comandos é feita utilizando a lógica linear com subexponenciais. Dessa forma, é possível observar de maneira clara como os algoritmos correspondem à busca por provas.pt_BR
dc.languagePortuguêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subject.otherLinguagem e lógicapt_BR
dc.subject.otherProgramação lógicapt_BR
dc.subject.otherComputaçãopt_BR
dc.titleEspecificação de sistemas utilizando lógica linear com subexponenciaspt_BR
dc.typeDissertação de Mestradopt_BR
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
gisellemachadonogueirareis.pdf5.77 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.