90 research outputs found

    Abstract State Machines 1988-1998: Commented ASM Bibliography

    Get PDF
    An annotated bibliography of papers which deal with or use Abstract State Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm

    Verification of a Prolog compiler - first steps with KIV

    Get PDF
    This paper describes the first steps of the formal verification of a Prolog compiler with the KIV system. We build upon the mathematical definitions given by Boerger and Rosenzweig in [BR95]. There an operational semantics of Prolog is defined using the formalism of Evolving Algebras, and then transformed in several systematic steps to the Warren Abstract Machine (WAM). To verify these transformation steps formally in KIV, a translation of deterministic Evolving Algebras to Dynamic Logic is defined, which may also be of general interest. With this translation, correctness of transformation steps becomes a problem of program equivalence in Dynamic Logic. We define a proof technique for verifying such problems, which corresponds to the use of proof maps in Evolving Algebras. Although the transfor- mation steps are small enough for a mathematical analysis, this is not sufficient for a successful formal correctness proof. Such a proof requires to explicitly state a lot of facts, which were only impli- citly assumed in the analysis. We will argue that these assumptions cannot be guessed in a first proof attempt, but have to be filled in incrementally. We report on our experience with this `evolutionary\u27 verification process for the first transformation step, and the support KIV offers to do such incremental correctness proofs

    A π-Calculus Specification of Prolog

    Get PDF
    A clear and modular specification of Prolog using the π-calculus is presented in this paper. Prolog goals are represented as π-calculus processes, and Prolog predicate definitions are translated into π-calculus agent definitions. Prolog\u27s depth-first left-right control strategy as well as the cut control operator are modeled by the synchronized communication among processes, which is similar in spirit to continuation-passing style implementation of Prolog. Prolog terms are represented by persistent processes, while logical variables are modeled by complex processes with channels that, at various times, can be written, read, and reset. Both unifications with and without backtracking are specified by π-calculus agent definitions. A smooth merging of the specification for control and the specification for unification gives a full specification for much of Prolog. Some related and further works are also discussed

    A Survey of Languages for Specifying Dynamics: A Knowledge Engineering Perspective

    Get PDF
    A number of formal specification languages for knowledge-based systems has been developed. Characteristics for knowledge-based systems are a complex knowledge base and an inference engine which uses this knowledge to solve a given problem. Specification languages for knowledge-based systems have to cover both aspects. They have to provide the means to specify a complex and large amount of knowledge and they have to provide the means to specify the dynamic reasoning behavior of a knowledge-based system. We focus on the second aspect. For this purpose, we survey existing approaches for specifying dynamic behavior in related areas of research. In fact, we have taken approaches for the specification of information systems (Language for Conceptual Modeling and TROLL), approaches for the specification of database updates and logic programming (Transaction Logic and Dynamic Database Logic) and the generic specification framework of abstract state machine

    Logic Programming in Tabular Allegories

    Get PDF
    We develop a compilation scheme and categorical abstract machine for execution of logic programs based on allegories, the categorical version of the calculus of relations. Operational and denotational semantics are developed using the same formalism, and query execution is performed using algebraic reasoning. Our work serves two purposes: achieving a formal model of a logic programming compiler and efficient runtime; building the base for incorporating features typical of functional programming in a declarative way, while maintaining 100% compatibility with existing Prolog programs

    The LQG String: Loop Quantum Gravity Quantization of String Theory I. Flat Target Space

    Get PDF
    We combine I. background independent Loop Quantum Gravity (LQG) quantization techniques, II. the mathematically rigorous framework of Algebraic Quantum Field Theory (AQFT) and III. the theory of integrable systems resulting in the invariant Pohlmeyer Charges in order to set up the general representation theory (superselection theory) for the closed bosonic quantum string on flat target space. While we do not solve the, expectedly, rich representation theory completely, we present a, to the best of our knowledge new, non -- trivial solution to the representation problem. This solution exists 1. for any target space dimension, 2. for Minkowski signature of the target space, 3. without tachyons, 4. manifestly ghost -- free (no negative norm states), 5. without fixing a worldsheet or target space gauge, 6. without (Virasoro) anomalies (zero central charge), 7. while preserving manifest target space Poincar\'e invariance and 8. without picking up UV divergences. The existence of this stable solution is exciting because it raises the hope that among all the solutions to the representation problem (including fermionic degrees of freedom) we find stable, phenomenologically acceptable ones in lower dimensional target spaces, possibly without supersymmetry, that are much simpler than the solutions that arise via compactification of the standard Fock representation of the string. Moreover, these new representations could solve some of the major puzzles of string theory such as the cosmological constant problem. The solution presented in this paper exploits the flatness of the target space in several important ways. In a companion paper we treat the more complicated case of curved target spaces

    Towards flexible goal-oriented logic programming

    Get PDF

    An introduction to (Co)algebras and (Co)induction and their application to the semantics of programming languages

    Get PDF
    This report summarizes operational approaches to the formal semantics of programming languages and shows that they can be interpreted inductively by least fixed points as well as coinductively by greatest fixed points. While the inductive interpretation gives semantics to all terminating programs, the coinductive one defines moreover also a semantics for all non-terminating programs. This is especially important in areas where programs do not terminate in general, e.g. data bases, operating systems, or control software in embedded systems. The semantic foundations described in this report can be used to verify that transformations (e.g. in compilers) of such software systems are correct. In the course of this report, coalgebras and coinduction are introduced, starting with a gentle intuitive motivation and ending with a detailed mathematical description within the notions of category theory
    corecore