Results 1 
5 of
5
Categorical Term Rewriting: Monads and Modularity
 University of Edinburgh
, 1998
"... Term rewriting systems are widely used throughout computer science as they provide an abstract model of computation while retaining a comparatively simple syntax and semantics. In order to reason within large term rewriting systems, structuring operations are used to build large term rewriting syste ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
Term rewriting systems are widely used throughout computer science as they provide an abstract model of computation while retaining a comparatively simple syntax and semantics. In order to reason within large term rewriting systems, structuring operations are used to build large term rewriting systems from smaller ones. Of particular interest is whether key properties are modular, thatis,ifthe components of a structured term rewriting system satisfy a property, then does the term rewriting system as a whole? A body of literature addresses this problem, but most of the results and proofs depend on strong syntactic conditions and do not easily generalize. Although many specific modularity results are known, a coherent framework which explains the underlying principles behind these results is lacking. This thesis posits that part of the problem is the usual, concrete and syntaxoriented semantics of term rewriting systems, and that a semantics is needed which on the one hand elides unnecessary syntactic details but on the other hand still possesses enough expressive power to model the key concepts arising from
Representations, Hierarchies, and Graphs of Institutions
, 1996
"... For the specification of abstract data types, quite a number of logical systems have been developed. In this work, we will try to give an overview over this variety. As a prerequisite, we first study notions of {\em representation} and embedding between logical systems, which are formalized as {\em ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
For the specification of abstract data types, quite a number of logical systems have been developed. In this work, we will try to give an overview over this variety. As a prerequisite, we first study notions of {\em representation} and embedding between logical systems, which are formalized as {\em institutions} here. Different kinds of representations will lead to a looser or tighter connection of the institutions, with more or less good possibilities of faithfully embedding the semantics and of reusing proof support. In the second part, we then perform a detailed ``empirical'' study of the relations among various wellknown institutions of total, ordersorted and partial algebras and firstorder structures (all with Horn style, i.e.\ universally quantified conditional, axioms). We thus obtain a {\em graph} of institutions, with different kinds of edges according to the different kinds of representations between institutions studied in the first part. We also prove some separation results, leading to a {\em hierarchy} of institutions, which in turn naturally leads to five subgraphs of the above graph of institutions. They correspond to five different levels of expressiveness in the hierarchy, which can be characterized by different kinds of conditional generation principles. We introduce a systematic notation for institutions of total, ordersorted and partial algebras and firstorder structures. The notation closely follows the combination of features that are present in the respective institution. This raises the question whether these combinations of features can be made mathematically precise in some way. In the third part, we therefore study the combination of institutions with the help of socalled parchments (which are certain algebraic presentations of institutions) and parchment morphisms. The present book is a revised version of the author's thesis, where a number of mathematical problems (pointed out by Andrzej Tarlecki) and a number of misuses of the English language (pointed out by Bernd KriegBr\"uckner) have been corrected. Also, the syntax of specifications has been adopted to that of the recently developed Common Algebraic Specification Language {\sc Casl} \cite{CASL/Summary,Mosses97TAPSOFT}.
Sketches: Outline with References
 Dept. of Computer Science, Katholieke Universiteit Leuven
, 1994
"... This document is an outline of the theory of sketches with pointers to the literature. An extensive bibliography is given. Some coverage is given to related areas such as algebraic theories, categorial model theory and categorial logic as well. An appendix beginning on page 11 provides definitions o ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This document is an outline of the theory of sketches with pointers to the literature. An extensive bibliography is given. Some coverage is given to related areas such as algebraic theories, categorial model theory and categorial logic as well. An appendix beginning on page 11 provides definitions of some of the less standard terms used in the paper, but the reader is expected to be familiar with the basic ideas of category theory. A rough machine generated index begins on page 21. I would have liked to explain the main ideas of all the papers referred to herein, but I am not familiar enough with some of them to do that. It seemed more useful to be inclusive, even if many papers were mentioned without comment. One consequence of this is that the discussions in this document often go into more detail about the papers published in North America than about those published elsewhere. The DVI file for this article is available by anonymous FTP from ftp.cwru.edu in the directory
3. Functional programming languages
"... A functional programming language has prImItIve data types with associated constants, and primitive operations. (Note the remarks in Section 3.1.4 concerning languages with variables.) It also has programforming operations, often called constructors, such as composition of operations, the formation ..."
Abstract
 Add to MetaCart
A functional programming language has prImItIve data types with associated constants, and primitive operations. (Note the remarks in Section 3.1.4 concerning languages with variables.) It also has programforming operations, often called constructors, such as composition of operations, the formation of record types, branching, and recursion. The language consists of the set of all operations and types derivable from the primitive data types and primitive operations by applying appropriate constructors. It is thus generated by the primitive operations and types in the presence of the constructors: a different choice of constructors would give a different language, even with the san1e choice of primitive types and operations.