LoboVault Home
 

Term rewriting with built-in numbers and collection data structures

LoboVault

Please use this identifier to cite or link to this item: http://hdl.handle.net/1928/10262

Term rewriting with built-in numbers and collection data structures

Show full item record

Title: Term rewriting with built-in numbers and collection data structures
Author: Falke, Stephan
Advisor(s): Kapur, Deepak
Committee Member(s): Giesl, Juergen
McCune, William
Veroff, Robert
Department: University of New Mexico. Dept. of Computer Science
Subject(s): Term Rewriting
Semantic Data Structures
Termination Analysis
Inductive Theorem Proving
LC Subject(s): Rewriting systems (Computer science)
Computer programs--Termination.
Data structures (Computer science)
Computer programs--Verification.
Degree Level: Doctoral
Abstract: Term rewrite systems have been extensively used in order to model computer programs for the purpose of formal verification. This is in particular true if the termination behavior of computer programs is investigated, and automatic termination proving for term rewrite systems has received increased interest in recent years. Ordinary term rewrite systems, however, exhibit serious drawbacks. First, they do not provide a tight integration of natural numbers or integers. Since the pre-defined semantics of these primitive data types cannot be utilized, reasoning about termination of ordinary term rewrite systems operating on numbers is often cumbersome or even impossible. Second, ordinary term rewrite system cannot accurately model collection data structures such as sets or multisets which are supported by many high-level programming languages such as Maude or OCaml. This dissertation introduces a new class of term rewrite systems that addresses both of these drawbacks and thus makes it possible to accurately model computer programs using a high level of abstraction in a natural formalism. Then, the problem of automatically proving termination for this new class of term rewrite systems is investigated. The resulting dependency pair framework provides a flexible and modular method for proving termination. In addition to unrestricted rewriting, termination of rewriting with the innermost strategy or a context-sensitive rewriting strategy is investigated as well. The techniques for proving termination that are developed in this dissertation have been implemented in the well-known termination prover AProVE. An empirical evaluation shows that the implementation succeeds in automatically proving termination of a large collection of computer programs that are modeled using the new class of term rewrite systems developed in this work. Next, the use of this new class of term rewrite systems in the context of inductive theorem proving is investigated. This makes it possible to reason about the semantics of computer programs. The inductive theorem proving method developed in this dissertation provides a tight integration of inductive reasoning with a decision procedure, thus resulting in a high degree of automation. Finally, conditions under which the inductive theorem proving method is guaranteed to succeed in proving or disproving a conjecture without any user intervention are identified. Thus, the inductive theorem proving method can be applied as a "black box" if these conditions are satisfied. The inductive theorem proving method checks for the conditions under which it provides a decision procedure have been implemented in the prototype prover Sail2. An empirical evaluation shows that Sail2 is very efficient, and the high degree of automation makes it possible to use Sail2 in a push-button mode for formal program verification.
Graduation Date: December 2009
URI: http://hdl.handle.net/1928/10262

Files in this item

Files Size Format View
diss.pdf 2.154Mb PDF View/Open

This item appears in the following Collection(s)

Show full item record

UNM Libraries

Search LoboVault


Advanced Search

Browse

My Account