8 research outputs found

    Introduction to the Literature on Semantics

    Get PDF
    An introduction to the literature on semantics. Included are pointers to the literature on axiomatic semantics, denotational semantics, operational semantics, and type theory

    Introduction to the Literature on Programming Language Design

    Get PDF
    This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search

    Introduction to the Literature On Programming Language Design

    Get PDF
    This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search

    Mechanization of program construction in Martin-Loef's theory of types

    Get PDF
    The constructive approach to the problem of program correctness dates to the late 1960’s. During the early 1970’s interest developed in the application of constructive logics to the derivation of provably correct programs. Martin-Loef's Theory of Types was devised as a formalisation of constructive mathematics. His theory also integrates the processes of program construction and verification within a single deductive system. This thesis is concerned with the application of Martin-Loef's theory to the task of program construction. In particular, the mechanisation of this task is investigated. We begin with a comparative study of current implementations of constructive type theory. The aim of the study is to assess the suitability of the implementations in the role of programming assistant. A proposal for a more effective programming assistant is presented. A principal difficulty in constructing correct programs is the problem of scale. Computer assistance plays an essential role in alleviating this problem. Experience in performing formal proof provides a better understanding of this problem and is, therefore, an important aid to the development of computer assistance. For this reason the formal derivation of a generalised table look-up function was undertaken. This exercise in program construction revealed that a disproportionate amount of the overall proof effort was taken up with proving negations. A proof of a negation has no computational content; it contributes only to the correctness of the synthesized program. With the aim of freeing the programmer from those proof obligations a decision method for negation was developed. This decision method exploits, and thereby demonstrates, the uniform structure of Martin-Loef's theory. This uniformity is further utilized in a scheme for automatically deriving primitive recursive functions. The scheme enables the formal introduction of definitions during the course of a proof which satisfy the constraints of primitive recursion

    A Cubical Language for Bishop Sets

    Get PDF
    We present XTT, a version of Cartesian cubical type theory specialized for Bishop sets \`a la Coquand, in which every type enjoys a definitional version of the uniqueness of identity proofs. Using cubical notions, XTT reconstructs many of the ideas underlying Observational Type Theory, a version of intensional type theory that supports function extensionality. We prove the canonicity property of XTT (that every closed boolean is definitionally equal to a constant) using Artin gluing

    Data type proofs using Edinburgh LCF

    Get PDF

    The Type Theory of PL/CV3

    Full text link
    The programming logic PL/CV3 is based on the notion of a mathematical type. We present the core of the type theory, from which the full theory for program verification and specification can be derived. Whereas the full theory was designed to be useable, the core theory was selected to be analyzable. This presentation strives to be succinct yet thorough. The last section consists of examples, but the approach here is not tutorial. Key Words and phrases: automated logic, program verification, program specification, semantics of programming languages, type theory, foundations of mathematics
    corecore