102 research outputs found

    J-Calc: a typed lambda calculus for intuitionistic justification logic

    Get PDF
    In this paper we offer a system J-Calc that can be regarded as a typed λ-calculus for the {→, ⊥} fragment of Intuitionistic Justification Logic. We offer different interpretations of J-Calc, in particular, as a two phase proof system in which we proof check the validity of deductions of a theory T based on deductions from a stronger theory T and computationally as a type system for separate compilations. We establish some first metatheoretic result

    Dijkstra Monads for Free

    Get PDF
    International audienceDijkstra monads are a means by which a dependent type theory can beenhanced with support for reasoning about effectful code. Thesespecification-level monads computing weakest preconditions, and theirclosely related counterparts, Hoare monads, provide the basis on whichverification tools like F*, Hoare Type Theory (HTT), and Ynot arebuilt. In this paper we show that Dijkstra monads can be derived "forfree" by applying a continuation-passing style (CPS) translation tothe standard monadic definitions of the underlying computational effects.Automatically deriving Dijkstra monads provides acorrect-by-construction and efficient way of reasoning aboutuser-defined effects in dependent type theories. We demonstrate theseideas in EMF*, a new dependently typed calculus, validating it both byformal proof and via a prototype implementation within F*. Besidesequipping F* with a more uniform and extensible effect system, EMF*enables within F* a mixture of intrinsic and extrinsic proofs that waspreviously impossible
    • …
    corecore