Results 1 -
2 of
2
Removing Redundant Arguments of Functions
- In 9th International Conference on Algebraic Methodology And Software Technology, AMAST 2002, H. Kirchner and C. Ringeissen, Eds. Lecture Notes in Computer Science
, 2002
"... The application of automatic transformation processes during the formal development and optimization of programs can introduce encumbrances in the generated code that programmers usually (or presumably) do not write. An example is the introduction of redundant arguments in the functions defined in t ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
The application of automatic transformation processes during the formal development and optimization of programs can introduce encumbrances in the generated code that programmers usually (or presumably) do not write. An example is the introduction of redundant arguments in the functions defined in the program. Redundancy of a parameter means that replacing it by any expression does not change the result. In this work, we provide a method for the analysis and elimination of redundant arguments in term rewriting systems as a model for the programs that can be written in more sophisticated languages.
First Order Logic With Domain Conditions
- in `Theorem Proving in Higher Order Logics, TPHOLs 2003', Vol. 2758 of LNCS
, 2001
"... The correctness of proofs is increasingly being veried with computer programs called `proof checkers'. Examples of such proof checkers are Mizar, ACL2, PVS, Nuprl, HOL, Isabelle and Coq. This paper addresses what is one of the most important problems for that kind of system, which is how to deal wit ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The correctness of proofs is increasingly being veried with computer programs called `proof checkers'. Examples of such proof checkers are Mizar, ACL2, PVS, Nuprl, HOL, Isabelle and Coq. This paper addresses what is one of the most important problems for that kind of system, which is how to deal with partial functions and the related issue of how to treat undened terms. In many systems the problem is avoided by articially making all functions total. However that does not correspond to the practice of every day mathematics. In type theory partial functions are modeled by giving functions extra arguments which are proof objects. Because of that it is not possible to apply a function outside its domain. However having proofs as rst class objects makes the logic non-standard. This has the disadvantages that it is unfamiliar to most mathematicians and that many proof tools won't be usable for it. For instance a theorem prover like Otter cannot be easily used for this kind of logic. Also expressions in type theoretical systems get clumsy because they contain proof objects. The PVS system solves the problem of partial functions dierently. PVS generates type-correctness conditions or TCCs for statements in its language. These are proof obligations that have to be satised `on the side' to show that the statements are well-formed. In this paper we relate the type theoretical approach to one resembling the PVS approach. We add domain conditions to ordinary rst order logic (which in this paper will be classical and one-sorted) and we show that the combination corresponds precisely to a rst order system that treats partial functions in the style of type theory. 1

