Results 1  10
of
34
Notions of Computation and Monads
, 1991
"... The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with ..."
Abstract

Cited by 730 (15 self)
 Add to MetaCart
The i.calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with Iterms. However, if one goes further and uses bnconversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with total functions from calues to values) that may jeopardise the applicability of theoretical results, In this paper we introduce calculi. based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
Semantic foundations of concurrent constraint programming
, 1990
"... Concurrent constraint programming [Sar89,SR90] is a simple and powerful model of concurrent computation based on the notions of storeasconstraint and process as information transducer. The storeasvaluation conception of von Neumann computing is replaced by the notion that the store is a constr ..."
Abstract

Cited by 259 (26 self)
 Add to MetaCart
Concurrent constraint programming [Sar89,SR90] is a simple and powerful model of concurrent computation based on the notions of storeasconstraint and process as information transducer. The storeasvaluation conception of von Neumann computing is replaced by the notion that the store is a constraint (a finite representation of a possibly infinite set of valuations) which provides partial information about the possible values that variables can take. Instead of “reading” and “writing ” the values of variables, processes may now ask (check if a constraint is entailed by the store) and tell (augment the store with a new constraint). This is a very general paradigm which subsumes (among others) nondeterminate dataflow and the (concurrent) (constraint) logic programming languages. This paper develops the basic ideas involved in giving a coherent semantic account of these languages. Our first contribution is to give a simple and general formulation of the notion that a constraint system is a system of partial information (a la the information systems of Scott). Parameter passing and hiding is handled by borrowing ideas from the cylindric algebras of Henkin, Monk and Tarski to introduce diagonal elements and “cylindrification ” operations (which mimic the projection of information induced by existential quantifiers). The se;ond contribution is to introduce the notion of determinate concurrent constraint programming languages. The combinators treated are ask, tell, parallel composition, hiding and recursion. We present a simple model for this language based on the specificationoriented methodology of [OH86]. The crucial insight is to focus on observing the resting points of a process—those stores in which the process quiesces without producing more information. It turns out that for the determinate language, the set of resting points of a process completely characterizes its behavior on all inputs, since each process can be identified with a closure operator over the underlying constraint system. Very natural definitions of parallel composition, communication and hiding are given. For example, the parallel composition of two agents can be characterized by just the intersection of the sets of constraints associated with them. We also give a complete axiomatization of equality in this model, present
Nominal Logic: A First Order Theory of Names and Binding
 Information and Computation
, 2001
"... This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal L ..."
Abstract

Cited by 161 (15 self)
 Add to MetaCart
This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal Logic, a version of firstorder manysorted logic with equality containing primitives for renaming via nameswapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
Categorical Logic
 A CHAPTER IN THE FORTHCOMING VOLUME VI OF HANDBOOK OF LOGIC IN COMPUTER SCIENCE
, 1995
"... ..."
Aspects of predicative algebraic set theory I: Exact Completion
 Ann. Pure Appl. Logic
"... This is the first in a series of three papers on Algebraic Set Theory. Its main purpose is to lay the necessary groundwork for the next two parts, one on ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
This is the first in a series of three papers on Algebraic Set Theory. Its main purpose is to lay the necessary groundwork for the next two parts, one on
Quantum logic in dagger kernel categories
 Order
"... This paper investigates quantum logic from the perspective of categorical logic, and starts from minimal assumptions, namely the existence of involutions/daggers and kernels. The resulting structures turn out to (1) encompass many examples of interest, such as categories of relations, partial inject ..."
Abstract

Cited by 9 (9 self)
 Add to MetaCart
This paper investigates quantum logic from the perspective of categorical logic, and starts from minimal assumptions, namely the existence of involutions/daggers and kernels. The resulting structures turn out to (1) encompass many examples of interest, such as categories of relations, partial injections, Hilbert spaces (also modulo phase), and Boolean algebras, and (2) have interesting categorical/logical/ordertheoretic properties, in terms of kernel fibrations, such as existence of pullbacks, factorisation, orthomodularity, atomicity and completeness. For instance, the Sasaki hook and andthen connectives are obtained, as adjoints, via the existentialpullback adjunction between fibres. 1
Graphbased logic and sketches I: The general framework. Available by web browser from http://www.cwru.edu/1/class/mans/math/pub/wells
, 1996
"... Sketches as a method of specification of mathematical structures are an alternative to the stringbased specification employed in mathematical logic. ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
Sketches as a method of specification of mathematical structures are an alternative to the stringbased specification employed in mathematical logic.
Logic Programming in Tau Categories
 in Computer Science Logic '94 , LNCS 933
, 1995
"... Many features of current logic programming languages are not captured by conventional semantics. Their fundamentally nonground character, and the uniform way in which such languages have been extended to typed domains, subject to constraints, suggest that a categorical treatment of constraint domai ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
Many features of current logic programming languages are not captured by conventional semantics. Their fundamentally nonground character, and the uniform way in which such languages have been extended to typed domains, subject to constraints, suggest that a categorical treatment of constraint domains, of programming syntax and of semantics may be closer in spirit to what declarative programming is really about, than conventional settheoretic semantics. We generalize the notion of a (manysorted) logic program and of a resolution proof, by defining them both over a (not necessarily free) category C , a category with products enriched with a mechanism for canonically manipulating nary relations [8]. Computing over this domain includes computing over the Herbrand Universe, and over equationally presented constraint domains as special cases. We give a categorical treatment of the fixpoint semantics of Kowalski and van Emden, which establishes completeness in a very general setting. 1 In...
Classifying Toposes for First Order Theories
 Annals of Pure and Applied Logic
, 1997
"... By a classifying topos for a firstorder theory T, we mean a topos E such that, for any topos F , models of T in F correspond exactly to open geometric morphisms F ! E . We show that not every (infinitary) firstorder theory has a classifying topos in this sense, but we characterize those which ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
By a classifying topos for a firstorder theory T, we mean a topos E such that, for any topos F , models of T in F correspond exactly to open geometric morphisms F ! E . We show that not every (infinitary) firstorder theory has a classifying topos in this sense, but we characterize those which do by an appropriate `smallness condition', and we show that every Grothendieck topos arises as the classifying topos of such a theory. We also show that every firstorder theory has a conservative extension to one which possesses a classifying topos, and we obtain a Heytingvalued completeness theorem for infinitary firstorder logic.
Towards Semantics of SelfAdaptive Software
, 2000
"... When people perform computations, they routinely monitor their results, and try to adapt and improve their algorithms when a need arises. The idea of selfadaptive software is to implement this common facility of human mind within the framework of the standard logical methods of software engineering ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
When people perform computations, they routinely monitor their results, and try to adapt and improve their algorithms when a need arises. The idea of selfadaptive software is to implement this common facility of human mind within the framework of the standard logical methods of software engineering. The ubiquitous practice of testing, debugging and improving programs at the design time should be automated, and established as a continuing run time routine. Technically, the task thus requires combining functionalities of automated software development tools and of runtime environments. Such combinations lead not just to challenging engineering problems, but also to novel theoretical questions. Formal methods are needed, and the standard techniques do not suffice. As a first contribution in this direction, we present a basic mathematical framework suitable for describing selfadaptive software at a high level of semantical abstraction. A static view leads to a structure akin...