32 research outputs found

    Fortifying macros

    No full text

    Categorical and Kripke Semantics for Constructive S4 Modal Logic

    No full text
    We consider two systems of constructive modal logic which are computationally motivated. Their modalities admit several computational interpretations and are used to capture intensional features such as notions of computation, constraints, concurrency, etc. Both systems have so far been studied mainly from type-theoretic and category-theoretic perspectives, but Kripke models for similar systems were studied independently. Here we bring these threads together and prove duality results which show how to relate Kripke models to algebraic models and these in turn to the appropriate categorical models for these logics

    A Dependent Type Theory with Names and Binding

    No full text
    We consider the problem of providing formal support for working with abstract syntax involving variable binders. Gabbay and Pitts have shown in their work on Fraenkel-Mostowski (FM) set theory how to address this through first-class names: in this paper we present a dependent type theory for programming and reasoning with such names. Our development is based on a categorical axiomatisation of names, with freshness as its central notion. An associated adjunction captures constructions known from FM theory: the freshness quantifier N , name-binding, and unique choice of fresh names. The Schanuel topos --- the category underlying FM set theory --- is an instance of this axiomatisation

    Nominal Logic, A First Order Theory of Names and Binding

    Get PDF
    This paper formalises within first-order logic some common practices in computer science to do with representing and reasoning about syntactical structures involving lexically scoped binding constructs. It introduces Nominal Logic, a version of first-order many-sorted logic with equality containing primitives for renaming via name-swapping, for freshness of names, and for name-binding. Its axioms express properties of these constructs satisfied by the FM-sets model of syntax involving binding, which was recently introduced by the author and M. J. Gabbay and makes use of the Fraenkel-Mostowski permutation model of set theory. Nominal Logic serves as a vehicle for making two general points. First, name-swapping has much nicer logical properties than more general, nonbijective forms of renaming while at the same time providing a sucient foundation for a theory of structural induction/recursion for syntax modulo alpha-equivalence. Secondly, it is useful for the practice of operational semantics to make explicit the equivariance property of assertions about syntax -- namely that their validity is invariant under name-swapping

    Verifying Uniqueness in a Logical Framework

    No full text
    We present an algorithm for verifying that some specified arguments of an inductively defined relation in a dependently typed #- calculus are uniquely determined by some other arguments. We prove it correct and also show how to exploit this uniqueness information in coverage checking, which allows us to verify that a definition of a function or relation covers all possible cases. In combination, the two algorithms significantly extend the power of the meta-reasoning facilities of the Twelf implementation of LF
    corecore