78 research outputs found

    Operationelle und funktionale Semantik von Σ-Graphen mit Anwendungen auf LISP

    Get PDF
    Dieser Bericht ist im Wortlaut identisch mit: Peter Padawitz, Church-Rosser-Eigenschaften von Graph-Grammatiken und Anwendungen auf die Semantik von LISP, Diplomarbeit 1978.Previous studies of operational versus functional semantics of symbolic expressions mostly have been confined to treelike expressions and evaluation by "simplification" and substitution of recursive definitions for function symbols. In order to drop these restrictions we introduce Σ-graphs and Σ-grammars to represent expressions and evaluation rules, respectively. Functional semantics of Σ-graphs is defined as an extension of Scott's fixed point semantics of flow diagrams. We prove that derivations via a Σ-grammar P preserve the functional semantics of Σ-graphs if the underlying "semantic algebra" satisfies the equations given by P. To get an operational semantics of a Σ-graph G relative to a Σ-grammar P derivations of G via P must yield a unique normal form. Therefore sufficient conditions for a weak Church-Rosser property of Σ-grammars are formulated and proved for some classes of such grammars. Applying these results to the programming language LISP we show that the evaluation rules of a LISP interpreter are compatible with the semantics of LISP and weak Church-Rosser where garbage collection is included

    Implicit complexity for coinductive data: a characterization of corecurrence

    Full text link
    We propose a framework for reasoning about programs that manipulate coinductive data as well as inductive data. Our approach is based on using equational programs, which support a seamless combination of computation and reasoning, and using productivity (fairness) as the fundamental assertion, rather than bi-simulation. The latter is expressible in terms of the former. As an application to this framework, we give an implicit characterization of corecurrence: a function is definable using corecurrence iff its productivity is provable using coinduction for formulas in which data-predicates do not occur negatively. This is an analog, albeit in weaker form, of a characterization of recurrence (i.e. primitive recursion) in [Leivant, Unipolar induction, TCS 318, 2004].Comment: In Proceedings DICE 2011, arXiv:1201.034

    Closure properties for the class of behavioral models

    Get PDF
    Hidden k-logics can be considered as the underlying logics of program specification. They constitute natural generalizations of k-deductive systems and encompass deductive systems as well as hidden equational logics and inequational logics. In our abstract algebraic approach, the data structures are sorted algebras endowed with a designated subset of their visible parts, called filter, which represents a set of truth values. We present a hierarchy of classes of hidden k-logics. The hidden k-logics in each class are characterized by three different kinds of conditions, namely, properties of their Leibniz operators, closure properties of the class of their behavioral models, and properties of their equivalence systems. Using equivalence systems, we obtain a new and more complete analysis of the axiomatization of the behavioral models. This is achieved by means of the Leibniz operator and its combinatorial properties. © 2007 Elsevier Ltd. All rights reserved.FCT via UIM

    Correctness, completeness, and consistency of equational data type specifications

    Get PDF
    SIGLETIB Hannover: RN 2856(83-15) / FIZ - Fachinformationszzentrum Karlsruhe / TIB - Technische InformationsbibliothekDEGerman

    Algebraic Model Checking

    Get PDF
    Abstract. Several more or less algebraic approaches to model checking are presented and compared with each other with respect to their range of applications and their degree of automation. All of them have been implemented and tested in our Haskell-based formal-reasoning system Expander2. Besides realizing and integrating state-of-the art proof and computation rules the system admits rarely restricted specifications of the models to be checked in terms of rewrite rules and functional-logic programs. It also offers flexible features for visualizing and even animating models and computations. Indeed, this paper does not present purely theoretical work. Due to the increasing abstraction potential of programming languages like Haskell the boundaries between developing a formal system and implementing it or making it ‘user-friendly ’ as well as between systems developed in different communities become more and more obsolete. The individual topics discussed in the paper reflect this observation.

    Inductive Theorem Proving for Design Specifications

    Get PDF
    We present a number of new results on inductive theorem proving for design specifications based on Horn logic with equality. Induction is explicit here because induction orderings are supposed to be part of the specification. We show how the automatic support for program verification is enhanced if the specification satisfies a bunch of rewrite properties, summarized under the notion of canonicity. The enhancement is due to inference rules and corresponding strategies whose soundness is implied by the specification's canonicity. The second main result of the paper provides a method for proving canonicity by using the same rules, which are applied in proofs of conjectures about the specification and the functional-logic programs it contains. Contents 1 Introduction 2 1.1 Expander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Proof by term rewriting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
    • …
    corecore