Reference. BI-hyperdoctrines, higher-order separation logic, and abstraction
Cite
Cited by (5)
Idempotent Resources in Separation Logic: The Heart of core in Iris gratzer-2025-idempotent
A denotationally-based program logic for higher-order store aagaard-2023-a
Lilac: A Modal Separation Logic for Conditional Probability li-2023-lilac
Category Theory in Coq 8.5 timany-2016-category
We report on our experience implementing category theory in Coq 8.5. Our work formalizes most of basic category theory, including concepts not covered by existing formalizations, in a library that is fit to be used as a general-purpose category-theoretical foundation.
Our development particularly takes advantage of two features new to Coq 8.5: primitive projections for records and universe polymorphism. Primitive projections allow for well-behaved dualities while universe polymorphism provides a relative notion of largeness and smallness. The latter is one of the main contributions of this paper. It pushes the limits of the new universe polymorphism and constraint inference algorithm of Coq 8.5.
In this paper we present in detail smallness and largeness in categories and the foundation they are built on top of. We furthermore explain how we have used the universe polymorphism of Coq 8.5 to represent smallness and largeness arguments by simply ignoring them and entrusting them to the universe inference algorithm of Coq 8.5. We also briefly discuss our experience throughout this implementation, discuss concepts formalized in this development and give a comparison with a few other developments of similar extent.
Functors are type refinement systems mellies_zeilberger_2015
The standard reading of type theory through the lens of category theory is based on the idea of viewing a type system as a category of well-typed terms. We propose a basic revision of this reading: rather than interpreting type systems as categories, we describe them as functors from a category of typing derivations to a category of underlying terms. Then, turning this around, we explain how in fact any functor gives rise to a generalized type system, with an abstract notion of typing judgment, typing derivations and typing rules. This leads to a purely categorical reformulation of various natural classes of type systems as natural classes of functors.
The main purpose of this paper is to describe the general framework (which can also be seen as providing a categorical analysis of refinement types), and to present a few applications. As a larger case study, we revisit Reynolds’ paper on “The Meaning of Types” (2000), showing how the paper’s main results may be reconstructed along these lines.
Cites 39 works (5 here)
With notes (5)
Separation logic: A logic for shared mutable data structures reynolds_separation_2002
BI as an assertion language for mutable data structures ishtiaq_ohearn_bi_2001
Categorical Logic and Type Theory jacobs-1999
This book is an attempt to give a systematic presentation of both logic and type theory from a categorical perspective, using the unifying concept of fibred category. Its intended audience consists of logicians, type theorists, category theorists and (theoretical) computer scientists.
The logic of bunched implications ohearn_pym_bi_1999
Adjointness in Foundations lawvere_1969
External (34)
- Semantics of Separation-Logic Typing and Higher-Order Frame Rules (2006)
- A Verification Methodology for Model Fields (2006)
- Nanevski et al., Harvard Tech. Rep. TR-14-06 (Hoare type theory) (2006)
- Towards imperative modules: Reasoning about invariants and sharing of mutable state (2006)
- Notes on the dialectica topos (2006)
- Relational parametricity and separation logic (2006)
- Idealized ML and its separation logic (2006)
- Ownership confinement ensures representation independence for object-oriented programs (2005)
- State Based Ownership, Reentrance, and Encapsulation (2005)
- Permission accounting in separation logic (2005)
- Separation logic and abstraction (2005)
- Local reasoning about a copying garbage collector (2004)
- Separation and information hiding (2004)
- Barnett & Naumann, MPC 2004 paper (probably 'Friends need a bit more: maintaining invariants over shared state') (2004)
- On the logic of bunched implications and its relation to separation logic (M.S. thesis) (2004)
- Bornat, SPACE 2004 workshop paper (probably 'Local reasoning, separation and aliasing') (2004)
- Leino et al., ECOOP paper (probably 'Object invariants in dynamic contexts') (2004)
- Resources, concurrency and local reasoning (2004)
- Errata and remarks for The Semantics and Proof Theory of the Logic of Bunched Implications (2004)
- Possible worlds and resources: the semantics of BI (2003)
- Barnett et al., Formal Techniques for Java-Like Programs (FTfJP) paper (probably 'Verification of object-oriented programs with invariants') (2003)
- Separation and information hiding (work in progress, extended version) (2003)
- The Semantics and Proof Theory of the Logic of Bunched Implications (2002)
- A semantic basis for local reasoning (2002)
- Modular Specification and Verification of Object-Oriented Programs (LNCS 2262) (2002)
- Local reasoning for stateful programs (PhD thesis) (2001)
- Operating Systems Concepts (5th ed.) (1998)
- Toward reliable modular programs (PhD thesis) (1995)
- Sheaves in Geometry and Logic (1994)
- Verifying Object-Oriented Programs That Use Subtypes (1989)
- Abstraction and Specification in Program Development (1986)
- Abstract types have existential types (1985)
- Proof of correctness of data representations (1972)
- Procedures and Parameters: An Axiomatic Approach (1971)