Results 1 - 10
of
11
A Categorical Manifesto
- Mathematical Structures in Computer Science
, 1991
"... : This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for ..."
Abstract
-
Cited by 94 (5 self)
- Add to MetaCart
: This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for each concept, but completeness is not attempted. Some additional categorical concepts and some suggestions for further research are also mentioned. The paper concludes with some philosophical discussion. 0 Introduction This paper tries to explain why category theory is useful in computing science. The basic answer is that computing science is a young field that is growing rapidly, is poorly organised, and needs all the help it can get, and that category theory can provide help with at least the following: ffl Formulating definitions and theories. In computing science, it is often more difficult to formulate concepts and results than to give a proof. The seven guidelines of this paper can h...
Semantics of Types for Mutable State
, 2004
"... Proof-carrying code (PCC) is a framework for mechanically verifying the safety of machine language programs. A program that is successfully verified by a PCC system is guaranteed to be safe to execute, but this safety guarantee is contingent upon the correctness of various trusted components. For in ..."
Abstract
-
Cited by 42 (5 self)
- Add to MetaCart
Proof-carrying code (PCC) is a framework for mechanically verifying the safety of machine language programs. A program that is successfully verified by a PCC system is guaranteed to be safe to execute, but this safety guarantee is contingent upon the correctness of various trusted components. For instance, in traditional PCC systems the trusted computing base includes a large set of low-level typing rules. Foundational PCC systems seek to minimize the size of the trusted computing base. In particular, they eliminate the need to trust complex, low-level type systems by providing machine-checkable proofs of type soundness for real machine languages. In this thesis, I demonstrate the use of logical relations for proving the soundness of type systems for mutable state. Specifically, I focus on type systems that ensure the safe allocation, update, and reuse of memory. For each type in the language, I define logical relations that explain the meaning of the type in terms of the oper-ational semantics of the language. Using this model of types, I prove each typing rule as a lemma. The major contribution is a model of System F with general references — that is, mutable cells that can hold values of any closed type including other references, functions, recursive types, and impredicative quantified types. The model is based on ideas from both possible worlds and the indexed model of Appel and McAllester. I show how the model of mutable references is encoded in higher-order logic. I also show how to construct an indexed possible-worlds model for a von Neumann machine. The latter is used in the Princeton Foundational PCC system to prove type safety for a full-fledged low-level typed assembly language. Finally, I present a semantic model for a region calculus that supports type-invariant references as well as memory reuse. iii
A Nested-Graph Model for the Representation and Manipulation of Complex Objects
- ACM Transactions on Information Systems
, 1994
"... this paper we report upon a graph-based approach to such an integration. Our use of graphs has two key advantages : firstly, graphs are formally defined, well-understood structures; secondly, it is widely accepted that graph-based formalisms considerably enhance the usability of complex systems [19] ..."
Abstract
-
Cited by 34 (3 self)
- Add to MetaCart
this paper we report upon a graph-based approach to such an integration. Our use of graphs has two key advantages : firstly, graphs are formally defined, well-understood structures; secondly, it is widely accepted that graph-based formalisms considerably enhance the usability of complex systems [19]. Graphs have been used in conjunction with a number of conventional data models, for example the hierarchical and network models [35], the entity-relationship model [9] and a recent extension thereof for complex objects [27], and various semantic data models [16, 20, 31]. Graphs or hypergraphs [6] have also been used more recently in [12, 17, 23, 25, 33, 36] as a data modelling tool in their own right. We give a comparison between this recent work and our own approach in Section 4 of the paper. Directed graphs have also been the foundation of Hypertext databases [11, 33]. Such databases are graphs consisting of nodes which refer to units of stored information (typically text) and of named links. Each link connects two nodes, the "source" and the "destination". Links are traversed either forwards (from source to destination) or backwards (from destination to source). The process of traversing named links and examining the text associated with nodes is called
Feature Logics
- HANDBOOK OF LOGIC AND LANGUAGE, EDITED BY VAN BENTHEM & TER MEULEN
, 1994
"... Feature logics form a class of specialized logics which have proven especially useful in classifying and constraining the linguistic objects known as feature structures. Linguistically, these structures have their origin in the work of the Prague school of linguistics, followed by the work of Chom ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
Feature logics form a class of specialized logics which have proven especially useful in classifying and constraining the linguistic objects known as feature structures. Linguistically, these structures have their origin in the work of the Prague school of linguistics, followed by the work of Chomsky and Halle in The Sound Pattern of English [16]. Feature structures have been reinvented several times by computer scientists: in the theory of data structures, where they are known as record structures, in artificial intelligence, where they are known as frame or slot-value structures, in the theory of data bases, where they are called "complex objects", and in computati
A Stratified Semantics of General References Embeddable in Higher-Order Logic (Extended Abstract)
, 2002
"... Amal J. Ahmed Andrew W. Appel # Roberto Virga Princeton University {amal,appel,rvirga}@cs.princeton.edu Abstract We demonstrate a semantic model of general references --- that is, mutable memory cells that may contain values of any (statically-checked) closed type, including other references. Our mo ..."
Abstract
-
Cited by 27 (8 self)
- Add to MetaCart
Amal J. Ahmed Andrew W. Appel # Roberto Virga Princeton University {amal,appel,rvirga}@cs.princeton.edu Abstract We demonstrate a semantic model of general references --- that is, mutable memory cells that may contain values of any (statically-checked) closed type, including other references. Our model is in terms of execution sequences on a von Neumann machine
Defining a Formal Coalgebraic Semantics for the Rosetta Specification Language
- Journal of Universal Computer Science
, 2003
"... Abstract: Rosetta is a systems level design language that allows algebraic specification of systems through facets. The usual approach to formally describe a specification is to define an algebra that satisfies the specification. Although it is possible to formally describe Rosetta facets with the u ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Abstract: Rosetta is a systems level design language that allows algebraic specification of systems through facets. The usual approach to formally describe a specification is to define an algebra that satisfies the specification. Although it is possible to formally describe Rosetta facets with the use of algebras, we choose to use the dual of algebra, i.e. coalgebra, to do so. Coalgebras are particularly suited for describing statebased systems. This makes formally defining state-based Rosetta quite straightforward. For non-state-based Rosetta, the formalization is not as direct, but can still be done with coalgebras by focusing on the behaviors of systems specified. We use denotational semantics to map Rosetta syntactic constructs into a language understood by the coalgebras.
Models of non-well-founded sets via an indexed final coalgebra theorem
- J. Symbolic Logic
"... ..."
A Strongly Normalising Curry-Howard Correspondence for IZF Set Theory
"... Abstract. We propose a method for realising the proofs of Intuitionistic Zermelo-Fraenkel set theory (IZF) by strongly normalising λ-terms. This method relies on the introduction of a Curry-style type theory extended with specific subtyping principles, which is then used as a low-level language to i ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We propose a method for realising the proofs of Intuitionistic Zermelo-Fraenkel set theory (IZF) by strongly normalising λ-terms. This method relies on the introduction of a Curry-style type theory extended with specific subtyping principles, which is then used as a low-level language to interpret IZF via a representation of sets as pointed graphs inspired by Aczel’s hyperset theory. As a consequence, we refine a classical result of Myhill and Friedman by showing how a strongly normalising λ-term that computes a function of type N → N can be extracted from the proof of its existence in IZF. 1
A.: Cut elimination for Zermelo’s set theory
, 2006
"... Abstract. We show how to express intuitionistic Zermelo set theory in deduction modulo (i.e. by replacing its axioms by rewrite rules) in such a way that the corresponding notion of proof enjoys the normalization property. To do so, we first rephrase set theory as a theory of pointed graphs (followi ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. We show how to express intuitionistic Zermelo set theory in deduction modulo (i.e. by replacing its axioms by rewrite rules) in such a way that the corresponding notion of proof enjoys the normalization property. To do so, we first rephrase set theory as a theory of pointed graphs (following a paradigm due to P. Aczel) by interpreting set-theoretic equality as bisimilarity, and show that in this setting, Zermelo’s axioms can be decomposed into graph-theoretic primitives that can be turned into rewrite rules. We then show that the theory we obtain in deduction modulo is a conservative extension of (a minor extension of) Zermelo set theory. Finally, we prove the normalization of the intuitionistic fragment of the theory. The cut elimination theorem is a central result in proof theory that has many corollaries such as the disjunction property and the witness property for constructive proofs, the completeness of various proof search methods and the decidability of some fragments of predicate logic, as well as some independence

