Especificação de sistemas utilizando lógica linear com subexponencias

Detalhes bibliográficos
Ano de defesa: 2010
Autor(a) principal: Giselle Machado Nogueira Reis
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Minas Gerais
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://hdl.handle.net/1843/SLSS-8BBGJL
Resumo: Logic 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.
id UFMG_e690f79172a9b8f37cd9472fd59a18c7
oai_identifier_str oai:repositorio.ufmg.br:1843/SLSS-8BBGJL
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Especificação de sistemas utilizando lógica linear com subexponenciasLinguagem e lógicaProgramação lógicaComputaçãoLogic 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.Universidade Federal de Minas Gerais2019-08-10T23:41:36Z2025-09-09T00:49:25Z2019-08-10T23:41:36Z2010-11-17info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1843/SLSS-8BBGJLGiselle Machado Nogueira Reisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2025-09-10T16:55:10Zoai:repositorio.ufmg.br:1843/SLSS-8BBGJLRepositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-10T16:55:10Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.none.fl_str_mv Especificação de sistemas utilizando lógica linear com subexponencias
title Especificação de sistemas utilizando lógica linear com subexponencias
spellingShingle Especificação de sistemas utilizando lógica linear com subexponencias
Giselle Machado Nogueira Reis
Linguagem e lógica
Programação lógica
Computação
title_short Especificação de sistemas utilizando lógica linear com subexponencias
title_full Especificação de sistemas utilizando lógica linear com subexponencias
title_fullStr Especificação de sistemas utilizando lógica linear com subexponencias
title_full_unstemmed Especificação de sistemas utilizando lógica linear com subexponencias
title_sort Especificação de sistemas utilizando lógica linear com subexponencias
author Giselle Machado Nogueira Reis
author_facet Giselle Machado Nogueira Reis
author_role author
dc.contributor.author.fl_str_mv Giselle Machado Nogueira Reis
dc.subject.por.fl_str_mv Linguagem e lógica
Programação lógica
Computação
topic Linguagem e lógica
Programação lógica
Computação
description Logic 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.
publishDate 2010
dc.date.none.fl_str_mv 2010-11-17
2019-08-10T23:41:36Z
2019-08-10T23:41:36Z
2025-09-09T00:49:25Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1843/SLSS-8BBGJL
url https://hdl.handle.net/1843/SLSS-8BBGJL
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv repositorio@ufmg.br
_version_ 1856413926727614464