Conference Paper

Logical and Computational Invariants of Programs.

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

Without Abstract

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... In this paper, we shall formulate a theory of function definitions in which such problems can be studied. The theory is developed within the framework of partial inductive dejinitions [3]. The particular notion of function definition that we will give is based on the concept of equational definitions of functions. ...
Article
In this work, a notion of function definition is introduced. This notion is a generalization of equational definitions of functions. We distinguish between two properties of function definitions: extensional and intensional. A property is extensional or intensional if it concerns the extension or intension of function definitions, respectively. The typical problem is that of representability: Given a restricted notion of function definition, a function f and an intensional property P, is it possible to find a definition of f which has property P? The question which properties are to be considered to be intensional is discussed.As an application, three restricted notions of function definitions are studied. These are Herbrand-Gödel-Kleene systems, primitive recursive definitions and μ-recursive definitions. We show how these differ when considering a particular intensional property.
... Colson and David never adopt some sort of rigorous definition, but they assume that primitive recursive algorithms can be faithfully modeled by the combinators which are naturally associated with primitive recursive derivations, acting on the domain of lazy integers. Fredholm assumes an underlying theory of partial inductive definitions due to Hallnäs [8], which models algorithms (basically) by systems of Herbrand- Gödel-Kleene equations relating strict partial functions. My own approach is not too different (in the end) from that of Hallnäs, but it is more general, and it is based on the deterministic systems of equations with strict conditionals introduced by McCarthy [10] rather than the HGK systems; for a recent paper on the topic (with references to earlier work) see [11]. ...
Article
We establish linear lower bounds for the complexity of non-trivial, primitive recursive algorithms from piecewise linear given functions. The main corollary is that logtime algorithms for the greatest common divisor from such givens (such as Stein's) cannot be matched in e#ciency by primitive recursive algorithms from the same given functions. The question is left open for the Euclidean algorithm, which assumes the remainder function. In 1991, Colson [3] proved a remarkable theorem about the limitations of primitive recursive algorithms, which has the following consequence: Colson's Corollary. If a primitive recursive derivation of min(x, y) is expressed faithfully in a programming language, then one of the two computations min(1, 1000) and min(1000, 1) will take at least 1000 steps.
Article
: This paper describes the history of and some conclusions from a series of projects run at SICS KBS-lab during the period from 1986 to 1992. The projects have in common that they all are applications of the theory of partial inductive definitions. Table of Contents September 1992 APID i 1 Motivation of the Research 1 2 Background 2 2.1 Theoretical Background 2 2.2 Programming language (KBS tool) 2 2.3 Program verification/synthesis and the proof editor Pi 3 3 Project History 4 4 Results 6 4.1 Published papers and Conference Contributions 6 4.2 Academic degrees 7 4.3 Workshops 7 4.4 Applications 7 4.5 International Contacts 8 4.5.1 The ESPRIT working group: GENTZEN 8 4.5.2 Others 9 5 Conclusions and Evaluation 9 6 Future Work 10 Bibliography ii APID September September 1992 APID 1 1 Motivation of the Research The goal of Knowledge Based Systems (KBS) technology is to develop methods and tools for development and maintenance of KBS. In order to build systems based on knowled...
Article
We present a logic programming language, GCLA*** (Generalized horn Clause LAnguage), that is based on a generalization of Prolog. This generalization is unusual in that it takes a quite different view of the meaning of a logic program—a “definitional” view rather than the traditional logical view. GCLA has a number of noteworthy properties, for instance hypothetical and non-monotonic reasoning. This makes implementation of reasoning in knowledge-based systems more direct in GCLA than in Prolog. GCLA is also general enough to incorporate functional programming as a special case. GCLA and its syntax and semantics are described. The use of various language constructs are illustrated with several examples.
Article
In this paper definite Horn clause programs are investigated within a proof-theoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLD-resolution is established by purely proof-theoretic methods. Extended Horn clauses are defined as rules of higher levels and related to an approach based on implication formulae in the bodies of clauses. In a further extension, which is treated in Part II of this series, program clauses are viewed as clauses in inductive definitions of atoms, justifying an additional inference schema: a reflection principle that roughly corresponds to interpreting the program clauses as introduction rules in the sense of natural deduction. The evaluation procedures for queries with respect to the defined extensions of definite Horn clause programs are shown to be sound and complete. The sequent calculus with the general elimination schema even permits the introduction of a genuine notion of falsity which is not defined via a meta-rule.
Article
An attempt to consider partial definitions of semantically oriented data types will be described. We will in a certain sense think of such data types as inductively defined. A class of inductive definitions will be interpreted as partial definitions: partial inductive definitions. The presentation of such a definition is in itself elementary and the true complexity of the definition will show itself in questions concerning the isolation of totally defined objects. It is the same situation as in the case of partial recursive functions.The basic aim is to investigate the possibility to give direct inductive definitions of semantical notions exploring, so to speak, the structure of the given notion rather than to think of such notions as indirectly presented by a formal system or given by a definition, together with a proof of its correctness, in terms of recursion on some well-founded structure.
A proof theoretic approach to logic programming I,II Journal of logic and computation
  • P L Hallnäs
  • Schroeder-Heister
A definitional view of functional programming in
  • L Hallnäs
  • B Nordström
On function definitions I. Basic notions and primitive recursive function definitions, Licentiate thesis Chalmers
  • D Fredholm