DS-1995-07: Transformation and Analysis of (Constraint) Logic Programs

DS-1995-07: Etalle, Sandro (1995) Transformation and Analysis of (Constraint) Logic Programs. Doctoral thesis, University of Amsterdam.

[thumbnail of Full Text] Text (Full Text)
DS-1995-07.text.ps.gz - Published Version

Download (503kB)
[thumbnail of Samenvatting] Text (Samenvatting)
DS-1995-07.samenvatting.txt - Other

Download (3kB)
[thumbnail of DS-1995-07.text.pdf] Text
DS-1995-07.text.pdf - Published Version

Download (1MB)

Abstract

The dissertation is structured as follows. Chapter 1 provides a brief introduction to the field of logic programming and program transformations.
In Chapter 2, the semantics of normal logic programs are discussed. This chapter serves as an introduction to the subsequent three chapters. Additionally, it contains a new result in which program equivalence with respect to the Kunen semantics is characterized.
In Chapter 3, we begin the study of the properties of Unfold/Fold transformation systems. In this chapter, we prove that the Unfold/Fold method of Tamaki and Sato, when applied to a terminating program, results in a program that is itself also terminating.
In Chapter 4, we introduce the replacement operation and investigate several new application conditions within the context of normal logic programs. The results from this chapter are used in the following chapter to find new application conditions for the Fold operation that guarantee the correctness of this operation with respect to the Fitting semantics.
In Chapter 5, we define a transformation system for so-called "Modular Constraint Logic Programs"; logic programs with a modular structure in which program rules can contain constraints. Additionally, we provide a number of application conditions that ensure the system is compositional; we prove that under these conditions, the transformed module has the same answer formulas as the original, even when these modules are composed with other modules.
In Chapter 6, we delve deeper into the problems involved in transforming Modular Constraint Logic Programs, particularly regarding the replacement operation. In this chapter, we define new application conditions under which certain observable properties are preserved during transformation, including under the composition of modules. It should be noted that, within our approach, the application conditions are not bound to specific observable properties. It is often possible to adapt these conditions so that they suffice for the observable properties of most interest.
In Chapter 7, we move on from program transformations and focus on program analysis. It is well known that unification is at the heart of the resolution method used in PROLOG, and that its efficiency has a major impact on the performance of the interpreter. In this chapter, we present simple conditions under which it is possible to replace unification with "iterated matching," a procedure that is significantly more efficient to implement than unification. We subsequently use these conditions to demonstrate that iterated matching suffices for a number of commonly used PROLOG programs. With this knowledge, it is possible to accelerate the execution of these programs.

Item Type: Thesis (Doctoral)
Report Nr: DS-1995-07
Series Name: ILLC Dissertation (DS) Series
Year: 1995
Subjects: Logic
Depositing User: Dr Marco Vervoort
Date Deposited: 14 Jun 2022 15:16
Last Modified: 09 Apr 2026 22:30
URI: https://eprints.illc.uva.nl/id/eprint/1980

Actions (login required)

View Item View Item