2002
Authors
Mackie, I; Pinto, JS;
Publication
INFORMATION AND COMPUTATION
Abstract
The purpose of this paper is to demonstrate how Lafont's interaction combinators, a system of three symbols and six interaction rules, can be used to encode linear logic. Specifically, we give a translation of the multiplicative, exponential, and additive fragments of linear logic together with a strategy for cut-elimination which can be faithfully simulated. Finally, we show briefly how this encoding can be used for evaluating lambda-terms. In addition to offering a very simple, perhaps the simplest, system of rewriting for linear logic and the lambda-calculus, the interaction net implementation that we present has been shown by experimental testing to offer a good level of sharing in terms of the number of cut-elimination Steps (resp. beta-reduction steps). In particular it performs better than all extant finite systems of interaction nets. (C) 2002 Elsevier Science (USA).
2005
Authors
Cunha, A; Pinto, JS;
Publication
FUNDAMENTA INFORMATICAE
Abstract
Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.
2009
Authors
Barbosa, M; Almeida, JB; Pinto, JS; Vieira, B;
Publication
First NASA Formal Methods Symposium - NFM 2009, Moffett Field, California, USA, April 6-8, 2009.
Abstract
2010
Authors
Barbosa, M; Pinto, JS; Filliâtre, JC; Vieira, B;
Publication
ECEASST
Abstract
2010
Authors
Da Cruz, D; Henriques, PR; Pinto, JS;
Publication
Proceedings of the 10th Workshop on Language Descriptions, Tools and Applications, LDTA 2010
Abstract
In this paper we present the GamaSlicer tool, which is primarily a semantics-based program slicer that also offers formal verification (generation of verification conditions) and program visualization functionality. The tool allows users to obtain slices using a number of different families of slicing algorithms (precondition-based, postcondition-based, and specification-based), from a correct software component annotated with pre and postconditions (contracts written in JML-annotated Java). Each family in turn contains algorithms of different precision (with more precise algorithms being asymptotically slower). A novelty of our work at the theoretical level is the inclusion of a new, much more effective algorithm for specification-based slicing, and in fact other current work at this level is being progressively incorporated in the tool. The tool also generates (in a step-by-step fashion) a set of verification conditions (as formulas written in the SMT-lib language, which enables the use of different automatic SMT provers). This allows to establish the initial correctness of the code with respect to their contracts. © ACM 2010.
2009
Authors
Bove, A; Barbosa, LS; Pardo, A; Pinto, JS;
Publication
LerNet ALFA Summer School
Abstract
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.