OBJ3/Algebra Bibliography

Papers included herein are on many topics related to the OBJ family of systems, (hidden) (many) order-sorted algebras, category theory, and more.

@COMMENT{ $Id: obj_bib.html 19895 2011-03-02 11:19:21Z kiniry $ }
@COMMENT{ Copyright (C) Joseph R. Kiniry 1996-2000 }


@TechReport{AlencarGoguen91a,
author =       { Antonio J. Alencar and Joseph A. Goguen },
title =        { Two Examples in { OOZE } },
institution =  { Programming Research Group, Oxford University },
year =         1991,
number =       { PRG-TR-25-91 }
}


@InProceedings{AlencarGoguen91b,
author =       { Antonio Alencar and Joseph Goguen },
title =        { { OOZE }: An Object-Oriented { Z } Environment },
booktitle =    { Proceedings, European Conference on Object Oriented
Programming },
year =         1991,
volume =       512,
series =       lncs,
publisher =    pub-sv
}


@TechReport{AlencarGoguen92,
author =       { Antonio J. Alencar and Joseph A. Goguen },
title =        { { OOZE } with Examples },
institution =  { Programming Research Group, Oxford University },
year =         1992,
number =       { PRG-TR-7-92 }
}


@InCollection{AndrekaNemeti81,
title =        { A General Axiomatizability Theorem Formulated In
Terms Of Cone-Injective Subcategories },
author =       { Hajnal Andr{\'e}ka and Istv{\'a}n N{\'e}meti },
booktitle =    { Universal Algebra },
editor =       { B.~Csakany and E.~Fried and E.T.~Schmidt },
year =         1981,
publisher =    { North-Holland },
pages =        { 13--35 },
note =         { Colloquia Mathematics Societas J{\'a}nos Bolyai, 29
}
}


@InProceedings{ArraisFiadeiro96,
title =        { Unifying Theories In Different Institutions },
author =       { M. Arrais and J.L. Fiadeiro },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Magne Haveraaen and Olaf Owe and Ole-Johan Dahl },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       1130,
pages =        { 81--101 },
year =         1996,
note =         { Proceedings of 11th Workshop on Specification of
Abstract Data Types. Oslo, Norway, September 1995 }
}


@InProceedings{AstesianoCerioli93,
title =        { Relationships Between Logical Frameworks },
author =       { Egidio Astesiano and Maura Cerioli },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Michel Bidoit and Christine Choppy },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       655,
pages =        {126--143 },
year =         1993
}


@Article{BanaschewskiHerrlich76,
title =        { Subcategories Defined By Implications },
author =       { Bernhard Banaschewski and Horst Herrlich },
journal =      { Houston Journal Mathematics },
volume =       2,
year =         1976,
pages =        { 149--171 }
}


@Book{Barendregt91,
author =       { H. P. Barendregt },
title =        { The Lambda Calculus },
publisher =    { North-Holland },
year =         { 1991 },
number =       { 103 },
series =       { Studies in Logic and the Foundations of Mathematics
},
address =      { Amsterdam },
edition =      { revised },
ISBN =         { 0-444-87508-5 },
}


@PhdThesis{Barros95,
author =       { Jos\'e Barros },
title =        { Semantics Of Non-Terminating Systems Through Term
Rewriting },
school =       { Oxford University },
year =         { 1995 },
number =       { TR-21-95 },
month =        aug,
abstract =     { This thesis is primarily concerned with the
algebraic semantics of non-terminating term
rewriting systems. The usual semantics for rewrite
system is based in interpreting rewrite rules as
equations and rewriting as a particular case of
equational reasoning. The termination of a rewrite
system ensures that every term has a value (normal
form). But, in general we cannot guarantee this. The
research that has been done on non-terminating
rewrite systems is centered on seeking semantics for
these systems where the usual properties of
confluent systems (like uniqueness of normal forms)
still hold. These approaches extend the original set
of terms (with infinite terms) in such a way that
every term has a value. We propose a new semantics
for rewrite systems based on interpreting rewrite
rules as in-equations between terms in an ordered
algebra. We show that a variant of equational logic
--- inequational logic --- is an institution and we
further prove that rewriting is a sound and complete
proof system for this logic. For the case of
confluent systems, we show that the algebra of
normal forms in a terminating system is a uniquely
minimal covering of the term algebra. In the
non-terminating case, the existence of this minimal
covering is established in the completion of an
ordered algebra formed by rewriting sequences. We
thus generalize the properties of normal forms for
non-terminating systems to this minimal
covering. These include the existence of normal
forms for arbitrary rewrite systems, and their
uniqueness for confluent systems, in which case the
algebra of normal forms is isomorphic to the
canonical quotient algebra associated with the rules
when seen as equations. This extends the benefits of
algebraic semantics to systems with
non-deterministic and non-terminating
computations. We first study properties of abstract
orders, and then instantiate these to term rewriting
systems. Furthermore, we review the theory of
rewriting systems without any restriction on the
form of the rules. In this review we include a
comparison between several definitions of concurrent
rewriting. }
}


@TechReport{BarrosGoguen95,
author =       { Jos\'e Barros and Joseph A. Goguen },
title =        { Semantics Of Non-Terminating Rewrite Systems Using
Minimal Coverings},
institution =  { Programming Research Group, Oxford University },
year =         1995,
number =       { PRG-118 },
abstract =     { We propose a new semantics for rewrite systems
based on interpreting rewrite rules as inequations
between terms in an ordered algebra. In particular,
we show that the algebra of normal forms in a
terminating system is a uniquely minimal covering of
the term algebra. In the non-terminating case, the
existence of this minimal covering is established in
the completion of an ordered algebra formed by
rewriting sequences. We thus generalize the
properties of normal forms for non-terminating
systems to this minimal covering. These include the
existence of normal forms for arbitrary rewrite
systems, and their uniqueness for confluent systems,
in which case the algebra of normal forms is
isomorphic to the canonical quotient algebra
associated with the rules when seen as
equations. This extends the benefits of algebraic
semantics to systems with non-deterministic and
non-terminating computations. We first study
properties of abstract orders, and then instantiate
these to term rewriting systems. }
}


@Article{BattistonBottiCrivelli1995,
author =       { Battiston, E. and Botti, O. and Crivelli, E. and
DeCindio, F. },
title =        { An Incremental Specification Of A Hydroelectric
Power Plant Control System Using A Class Of Modular
Algebraic Nets },
journal =      { Application And Theory Of Petri Nets 1995 },
volume =       { 935 },
year =         { 1995 },
pages =        { 84--102 }
}


@Article{BattistonDecindioMauri1996,
author =       { Battiston, E. and DeCindio, F. and Mauri, G. },
title =        { Modular Algebraic Nets To Specify Concurrent
Systems },
journal =      ieee-tose,
volume =       { 22 },
number =       { 10 },
year =         { 1996 },
pages =        { 689--705 }
}


@Article{BergstraHeeringKlint90,
title =        { Module Algebra },
author =       { Jan Bergstra and Jan Heering and Paul Klint },
journal =      { Journal of the Association for Computing Machinery
},
volume =       37,
number =       2,
pages =        { 335--372 },
year =         1990
}


@InCollection{BergstraTucker80,
title =        { Characterization Of Computable Data Types By Means
Of A Finite Equational Specification Method },
author =       { Jan Bergstra and John Tucker },
booktitle =    { Automata, Languages and Programming, Seventh
Colloquium },
location =     { Noordwijkerhout, the Netherlands },
publisher =    { Springer },
year =         1980,
editor =       { Jaco de Bakker and Jan van Leeuwen },
pages =        { 76--90 },
note =         { Lecture Notes in Computer Science, Volume 81 }
}


@Article{BernotBidoitKnapik95,
author =       { Gilles Bernot and Michael Bidoit and Teodor Knapik
},
title =        { Observational Specifications And The
Indistinguishability Assumption },
journal =      { Theoretical Computer Science },
volume =       139,
number =       { 1-2 },
pages =        { 275--314 },
year =         1995
}


@InCollection{BerregebBouhoulaRusinowitch98,
author =       { Narjes Berregeb and Adel Bouhoula and
Micha$\ddot{\rm e}$l Rusinowitch },
title =        { Observational Proofs With Critical Contexts },
booktitle =    { Fundamental Approaches to Software Engineering },
publisher =    { Springer-Verlag },
volume =       { 1382 },
series =       { Lecture Notes in Computer Science },
year =         { 1998 },
pages =        { 38-53 }
}


@Article{BidoitHennicker96,
author =       { Michael Bidoit and Rolf Hennicker },
title =        { Behavioral Theories And The Proof Of Behavioral
Properties },
journal =      { Theoretical Computer Science },
volume =       165,
number =       1,
pages =        { 3--55 },
year =         1996
}


@Article{BidoitHennicker98,
title =        { Modular Correctness Proofs Of Behavioural
Implementations },
author =       { Michael Bidoit and Rolf Hennicker },
journal =      { Acta Informatica },
volume =       35,
number =       11,
pages =        { 951--1005 },
year =         { 1998 },
}


@InCollection{BidoitHennicker99,
title =        { Observer Complete Definitions Are Behaviourally
Coherent },
author =       { Michael Bidoit and Rolf Hennicker },
editor =       { Kokichi Futatsugi and Joseph A. Goguen and Jos\'e
Meseguer },
booktitle =    { { OBJ }/{ CafeOBJ }/Maude At Formal Methods '99 },
publisher =    { Theta },
note =         { Proceedings of a workshop held in Toulouse, France,
20th and 22nd September 1999 },
year =         1999,
pages =        { 83--94 }
}


@Article{Birkhoff35,
title =        { On The Structure Of Abstract Algebras },
author =       { Garrett Birkhoff },
year =         1935,
journal =      { Proceedings of the Cambridge Philosophical Society
},
volume =       31,
pages =        { 433--454 }
}


@Book{Birkhoff67,
key =          { Birkhoff },
author =       { Garrett Birkhoff },
title =        { Lattice Theory },
publisher =    { American Mathematical Society },
year =         { 1967 },
volume =       { 25 },
series =       { American Mathematical Societ Colloquium
Publications },
address =      { New York, N.Y. },
edition =      { Third edition },
annote =       { Many references. },
}


@PhdThesis{Borba95,
author =       { Paulo Borba },
title =        { Semantics And Refinement For A Concurrent Object
Oriented Language },
school =       { Oxford University },
year =         1995,
note =         { { FOOPS } related. }
}


@InProceedings{BorbaGoguen94,
author =       { Paulo Borba and Joseph A. Goguen },
title =        { An Operational Semantics For {FOOPS} },
booktitle =    { Proceedings, International Workshop on Information
Systems --- Correctness and Reusability,
{IS-CORE'94}},
year =         1994,
editor =       { Roel Wieringa and Remco Feenstra },
note =         { Published as Technical Report IR-357, Vrije
Universiteit, Amsterdam, September, 1994. A longer
version appears as a Technical Monograph PRG-115,
Oxford University Computing Laboratory, November,
1994 },
read =         { 2-10-00 },
reviewed =     { 2-10-00 },
review =       { A discussion of the full formal semantics of FOOPS
at the object level together with the introduction
of several new constructs (concurrency, background,
private access, etc.). }
}


@TechReport{BorbaGoguen94a,
author =       { Paulo Borba and Joseph A. Goguen },
title =        { An Operational Semantics for {FOOPS}: Extended
Abstract },
institution =  { Programming Research Group, Oxford University },
year =         1994,
number =       { PRG-TR-16-94 },
month =        nov,
abstract =     { FOOPS is a concurrent object-oriented language. We
give a structural operational semantics for FOOPS,
considering features such as classes of objects with
associated methods and attributes, object identity,
dynamic object creation and deletion, overloading,
polymorphism, inheritance with overriding,
concurrency, nondeterminism, atomic execution,
evaluation of expressions as background processes,
and object protection. }
}


@TechReport{BorbaGoguen94b,
author =       { Paulo Borba and Joseph A. Goguen },
title =        { On Refinement and {FOOPS} },
institution =  { Programming Research Group, Oxford University },
year =         1994,
number =       { PRG-TR-17-94 },
month =        nov,
abstract =     { FOOPS is a concurrent object-oriented
language. Based on FOOPS operational semantics, we
define a notion of refinement, and an associated
proof technique. The use of refinement for stepwise
formal development of programs in FOOPS is
illustrated by examples involving memory cells, and
different implementations of buffers. }
}


@TechReport{BorbaGoguen95,
author =       { Paulo Borba and Joseph A. Goguen },
title =        { Refinement Of Concurrent Object Oriented Programs },
institution =  { Programming Research Group, Oxford University },
year =         1995,
number =       { PRG-TR-18-95 },
month =        nov,
abstract =     { FOOPS is a concurrent object oriented
language. Based on FOOPS operational semantics, we
introduce a notion of refinement for states of FOOPS
systems together with a proof technique for proving
refinement. Using this notion, we define refinement
of FOOPS (method) expressions and programs. Although
we focus on FOOPS, our definition of refinement is
independent of this language. We also illustrate the
use of refinement for stepwise formal development of
programs in FOOPS. Based on that, we give an overall
evaluation of our approach and comment on
alternative approaches for the refinement of
concurrent object oriented programs, concluding that
none of them provide both a general definition of
refinement and an effective proof technique such as
the one presented here. },
read =          { 2-X-00 },
reviewed =      { 2-X-00 },
review =        { }
}


@Article{BuchananBritton1992,
author =       { Buchanan, M. and Britton, C. },
title =        { Formal Specification And Object-Oriented Design },
journal =      { Microprocessing And Microprogramming },
volume =       { 34 },
number =       { 1-5 },
year =         { 1992 },
pages =        { 19--22 }
}


@TechReport{BurstallDiaconescu92,
author =       { Rod Burstall and R\u{a}zvan Diaconescu },
title =        { Hiding Sorts in Institutions },
institution =  { Programming Research Group, Oxford University },
year =         1992,
month =        apr
}


@InCollection{BurstallDiaconescu94,
title =        { Hiding And Behaviour: An Institutional Approach },
author =       { Rod Burstall and R\u{a}zvan Diaconescu },
booktitle =    { A Classical Mind: Essays in Honour of C.A.R.~Hoare
},
editor =       { A.~William Roscoe },
publisher =    { Prentice-Hall },
pages =        { 75--92 },
year =         1994,
note =         { Also Technical Report ECS-LFCS-8892-253, Laboratory
for Foundations of Computer Science, University of
Edinburgh, 1992 }
}


@InProceedings{BurstallGoguen82,
author =       {Rod Burstall and Joseph Goguen},
title =        {Algebras, Theorie and Freeness: An Introduction for
Computer Scientists},
booktitle =    {Theoretical Foundations of Programming Methodology},
pages =        {329--350},
year =         1982,
editor =       {Martin Wirsing and Gunther Schmidt},
volume =       {C91},
series =       {1981 Marktoberdorf {NATO} Summer School, {NATO}
Advanced Study Institute Series},
publisher =    {Reidel}
}


@Article{Cazanescu72,
title =        { Familles Initiales Et Finales },
author =       { Virgil Emil C\u{a}z\u{a}nescu },
journal =      { Revue Roumaine de Mathematiques et Appliques },
year =         1972,
volume =       17,
number =       6
}


@InCollection{Cazanescu93,
title =        { Local Equational Logic },
author =       { Virgil Emil C\u{a}z\u{a}nescu },
year =         1993,
booktitle =    { Proceedings, 9th International Conference on
Fundamentals of Computation Theory FCT'93 },
editor =       { Zoltan Esik },
publisher =    { Springer-Verlag },
pages =        { 162--170 },
note =         { Lecture Notes in Computer Science, Volume 710 }
}


@InCollection{Cazanescu94,
title =        { Local Equational Logic 2 },
author =       { Virgil Emil C\u{a}z\u{a}nescu },
year =         1994,
booktitle =    { Developments in Language Theory: At The Crossroads
of Mathematics, Computer Science and Biology },
editor =       { G. Rosenberg and A. Saloma },
publisher =    { World Scientific },
pages =        { 210-221 }
}


@Article{CazanescuRosu97,
title =        { Weak Inclusion Systems },
author =       { Virgil Emil C\u{a}z\u{a}nescu and Grigore Ro\c{s}u
},
pages =        { 195--206 },
journal =      { Mathematical Structures in Computer Science },
year =         1997,
volume =       7,
number =       2
}


@Article{CazanescuStef91,
title =        { Classes Of Finite Relations As Initial Abstract
Data Types 1 },
author =       { Virgil Emil C\u{a}z\u{a}nescu and Gheorghe \c
Stefanescu },
journal =      { Discrete Mathematics },
year =         1991,
volume =       90,
pages =        { 233-265 }
}


@Article{CazanescuStef94,
title =        { Classes Of Finite Relations As Initial Abstract
Data Types 2 },
author =       { Virgil Emil C\u{a}z\u{a}nescu and Gheorghe \c
Stefanescu },
journal =      { Discrete Mathematics },
year =         1994,
volume =       126,
pages =        { 47-65 }
}


@phdthesis{Cerioli93,
title =        { Relationships Between Logical Frameworks },
author =       { Maura Cerioli },
year =         1993,
school =       { Universities of Genova, Pisa and Udine }
}


@Article{CerioliMeseguer97,
title =        { May I Borrow Your Logic? (Transporting Logical
Structures Along Maps) },
author =       { Maura Cerioli and Jos{\'e} Meseguer },
year =         1997,
journal =      { Theoretical Computer Science },
volume =       173,
number =       2,
pages =        { 311--347 }
}


@Book{ChangKeisler73,
title =        { Model Theory },
author =       { C. C. Chang and H. J. Keisler },
year =         1973,
publisher =    { North Holland, Amsterdam }
}


@TechReport{Cirstea95,
author =       { Corina C{\^\i}rstea },
title =        { A Distributed Semantics For {FOOPS}},
institution =  { Programming Research Group, Oxford University },
year =         1995,
month =        jun,
number =       { PRG-TR-20-95 },
abstract =     { FOOPS is a concurrent object-oriented specification
language for which an operational semantics has been
provided. This paper gives an equivalent distributed
semantics which describes how FOOPS objects
co-operate in evaluating a program. The distributed
semantics is presented using transition systems. We
relate transition systems and sheaves to also give a
sheaf-theoretic semantics. By implementing the
distributed semantics in Eqlog, we obtain a FOOPS
simulator. Thus, our distributed semantics is both
axiomatic and executable. }
}


@Misc{Cirstea96,
author =       { Corina C{\^\i}rstea },
title =        { A Semantical Study Of The Object Paradigm },
note =         { Thesis submitted for transfer to DPhil status,
Oxford University, 1996 }
}


@InCollection{Cirstea97,
editor =       { F. Parisi-Presicce },
author =       { Corina C{\^\i}rstea },
title =        { Coalgebra Semantics For Hidden Algebra:
Parameterized Objects And Inheritance },
booktitle =    { Recent Trends in Algebraic Development Techniques },
publisher =    { Springer },
volume =       { 1376 },
series =       { Lecture Notes in Computer Science },
year =         { 1998 }
}


@InProceedings{Cirstea99,
title =        { A Coequational Approach To Specifying Behaviours },
author =       { Corina C{\^\i}rstea },
booktitle =    { Proceedings of the Second Workshop on Coalgebraic
Methods in Computer Science (CMCS'99), Amsterdam,
The Netherlands, March 1999 },
publisher =    { Elsevier Science },
volume =       19,
editor =       { Bart Jacobs and Jan Rutten },
series =       { Electronic Notes in Theoretical Computer Science },
year =         1999
}


@Article{Clark85,
author =       { David Clark },
title =        { The Structuring Of Systems Using Upcalls },
pages =        { 171--180 },
journal =      { SIGOPS (Special Interest Group on Operating
Systems) },
volume =       { 19 },
number =       { 5 },
month =        dec,
year =         { 1985 }
}


@TechReport{Corradini97,
author =       { Andrea Corradini },
title =        { A Complete Calculus For Equational Deduction In
Coalgebraic Specification },
year =         1997,
institution =  { CWI },
number =       { SEN-R9723, ISSN 1386-396X }
}


@Article{Craig57,
title =        { Linear Reasoning. A New Form Of The
Herbrand-Gentzen Theorem },
author =       { W. Craig },
journal =      { Journal of Symbolic Logic },
volume =       22,
year =         1957,
pages =        { 250--268 }
}


@Misc{DiaconFutatsugi99,
title =        { Logical Foundations Of { CafeOBJ } },
author =       { R\u{a}zvan Diaconescu and Kokichi Futatsugi },
year =         1999,
note =         { Submitted to Theoretical Computer Science. }
}


@Article{Diaconescu1998,
author =       { Diaconescu, R\u{a}zvan },
title =        { Extra Theory Morphisms For Institutions: Logical
Semantics For Multi-Paradigm Languages },
journal =      { Applied Categorical Structures },
volume =       { 6 },
number =       { 4 },
year =         { 1998 },
pages =        { 427--453 }
}


@TechReport{Diaconescu90,
author =       { R\u{a}zvan Diaconescu },
title =        { The Logic Of {H}orn clauses is equational },
year =         1990,
institution =  { Programming Research Group, Oxford University },
number =       { PRG-TR-3-93 }
}


@phdthesis{Diaconescu94,
title =        { Category-Based Semantics For Equational And
Constraint Logic Programming },
author =       { R\u{a}zvan Diaconescu },
year =         1994,
school =       { Oxford University },
note =         { Original Eqlog work. }
}


@TechReport{Diaconescu96,
title =        { Completeness Of Semantic Paramodulation: A
Category-Based Approach },
author =       { R\u{a}zvan Diaconescu },
year =         1996,
institution =  { Japan Advanced Institute for Science and Technology
},
number =       { IS-RR-96-0006S }
}


@Misc{Diaconescu96b,
title =        { Behavioral Rewriting Logic: Semantic Foundations
And Proof Theory },
author =       { R\u{a}zvan Diaconescu },
year =         1996,
month =        { October },
journal =      { Journal of Computer and System Sciences },
note =         { Submitted for publication. }
}


@Article{Diaconescu96c,
title =        { Category-Based Modularization For Equational Logic
Programming },
author =       { R\u{a}zvan Diaconescu },
journal =      { Acta Informatica },
volume =       33,
number =       5,
pages =        { 477--510 },
year =         1996
}


@InProceedings{Diaconescu96d,
title =        { A Category-Based Equational Logic Semantics To
Constraint Programming },
author =       { R\u{a}zvan Diaconescu },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Magne Haveraaen and Olaf Owe and Ole-Johan Dahl },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       1130,
pages =        { 200--221 },
year =         1996,
note =         { Proceedings of 11th Workshop on Specification of
Abstract Data Types. Oslo, Norway, September 1995 }
}


@InProceedings{Diaconescu96e,
title =        { Foundations Of Behavioral Specification In
Rewriting Logic },
author =       { R\u{a}zvan Diaconescu },
booktitle =    { Proceedings, First International Workshop on
Rewriting Logic and its Applications },
publisher =    { Elsevier Science },
volume =       4,
series =       { Electronic Notes in Theoretical Computer Science },
note =         { Asilomar, California },
year =         1996
}


@InProceedings{Diaconescu96f,
title =        { Logical Semantics For { CafeOBJ } },
author =       { R\u{a}zvan Diaconescu and Kokichi Futatsugi },
booktitle =    { Precise Semantics for Software Modeling Techniques
},
year =         1998,
publisher =    { Proceedings of an ICSE'98 workshop held in Kyoto,
Japan, published as Technical Report TUM-I9803,
Technical University Munchen },
pages =        { 31--54 },
note =         { Preliminary version appeared as Technical Report
IS-RR-96-0024S at Japan Advanced Institute for
Science and Technology in 1996. }
}


@Misc{Diaconescu96g,
title =        { Constraint Logics },
author =       { R\u{a}zvan Diaconescu },
year =         1996,
month =        { December },
journal =      { Mathematical Structures in Computer Science },
note =         { Submitted for publication. }
}


@TechReport{Diaconescu98a,
author =       { R\u{a}zvan Diaconescu },
title =        { Behavioral Coherence In Object-Oriented Algebraic
Specification },
year =         1998,
number =       { IS--RR--98--0017F },
month =        { June },
institution =  { Japan Advanced Institute for Science and Technology
},
note =         { Submitted for publication }
}


@TechReport{Diaconescu98b,
author =       { R\u{a}zvan Diaconescu and Petros Stefaneas },
title =        { Categorical Foundations Of Modularization For
Multi-Paradigm Languages },
institution =  { Japan Advanced Institute for Science and Technology
},
year =         1998,
number =       { IS-RR-98-0014F }
}


@Book{DiaconescuFutatsugi98,
author =       { R\u{a}zvan Diaconescu and Kokichi Futatsugi },
title =        { { CafeOBJ } Report: The Language, Proof Techniques,
and Methodologies for Object-Oriented Algebraic
Specification },
year =         1998,
publisher =    { World Scientific },
note =         { AMAST Series in Computing, volume 6 }
}


@InCollection{DiaconescuGoguenStefaneas93,
author =       { R\u{a}zvan Diaconescu and Joseph A. Goguen and
Petros Stefaneas },
title =        { Logical Support For Modularization },
booktitle =    { Logical Environments },
editor =       { Gerard Huet and Gordon Plotkin },
publisher =    { Cambridge },
pages =        { 83--130 },
year =         1993
}


@Article{DoakeBrittonMitchell1992,
author =       { Doake, J. and Britton, C. and Mitchell, R. },
title =        { Strange Bedfellows --- Abstract-Data-Types And
Dbase { Iii }},
journal =      { Information And Software Technology },
volume =       { 34 },
number =       { 2 },
year =         { 1992 },
pages =        { 83--90 }
}


@Book{EhrigMahr85,
Title =        { Fundamentals Of Algebraic Specification 1:
Equations And Initial Semantics },
author =       { Hartmut Ehrig and Bernd Mahr },
year =         1985,
publisher =    { Springer },
note =         { EATCS Monographs on Theoretical Computer Science,
Volume 6 }
}


@TechReport{EhrigOrejasEtal93,
author =       { Hartmut Ehrig and Fernando Orejas and Felix
Cornelius and Michael Baldamus },
title =        { Abstract And Behaviour Module Specifications },
institution =  { Technische Universit{\"a}t Berlin },
number =       { Technical Report 93-25 },
year =         1993
}


@InCollection{FiadeiroSernadas88,
author =       { Jos\'e Fiadeiro and Amilcar Sernadas },
title =        { Structuring Theories On Consequence },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Donald Sannella and Andrzej Tarlecki },
publisher =    { Springer },
note =         { Lecture Notes in Computer Science, Volume 332 },
year =         1988,
pages =        { 44--72 }
}


@Article{GallimoreColemanStavridou1989,
author =       { Gallimore, { R.M. } and Coleman, D. and Stavridou,
V.},
title =        { Umist { OBJ } - A Language For Executable Program
Specifications },
journal =      { Computer Journal },
volume =       { 32 },
number =       { 5 },
year =         { 1989 },
pages =        { 413--421 }
}


@TechReport{GaudelPrivara91,
author =       { Marie-Claude Gaudel and Igor Privara },
title =        { Context Induction: An Exercise },
institution =  { LRI, Universit\'{e} de Paris-Sud },
number =       { 687 },
year =         1991
}


@Article{Gnaedig1992,
author =       { Gnaedig, I. },
title =        { Elios-{ OBJ } --- Theorem-Proving In A Specification
Language },
journal =      lncs,
volume =       { 582 },
year =         { 1992 },
pages =        { 182--199 }
}


@Book{Goguen00,
author =       { Joseph A. Goguen },
title =        { Theorem Proving And Algebra },
publisher =    pub-mit,
year =         2000,
note =         { In preparation. }
}


@InCollection{Goguen75,
author =       { Joseph A. Goguen },
title =        { Semantics Of Computation },
year =         1975,
booktitle =    { Proceedings, First International Symposium on
Category Theory Applied to Computation and Control },
editor =       { Ernest Manes },
publisher =    { Springer },
pages =        { 151--163 },
note =         { (San Fransisco, February 1974.) Lecture Notes in
Computer Science, Volume 25 }
}


@TechReport{Goguen78,
title =        { Order Sorted Algebra },
author =       { Joseph A. Goguen },
year =         1978,
number =       { 14 },
institution =  { UCLA Computer Science Department },
note =         { Semantics and Theory of Computation Series }
}


@InBook{Goguen89-Algebra,
author =       { Joseph A. Goguen },
editor =       { Maurice Nivat and Hassan Ait-Kaci },
title =        { Resolution of Equations in Algebraic Structures,
Volume 1: Algebraic Techniques },
chapter =      { What is Unification: A Categorical View of
Substitution, Equation and Solution },
publisher =    pub-ap,
year =         1989,
pages =        { 217--261 }
}


@TechReport{Goguen89-Category,
author =       { Joseph A. Goguen },
title =        { A Categorical Manifesto },
institution =  { Programming Research Group, Oxford University },
year =         { 1989 },
month =        mar,
number =       { PRG-72 },
abstract =     { This informal paper tries to motivate the use of
category theory in computing science by giving
heuristic guidelines for applying five basic
categorical concepts: category, functor, natural
transformation, adjoint, and colimit. Several
examples and some general discussion are given for
each concept, and a number of references are cited,
although no attempt has been made for
completeness. Some additional categorical concepts
and suggestions for further research are also
mentioned. The paper concludes with a brief
discussion of some implications for foundations. }
}


@InBook{Goguen89-Param,
author =       { Joseph Goguen },
editor =       { Ted Biggerstaff and Alan Perlis },
title =        { Software Reusability, Volume I: Concepts and Models
},
chapter =      { Principles of Parameterized Programming },
publisher =    pub-aw,
year =         1989,
pages =        {159--225}
}


@TechReport{Goguen90-Four,
author =       { Joseph A. Goguen },
title =        { Four Pieces on Error, Truth and Reality },
institution =  { Programming Research Group, Oxford University },
year =         1990,
number =       { PRG-89 },
month =        oct,
abstract =     { This monograph consists of four papers on social
and philosophical aspects of computing. The first,
third and fourth were written for the book Software
Development and Reality Construction, which grew out
of an interdisciplinary conference held in Schloss
Eringerfeld, Germany, in September of 1988. The
second was written as a position paper for the
conference Formal Methods 89 which was held in
Halifax, Nova Scotia in July of 1989. The first
paper is concerned with the role of errors in
computing, and in particular, with the regrettable
tendency within some schools of Formal Methods to
claim that errors can and should play no role at
all. The second paper is largely concerned with
philosophical aspects of Formal Methods, and in
particular with the recent controversies about
whether computing systems can be "proved correct,"
and indeed, with what we mean by "proved" and by
"correct," and how such mathematical concepts
connect with the real world. The third paper goes
somewhat deeper into certain philosophical problems
about meaning and truth. It contrasts the "modern"
formalist position of the logical positivists like
Carnap with the views of Heidegger and
Wittgenstein. This has serious consequences for our
understanding of correctness problems in
computing. The fourth paper takes us somewhat
further afield. It is an attempt to connect the
process of interpretation with the philosophy of
Buddhist meditation. }
}


@InBook{Goguen90-HOP,
author =       { Joseph Goguen },
editor =       { David Turner },
title =        { Research Topics in Functional Programming },
chapter =      { Higher-Order Functions Considered Unnecessary for
Higher-Order Programming },
publisher =    pub-aw,
year =         1990,
pages =        { 309--352 },
read =         { 1-00 },
reviewed =     { 2-9-00 },
review =       { A review of several more examples of HOP with
OBJ3. In particular, attention is paid to
parameterized modules *as* parameters, recursive
definitions over Nat, HOL abstraction of inductive
proofs, and parameterized views. },
note =         { Reviewed original version published as report from
PRG at Oxford and available on the web. }
}


@Article{Goguen91a,
author =       { Joseph A. Goguen },
title =        { Semantic Specifications For The Rewrite Rule
Machine },
journal =      lncs,
volume =       { 491 },
year =         { 1991 },
pages =        { 216--234 }
}


@Article{Goguen91b,
author =       { Joseph A. Goguen },
title =        { A Categorical Manifesto },
journal =      { Mathematical Structures in Computer Science },
year =         1991,
volume =       1,
number =       1,
pages =        { 49--67 }
}


@InCollection{Goguen91c,
title =        { Types as Theories },
author =       { Joseph A. Goguen },
booktitle =    { Topology and Category Theory in Computer Science },
editor =       { George Michael Reed and Andrew William Roscoe and
Ralph F. Wachter },
publisher =    { Oxford University },
year =         1991,
pages =        { 357--390 },
note =         { Proceedings of a Conference held at Oxford, June
1989 }
}


@TechReport{Goguen92,
author =       { Joseph A. Goguen },
title =        { The Dry and the Wet },
institution =  { Programming Research Group, Oxford University },
year =         { 1992 },
number =       { PRG-100 },
month =        mar,
abstract =     { This paper discusses the relationship between
formal, context insensitive information, and
informal, situated information, in the context of
Requirements Engineering; these opposite but
complementary aspects of information are called "the
dry" and "the wet". Requirements Engineering has a
strong need to reconcile the dry and the
wet. Following some background on the culture of
Computing Science, the paper describes some projects
in the Centre for Requirements and Foundations at
Oxford. These are: a taxonomy for Requirements
Engineering methods; applying techniques from
sociology and sociolinguistics to requirements
elicitation, and in particular, to determining the
values of an organisation. These projects draw on
ideas from ethnomethodology and Conversation
Analysis. The paper also demonstrates that
structures as dry as abstract data types occur in
the ordinary discourse of social groups. }
}


@InProceedings{Goguen97,
author =       { Joseph A. Goguen },
title =        { Stretching First Order Equational Logic: Proofs
about Partiality using Subsorts and Retracts },
booktitle =    { Proceedings, International Workshop on First Order
Theorem Proving },
year =         1997,
address =      { Schloss Hagenbert, Austria },
month =        oct
}


@InProceedings{Goguen99,
author =       { Joseph A. Goguen },
title =        { An Introduction To Algebraic Semiotics, With
Applications To User Interface Design },
booktitle =    { Computation for Metaphor, Analogy and Agents },
pages =        { 242--291 },
year =         1999,
editor =       { Chrystopher Nehaniv },
volume =       1562,
series =       { Springer Lecture Notes in Artificial Intelligence },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/as.ps.gz },
summary =      { This is the basic paper on algebraic semiotics,
with 3/2-categories, 3/2-colimits, and many
examples, especially from user interface design. }
}


@Article{Goguen99a,
author =       { Joseph A. Goguen },
title =        { Social And Semiotic Analyses For Theorem Prover
User Interface Design },
journal =      { The Computer Journal },
year =         1999,
month =        jun,
url =          { https://www-cse.ucsd.edu/users/goguen/ps/uitp.ps.gz
},
summary =      { A systematic justification of the style guidelines
for proof websites generated by Kumo, based on
algebraic semiotics, narratology, cognitive science,
etc. }
}


@InProceedings{Goguen99c,
author =       { Joseph A. Goguen },
title =        { Hidden Algebra For Software Engineering },
booktitle =    { Combinatorics, Computation and Logic, Proceedings,
Conference on Discrete Mathematics and Theoretical
Computer Science },
pages =        { 35--59 },
year =         1999,
editor =       { Cristian Calude and Michael Dinneen },
volume =       21,
number =       3,
series =       { Australian Computer Science Communications },
address =      { University of Auckland, New Zealand },
month =        jan,
summary =      { A gentle introduction to hidden algebra, with
simple examples, much motivation, and some
history. },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/dmtcs.ps.gz
}
}


@InCollection{GoguenBurstall84,
title =        { Introducing Institutions },
author =       { Joseph A. Goguen and Rod Burstall },
booktitle =    { Proceedings, Logics of Programming Workshop },
editor =       { Edmund Clarke and Dexter Kozen },
year =         1984,
location =     { Carnegie-Mellon University },
publisher =    { Springer },
note =         { Lecture Notes in Computer Science, Volume 164 },
pages =        { 221--256 }
}


@Article{GoguenBurstall84a,
title =        { Some Fundamental Algebraic Tools For The Semantics
Of Computation, Part 1: Comma Categories, Colimits,
Signatures And Theories },
author =       { Joseph A. Goguen and Rod Burstall },
year =         1984,
journal =      { Theoretical Computer Science },
volume =       31,
number =       2,
pages =        { 175--209 }
}


@Article{GoguenBurstall84b,
title =        { Some Fundamental Algebraic Tools For The Semantics
Of Computation, Part 2: Signed And Abstract Theories
},
author =       { Joseph A. Goguen and Rod Burstall },
year =         1984,
journal =      { Theoretical Computer Science },
volume =       31,
number =       3,
pages =        { 263--295 }
}


@TechReport{GoguenBurstall85,
title =        { Institutions: Abstract Model Theory For Computer
Science },
author =       { Joseph A. Goguen and Rod Burstall },
year =         1985,
institution =  { Center for the Study of Language and Information,
Stanford University },
number =       { CSLI-85-30 }
}


@InCollection{GoguenBurstall86,
title =        { A Study In The Foundations Of Programming
Methodology: Specifications, Institutions, Charters
And Parchments },
author =       { Joseph A. Goguen and Rod Burstall },
booktitle =    { Proceedings, Conference On Category Theory And
Computer Programming },
editor =       { David Pitt and Samson Abramsky and Axel Poign\'e
and David Rydeheard },
location =     { University of Surrey, Guildford, U.K. },
publisher =    { Springer },
year =         1986,
pages =        { 313--333 },
note =         { Lecture Notes in Computer Science, Volume 240 }
}


@Article{GoguenBurstall92a,
title =        { Institutions: Abstract Model Theory For
Specification And Programming },
author =       { Joseph A. Goguen and Rod Burstall },
journal =      { Journal of the Association for Computing Machinery
},
volume =       39,
number =       1,
year =         1992,
month =        { January },
pages =        { 95--146 }
}


@Article{GoguenDiaconescu94,
title =        { An {O}xford Survey of Order Sorted Algebra },
author =       { Joseph A. Goguen and R\u{a}zvan Diaconescu },
journal =      { Mathematical Structures in Computer Science },
volume =       4,
year =         1994,
pages =        { 363--392 }
}


@InProceedings{GoguenDiaconescu94,
title =        { Towards An Algebraic Semantics For The Object
Paradigm },
author =       { Joseph A. Goguen and R\u{a}zvan Diaconescu },
booktitle =    { Proceedings, Tenth Workshop on Abstract Data Types
},
editor =       { Hartmut Ehrig and Fernando Orejas },
publisher =    { Springer },
year =         1994,
pages =        { 1--29 },
note =         { Lecture Notes in Computer Science, Volume 785 }
}


@TechReport{GoguenEtal89,
author =       { Joseph Goguen and Sany Leinwand and Jose Meseguer
and Timothy Winkler },
title =        { The Rewrite Rule Machine, 1988 },
institution =  { Programming Research Group, Oxford University },
year =         1989,
number =       { PRG-76 },
month =        aug,
abstract =     { This monograph consists of two papers which jointly
summarize research in the Rewrite Rule Machine (RRM)
Project as of about the end of 1988. Research in
this period focussed on two topics: the design of
very high level multi-paradigm programming
languages; and an architecture for executing such
languages using graph rewriting. The first paper,
"Software for the Rewrite Rule Machine," gives an
overview of RRM implementation techniques for
functional, relational ("logic"), and object
oriented languages, as well as for their
combinations. This paper is nearly the same as one
that appeared on pages 628-637 of the Proceedings of
the International Conference on Fifth Generation
Computer Systems, held in Toyko in November
1988. The languages are unusual because their
designs are based directly on logic, and nothing has
been allowed to compromise their basis in logic. The
second paper, "Cell, Tile and Ensemble Architecture
of the Rewrite Rule Machine," describes the quite
unconventional hierarchical architecture of a custom
VLSI chip, called a rewrite ensemble, which
processes data directly in memory, in SIMD mode. A
complete RRM consists of many independent rewrite
ensembles connected over a network. This paper is a
very substantial modification of one appearing on
pages 869-878 of the same Proceedings. }
}


@Article{GoguenKirchnerKirchner1988,
author =       { Joseph A. Goguen and Kirchner, C. and Kirchner,
H. and Megrelis, A. and Meseguer, J. and Winkler,
T. },
title =        { An Introduction To { OBJ }-3},
journal =      lncs,
volume =       { 308 },
year =         { 1988 },
pages =        { 258--263 }
}


@InProceedings{GoguenLinEtal97,
author =       { Joseph A. Goguen and Kai Lin and Akira Mori and
Grigore Ro\c{s}u and Akiyoshi Sato },
title =        { Distributed Cooperative Formal Methods Tools },
booktitle =    { Proceedings, Automated Software Engineering },
pages =        { 55--62},
year =         1997,
address =      { Lake Tahoe, NV },
month =        nov,
publisher =    { IEEE },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/ase97.ps.gz
},
summary =      { Overview of the Tatami project tools and methods,
including hidden algebra and algebraic semiotics,
with examples. }
}


@InProceedings{GoguenLinEtal98,
author =       { Joseph A. Goguen and Kai Lin and Akira Mori and
Grigore Ro\c{s}u },
title =        { Tools for Distributed Cooperative Engineering },
booktitle =    { Proceedings, { CafeOBJ } Symposium },
pages =        { 26--29 },
year =         1998,
address =      { Kyoto, Japan },
month =        apr,
url =          {
https://www-cse.ucsd.edu/users/goguen/ps/icse98.ps.gz
},
summary =      { Describes how the Tatami system and Kumo website
editor/proof assistant integrate formal and informal
methods of software development, in a distributed
cooperative environment. ProofWebs can contain scans
of envelope backs, diagrams, applets, as well as
fully formal subproofs. }
}


@InCollection{GoguenLinEtal98,
title =        { Tools For Distributed Cooperative Design And
Validation },
author =       { Joseph A. Goguen and Kai Lin and Akira Mori and
Grigore Ro\c{s}u and Akiyoshi Sato },
booktitle =    { Proceedings, { CafeOBJ } Symposium },
publisher =    { Japan Advanced Institute for Science and Technology
},
year =         1998,
note =         { Numazu, Japan, April 1998 }
}


@Book{GoguenMalcolm00,
editor =       { Joseph A. Goguen and Grant Malcolm },
title =        { Software Engineering With { OBJ }: Algebraic
Specification in Action },
publisher =    pub-klu,
year =         2000
}


@InBook{GoguenMalcolm00-HOP,
author =       { Joseph A. Goguen and Grant Malcolm },
editor =       { Joseph A. Goguen and Grant Malcolm },
title =        { Software Engineering With { OBJ }: Algebraic
Specification in Action },
chapter =      { More Higher Order Programming with { OBJ } },
publisher =    pub-klu,
year =         2000
}


@InCollection{GoguenMalcolm94,
title =        { Proof Of Correctness Of Object Representation },
author =       { Joseph A. Goguen and Grant Malcolm },
booktitle =    { A Classical Mind: Essays in Honour of C.A.R.~Hoare
},
editor =       { A. William Roscoe },
publisher =    { Prentice-Hall },
pages =        { 119--142 },
year =         1994
}


@Book{GoguenMalcolm96-ASoIP,
author =       { Joseph A. Goguen and Grant Malcolm },
title =        { Algebraic Semantics Of Imperative Programs },
publisher =    pub-mit,
year =         1996,
series =       { Foundations of Computing Series },
callno =       { QA76.7.G62 1996 }
}


@InCollection{GoguenMalcolm96-HA,
title =        { Extended Abstract Of A Hidden Agenda },
author =       { Joseph A. Goguen and Grant Malcolm },
booktitle =    { Proceedings, Conference on Intelligent Systems: A
Semiotic Perspective },
editor =       { James Albus and Alex Meystel and Richard Quintero },
publisher =    { National Inst.\ Standards and Technology },
year =         1996,
note =         { Gaithersberg MD, October 20--23 },
pages =        { 159--167 }
}


@Article{GoguenMalcolm97,
author =       { Joseph A. Goguen and Grant Malcolm },
title =        { A Hidden Agenda },
journal =      { Theoretical Computer Science },
note =         { Also UCSD Dept.\ Computer Science \& Eng.\
Technical Report CS97--538, May 1997 },
year =         { to appear 1999 }
}


@InBook{GoguenMalcolm99c,
author =       { Joseph A. Goguen and Grant Malcolm },
editor =       { Chrystopher Nehaniv and Masami Ito },
title =        { Theoretical Computer Science, Special Issue On
Algebraic Engineering },
chapter =      { A Hidden Agenda },
publisher =    pub-esp,
year =         1999,
summary =      { This is the basic paper on hidden algebra, treating
coinduction, nondeterminism, concurrency and more. },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/ha.ps.gz }
}


@Article{GoguenMalcolm99a,
author =       { Joseph A. Goguen and Grant Malcolm },
title =        { Hidden Coinduction },
journal =      { Mathematical Structures in Computer Science },
year =         { to appear 1999 }
}


@InBook{GoguenMalcolm99b,
author =       { Joseph A. Goguen and Grant Malcolm },
editor =       { G. Longo },
title =        { Mathematical Structures In Computer Science },
chapter =      { Hidden Coinduction },
publisher =    pub-cup,
year =         1999,
url =          { https://www-cse.ucsd.edu/users/goguen/ps/coind.ps.gz
},
summary =      { This is a sister paper to GoguenMalcolm99a. }
}


@Article{GoguenMalcolmKemp98,
author =       { Joseph A. Goguen and Grant Malcolm and Tom Kemp },
title =        { A Hidden Herbrand Theorem: Combining The Object,
Logic And Functional Paradigms },
journal =      { Electronic Journal of Functional and Logic
Programming },
year =         1998,
note =         { Original version of paper published in PLIP/ALP'98
as Principles of Declarative Programming },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/hherb.ps.gz
},
summary =      { Shows how to combine the logic and object paradigms
using hidden algebra with existential quantifiers. }
}


@InBook{GoguenMalcolm96,
author =       { Joseph A. Goguen and Grant Malcolm },
editor =       { Michael Hinchey and C. Nevill Dean },
title =        { Teaching And Learning Formal Methods },
chapter =      { An Executable Course in Algebraic Semantics of
Imperative Programs },
publisher =    pub-ap,
year =         1996,
pages =        { 161--179 },
read =         { 1-00 },
reviewed =     { 2-9-00 },
review =       { A summary of the teaching methodology at Oxford wrt
using OBJ. The examples are mainly taken from the
many other sets of examples of the same. Special
care is taken in section 4 to mention that OBJ is
only a notation, not a method or process. Also
metioned is the fact that teamwork and management
and social issues can dominate complex program
development. }
}


@Article{GoguenMeseguer85,
title =        { Completeness Of Many-Sorted Equational Logic },
author =       { Joseph A. Goguen and Jos\'e Meseguer },
year =         1985,
journal =      { Houston Journal of Mathematics },
volume =       11,
number =       3,
pages =        { 307--334 },
note =         { Preliminary versions have appeared in: {\it SIGPLAN
Notices}, July 1981, Volume 16, Number 7, pages
24--37; SRI Computer Science Lab, Report CSL-135,
May 1982; and Report CSLI-84-15, Center for the
Study of Language and Information, Stanford
University, September 1984 }
}


@InBook{GoguenMeseguer86,
author =       { Joseph Goguen and Jos\'e Meseguer },
editor =       { Douglas DeGroot and Gard Lindstrom },
title =        { Logic Programming: Functions, Relations and
Equations },
chapter =      { Eqlog: Equality, Types, and Generic Modules for
Logic Programming },
publisher =    pub-ph,
year =         1986,
pages =        { 295--363 },
note =         { Earlier version appears in Journal of Logic
Programming, Volume 1, Number 2, pages 179--210,
September 1984 }
}


@InProceedings{GoguenMeseguer87-Eqlog,
author =       { Joseph Goguen and Jos\'e Meseguer },
title =        { Models and Equality for Logical Programming },
booktitle =    { Proceedings, 1987 TAPSOFT },
pages =        { 1--22 },
year =         1987,
editor =       { Hartmut Ehrig and Giorgio Levi and Robert Kowalski
and Ugo Mont },
volume =       250,
series =       lncs,
publisher =    pub-sv
}


@InBook{GoguenMeseguer87-Foops,
author =       { Joseph Goguen and Jos\'e Meseguer },
editor =       { Bruce Shriver and Peter Wegner },
title =        { Research Directions in Object-Oriented Programming
},
chapter =      { Unifying Functional, Object-Oriented and Relational
Programming with Logical Semantics },
publisher =    pub-mit,
year =         1987,
pages =        { 417--477 },
note =         { Preliminary version in SIGPLAN Notices, Volume 21,
Number 10, pages 153--162, October 1986 }
}


@TechReport{GoguenMeseguer89,
author =       { Joseph Goguen and Jose Meseguer },
title =        { Order-Sorted Algebra I : Equational Deduction For
Multiple Inheritance, Overloading, Exceptions And
Partial Operations },
institution =  { Programming Research Group, Oxford University },
year =         1989,
number =       { PRG-80 },
month =        dec,
abstract =     { This paper generalizes many-sorted algebra
(hereafter, MSA) to order-sorted algebra (hereafter,
OSA) by alowing a partial ordering relation on the
set of sorts. This supports abstract data types with
multiple inheritance (in roughly the sense of
object-oriented programming), several forms of
polymorphism and overloading, partial operations (as
total on equationally defined subsorts), exception
handling, and an operational semantics based on term
rewriting. We give the basic algebraic constructions
for OSA, including Quotient, Homomorphism, and
Initiality Theorems. The paper's major mathematical
results include a notion of OSA deduction, a
Completeness Theorem for it, and an OSA Birkhoff
Variety Theorem. We also develop conditional OSA,
including Initiality, Completeness, and
McKinsey-Malcev Quasivariety Theorems, and we reduce
OSA to (conditional) MSA, which allows lifting many
known MSA results to OSA. Retracts, which
intuitively are left inverses to subsort inclusions,
provide relatively inexpensive run-time error
handling. We show that it is safe to add retracts to
any OSA signature, in the sense that it gives rise
to a conservative extension. A final section
compares and contrasts many different approaches to
OSA. This paper also includes several examples
demonstrating the flexibility and applicability of
OSA, including some standard benchmarks like STACK
and LIST, as well as a much more substantial
example, the number hierarchy from the naturals up
to the quaternions. }
}


@TechReport{GoguenMeseguer89,
author =       {J. Goguen and J. Meseguer},
title =        {Order-Sorter Algebra {I}},
institution =  {SRI CSL},
year =         1989,
number =       {SRI-CSL-89-10},
note =         {This is the primary paper on the theoretical
framework for the semantics of OBJ3.}
}


@InProceedings{GoguenMoriLin97,
author =       { Joseph A. Goguen and Akira Mori and Kai Lin },
title =        { Algebraic Semiotics, Proofwebs, And Distributed
Cooperative Proving },
booktitle =    { Proceedings of the 1997 Conference on User
Interfaces for Theorem Provers },
pages =        { 24--34 },
year =         1997,
month =        sep,
url =          { https://www-cse.ucsd.edu/users/goguen/ps/tat97.ps.gz
},
summary =      { Describes the Tatami ProofWeb data structure and
the Kumo proof assistant and website generator, plus
how semiotics was used in their design. }
}


@InProceedings{GoguenRosu99,
author =       { Joseph A. Goguen and Grigore Ro\c{s}u },
title =        { Hiding More of Hidden Algebra },
booktitle =    { FM'99 --- Formal Methods, Proceedings of World
Congress on Formal Methods },
pages =        { 1704--1709 },
year =         1999,
volume =       1709,
series =       lncs,
address =      { Toulouse, France },
month =        aug,
publisher =    pub-sv,
url =          { https://www-cse.ucsd.edu/users/goguen/ps/moreh.ps.gz
},
summary =      { New results relating information hiding to hidden
algebra, compelling examples of behavioral
operations with multiple hidden arguments, and an
improved institution for hidden algebra. }
}


@InProceedings{GoguenRosu99b,
title =        { A Protocol For Distributed Cooperative Work },
author =       { Joseph A. Goguen and Grigore Ro\c{s}u },
booktitle =    { Proceedings of Workshop on Distributed Systems 1999
(WDS'99), Iasi, Romania, 2 September 1999 },
publisher =    { Elsevier Science },
volume =       28,
editor =       { Gheorghe \c{S}tef\u{a}nescu },
series =       { Springer Electronic Notes in Theoretical Computer
Science },
year =         1999,
address =      { Iasi, Romania },
month =        sep,
url =          { https://www-cse.ucsd.edu/users/goguen/ps/iasi.ps.gz
},
summary =      { Uses hidden algebra to prove correctness of a novel
internet broadcast protocol designed to support
synchronous distributed cooperative proving; also
contains the most recent brief summary of the main
definitions and results of hidden algebra. }
}


@TechReport{GoguenSocorro95,
author =       { Joseph A. Goguen and Adolfo Socorro },
title =        { Module Composition And System Design For The Object
Paradigm },
institution =  { Programming Research Group, Oxford University },
year =         { 1995 },
number =       { PRG-117 },
month =        jan,
abstract =     { This paper argues that a powerful module
composition facility can enhance the ability of
object oriented languages to reuse and compose
designs, specifications and code. In addition,
several flexible ways to produce prototypes can be
supported, including symbolic execution of designs,
composing prototype versions of components, and
using "built-in" modules. Much of this power comes
from having module expressions, theories and views
as first class citizens; some comes from providing
both vertical and horizontal composition, and from
distinguishing between sorts for values, classes for
objects, modules for code, and theories as types for
modules. New features introduced in this paper
include dynamic binding with views, vertical
wrappers, support for abstract classes and private
class inheritance, and the dynamic integration of
components from different libraries. Although we
illustrate these features using the FOOPS language,
they could be added to many other languages, and
some comparison with other languages is given. }
}


@Article{GoguenStevensEtal92,
author =       { Joseph Goguen and Andrew Stevens and Keith Hobley
and Hendrik Hilberdink },
title =        { {2OBJ}, a Metalogical Framework Based on Equational
Logic },
journal =      { Philosophical Transactions of the Royal Society,
Series A },
year =         1992,
volume =       339,
pages =        { 69--86 }
}


@InCollection{GoguenTardo79,
title =        { An Introduction To { OBJ }: A Language for Writing
and Testing Software Specifications },
author =       { Joseph A. Goguen and Joseph Tardo },
year =         1979,
booktitle =    { Specification Of Reliable Software },
editor =       { Marvin Zelkowitz },
publisher =    { IEEE },
location =     { Cambridge MA },
pages =        { 170--189 },
note =         { Reprinted in {\it Software Specification
Techniques\/}, Nehan Gehani and Andrew McGettrick,
editors, Addison Wesley, 1985, pages 391--420 }
}


@Misc{GoguenTatami,
author =       { Joseph A. Goguen },
title =        { The Tatami System Design And Its Motivation },
howpublished = { www },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/tata.ps.gz
}
}


@InBook{GoguenThatcherEtal75,
author =       {Joseph Goguen and James Thatcher and Eric Wagner and
Jesse Wright},
title =        {Computer Graphics, Pattern Recognition and Data
Structure},
chapter =      {Abstract Data Types as Initial Algebras and the
Correctness of Data Representation},
publisher =    pub-ieee,
year =         1975,
pages =        {89--93}
}


@InCollection{GoguenThatcherWagner76,
title =        { An Initial Algebra Approach To The Specification,
Correctness And Implementation Of Abstract Data
Types },
author =       { Joseph A. Goguen and James Thatcher and Eric Wagner
},
booktitle =    { Current Trends In Programming Methodology, Iv },
year =         1978,
publisher =    { Prentice-Hall },
editor =       { Raymond Yeh },
pages =        { 80--149 }
}


@Misc{GoguenTracz97,
author =       { Joseph A. Goguen and Will Tracz },
title =        { An Implementation-Oriented Semantics For Module
Composition },
year =         1997
}


@InCollection{GoguenWinklerEtal00,
author =       { Joseph A. Goguen and Timothy Winkler and Jos\'e
Meseguer and Kokichi Futatsugi and Jean-Pierre
Jouannaud },
title =        { Introducing { OBJ } },
booktitle =    { Software Engineering with { OBJ }: Algebraic
Specification in Action },
editor =       { Joseph A. Goguen and Grant Malcolm },
year =         { 2000 },
publisher =    pub-klu,
note =         { Also Technical Report SRI-CSL-88-9, August 1988,
SRI International }
}


@InBook{GoguenWolfram91,
author =       { Joseph Goguen and David Wolfram },
editor =       { Robert Meersman and William Kent and Samit Khosla },
title =        { Object Oriented Databases: Analysis, Design and
Construction },
chapter =      { On Types and {FOOPS} },
publisher =    { North Holland },
year =         1991,
note =         { Also in Proceedings, IFIP TC2 Conference,
Windermere, UK, 2--6 July 1990 }
}


@Book{Gratzer71,
author =       { George Gr{\"a}tzer },
title =        { Lattice Theory },
publisher =    { W.H. Freeman and Company },
year =         { 1971 },
address =      { San Francisco },
}


@Article{Grothendieck57,
title =        { Sur Quelques Points D'alg\'ebre Homologique },
author =       { Alexandre Grothendieck },
journal =      { T\^ohoku Mathematical Journal },
volume =       2,
pages =        { 119--221 },
year =         1957
}


@InProceedings{Gumm98,
title =        { Equational And Implicational Classes Of
Coalgebras. Extended Abstract. },
author =       { H. Peter Gumm },
booktitle =    { The 4th International Seminar on Relational Methods
in Logic, Algebra and Computer Science },
note =         { Warsaw },
year =         1998
}


@InProceedings{GummSchroder98,
title =        { Covarieties And Complete Covarieties },
author =       { H. Peter Gumm and Tobias Schr\"oder },
booktitle =    { Proceedings of the First Workshop on Coalgebraic
Methods in Computer Science (CMCS'98), Lisbon,
Portugal, March 1998 },
publisher =    { Elsevier Science },
pages =        { 43-56 },
volume =       11,
editor =       { Bart Jacobs and Larry Moss and Horst Reichel and
Jan Rutten },
series =       { Electronic Notes in Theoretical Computer Science },
year =         1998
}


@TechReport{Hamel94,
author =       { Lutz H. Hamel },
title =        { Towards a Provable Correct Compiler for { OBJ3 }},
institution =  { Programming Research Group, Oxford University },
year =         1994,
number =       { TR-1-94 }
}


@PhDThesis{Hamel96,
title =        { Behavioural Verification And Implementation Of An
Optimizing Compiler For { OBJ3 } },
author =       { Lutz Hamel },
school =       { Oxford University Computing Lab },
year =         1996
}


@TechReport{Hamel01,
title =        { Introducing { TRIM } },
author =       { Lutz Hamel },
school =       { Department of Computer Science and Statistics,
University of Rhode Island },
year =         2001
}


@Article{Hennicker91,
title =        { Context Induction: A Proof Principle For Behavioral
Abstractions },
author =       { Rolf Hennicker },
journal =      { Formal Aspects of Computing },
volume =       3,
number =       4,
pages =        { 326--345 },
year =         1991
}


@InProceedings{HennickerBidoit99,
title =        { Observational Logic },
author =       { Rolf Hennicker and Michel Bidoit },
booktitle =    { Algebraic Methodology and Software Technology
(AMAST'98) },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       1548,
pages =        { 263--277 },
year =         1999
}


@InProceedings{HennickerKurz99,
title =        { On The Algebraic Extension Of Coalgebraic
Specifications },
author =       { Rolf Hennicker and Alexander Kurz },
booktitle =    { Proceedings of the Second Workshop on Coalgebraic
Methods in Computer Science (CMCS'99), Amsterdam,
The Netherlands, March 1999 },
publisher =    { Elsevier Science },
volume =       19,
editor =       { Bart Jacobs and Jan Rutten },
series =       { Electronic Notes in Theoretical Computer Science },
year =         1999
}


@Book{HerrlichStrecker73,
title =        { Category Theory },
author =       { Horst Herrlich and George Strecker },
year =         1973,
publisher =    { Allyn and Bacon }
}


@Misc{Hilberdink96,
title =        { Inclusion Systems },
author =       { Hendrik Hilberdink },
school =       { Oxford University },
note =         { Unpublished paper },
year =         1996
}


@Book{HindleySeldin86,
author =       { J. Roger Hindley and Jonathan P. Seldin },
title =        { Introduction To Combinatory Logic And Lambda
Calculus },
publisher =    { Cambridge University Press },
year =         { 1986 },
}


@TechReport{IidaMatsumotoEtal97,
author =       { Shusaku Iida and Michihiro Matsumoto and R\u{a}zvan
Diaconescu and Kokichi Futatsugi and Dorel Lucanu },
title =        { Concurrent Object Composition In { CafeOBJ } },
year =         1997,
institution =  { Japan Advanced Institute for Science and Technology
},
number =       { IS-RR-96-0024S }
}


@Article{Isbell64,
title =        { Subobjects, Adequacy, Completeness And Categories
of Algebras },
author =       { J. R. Isbell },
journal =      { Rozprawy Matematyczne },
volume =       36,
pages =        { 1--33 },
year =         1964
}


@InCollection{Jacobs95,
author =       { Bart Jacobs },
title =        { Mongruences And Cofree Coalgebras },
booktitle =    { Algebraic Methodology and Software Technology
(AMAST95) },
editor =       { Maurice Nivat },
publisher =    { Springer },
note =         { Lecture Notes in Computer Science, Volume 936 },
pages =        { 245--260 },
year =         1995
}


@Article{JacobsRutten97,
title =        { A Tutorial On (Co)Algebras And (Co)Induction },
author =       { Bart Jacobs and Jan Rutten },
journal =      { Bulletin of the European Association for
Theoretical Computer Science },
volume =       62,
year =         1997,
pages =        { 222--259 }
}


@Article{JouannaudKirchnerKirchner1988,
author =       { Jouannaud, { J.P. } and Kirchner, C. and Kirchner,
H. and Megrelis, A. },
title =        { { OBJ } - Programming With Equalities, Subsorts,
Overloading And Parameterization },
journal =      lncs,
volume =       { 343 },
year =         { 1988 },
pages =        { 41--52 }
}


@Article{JouannaudKirchnerKirchner1992,
author =       { Jouannaud, { J.P. } and Kirchner, C. and Kirchner,
H. and Megrelis, A. },
title =        { Programming With Equalities, Subsorts, Overloading,
And Parametrization In { OBJ }},
journal =      jolp,
volume =       { 12 },
number =       { 3 },
year =         { 1992 },
pages =        { 257--279 }
}


@TechReport{KieburtzLewis94,
author =       { Richard B. Kieburtz and Jeffrey Lewis },
title =        { Algebraic Design Language (Preliminary Definition)
},
institution =  { Oregon Graduate Insitute of Science and Technology
},
year =         1994,
month =        jan,
url =          { https://www.cse.ogi.edu/~sheard/adl.html }
}


@Article{KirchnerKirchnerMeseguer1988,
author =       { Kirchner, C. and Kirchner, H. and Meseguer, J. },
title =        { Operational Semantics Of { OBJ }-3},
journal =      lncs,
volume =       { 317 },
year =         { 1988 },
pages =        { 287--301 }
}


@Book{Lambek66,
author =       { Joachim Lambek },
title =        { Completions Of Categories },
year =         1966,
publisher =    { Springer-Verlag },
note =         { Lecture Notes in Mathematics, Volume 24 }
}


@Book{LambekScott86,
title =        { Introduction To Higher Order Categorical Logic },
author =       { Joachim Lambek and Phil Scott },
publisher =    { Cambridge },
year =         1986,
note =         { Cambridge Studies in Advanced Mathematics, Volume 7
}
}


@InCollection{Lucanu99a,
title =        { Algebraic Specification Of Object Aggregation },
author =       { Dorel Lucanu },
editor =       { Kokichi Futatsugi and Joseph A. Goguen and Jos\'e
Meseguer },
booktitle =    { { OBJ }/{ CafeOBJ }/Maude At Formal Methods '99 },
publisher =    { Theta },
note =         { Proceedings of a workshop held in Toulouse, France,
20th and 22nd September 1999 },
year =         1999,
pages =        { 115--132 }
}


@InProceedings{LucanuGheorghiesApetrei99,
title =        { Bisimulation And Hidden Algebra },
author =       { Dorel Lucanu and Ovidiu Gheorghie\c{s} and Adriana
Apetrei },
booktitle =    { Proceedings of the Second Workshop on Coalgebraic
Methods in Computer Science (CMCS'99), Amsterdam,
The Netherlands, March 1999 },
pages =        { 213--232 },
editor =       { Bart Jacobs and Jan Rutten },
publisher =    { Elsevier Science },
volume =       19,
series =       { Electronic Notes in Theoretical Computer Science },
year =         1999
}


@Book{MacLane71,
title =        { Categories For The Working Mathematician },
author =       { Saunders Mac~Lane },
year =         1971,
publisher =    { Springer }
}


@TechReport{MalcolmGoguen94,
author =       { Grant Malcolm and Joseph A. Goguen },
title =        { Proving Correctness Of Refinement And
Implementation },
institution =  { Programming Research Group, Oxford University },
year =         { 1994 },
number =       { PRG-114 },
month =        nov,
abstract =     { The notions of state and observable behaviour are
fundamental to many areas of computer
science. Hidden sorted algebra, an extension of many
sorted algebra, captures these notions through
hidden sorts and the behavioural satisfaction of
equations. This makes it a powerful formalisation of
abstract machines, and many results suggest that it
is also suitable for the semantics of the object
paradigm. Another extension of many sorted algebra,
namely order sorted algebra, has proved useful in
system specification and prototyping because of the
way it handles subtypes and errors. The combination
of these two algebraic approaches, hidden order
sorted algebra, has also been proposed as a
foundation for object paradigm, and has much promise
as a foundation for Software Engineering. This paper
extends recent work on hidden order sorted algebra
by investigating the refinement and implementation
of hidden order sorted specifications. We present
definitions of refinement and implementation for
such specifications, and techniques for proving that
one specification refines or implements another. It
is important that the notions of refinement and
implementation be tractable, in the sense that there
are efficient techniques for proving their
correctness. The proof techniques given in this
paper lead, we believe, to correctness proofs that
are much simpler than others in the literature. We
found that proving refinement is an effective way to
prove implementation correctness. Some examples are
given. Any foundation for the semantics of
programming should also support modular
specifications. The "institutions" developed by
Goguen and Burstall are useful for this
purpose. Institutions formalise the notion of
logical system, and provide an encapsulation
property for specifications: when one specification
is imported into another, properties that hold of
that specification in isolation remain true in its
new context. An important technical result of this
paper is that hidden order sorted algebra forms an
institution, and therefore supports the modular
specification of systems of objects. The paper also
includes an exposition of hidden order sorted
algebra, and brief introductions to many sorted
algebra, order sorted algebra, and institutions. }
}


@InProceedings{MalcolmGoguen98,
author =       { Grant Malcolm and Joseph A. Goguen },
title =        { Signs And Representations: Semiotics For User
Interface Design },
booktitle =    { Visual Representations and Interpretations },
pages =        { 163--172 },
year =         1998,
editor =       { Ray Paton and Irene Nielson },
series =       { Springer Workshops in Computing },
note =         { Proceedings of a workshop held in Liverpool. },
summary =      { An informal introduction to algebraic semiotics
with examples, including aspects of operating
systems interfaces. },
url =          {
https://www-cse.ucsd.edu/users/goguen/ps/sigreps.ps.gz }
}


@InCollection{MatsumiyaIidaFutatsugi99,
title =        { A Component-Based Algebraic Specification Of Odp
Trading Function },
author =       { Chiyo Matsumiya and Shusaku Iida and Kokichi
Futatsugi },
editor =       { Kokichi Futatsugi and Joseph A. Goguen and Jos\'e
Meseguer },
booktitle =    { { OBJ }/{ CafeOBJ }/Maude At Formal Methods '99 },
publisher =    { Theta },
note =         { Proceedings of a workshop held in Toulouse, France,
20th and 22nd September 1999 },
year =         1999,
pages =        { 227--241 }
}


@InProceedings{MatsumotoFutatsugi98,
author =       { Michihiro Matsumoto and Kokichi Futatsugi },
title =        { Test Set Coinduction -- Toward Automated
Verification Of Behavioral Properties },
booktitle =    { Proceedings of the Second International Workshop on
Rewriting Logic and Its Applications (WRLA'98) },
series =       { Electronic Notes in Theoretical Computer Science },
volume =       15,
publisher =    { Elsevier Science },
year =         { 1998 }
}


@InCollection{MatsumotoFutatsugi99,
title =        { Object Composition And Refinement By Using
Non-Observable Projection Operators },
author =       { Michihiro Matsumoto and Kokichi Futatsigi },
editor =       { Kokichi Futatsugi and Joseph A. Goguen and Jos\'e
Meseguer },
booktitle =    { { OBJ }/{ CafeOBJ }/Maude At Formal Methods '99 },
publisher =    { Theta },
note =         { Proceedings of a workshop held in Toulouse, France,
20th and 22nd September 1999 },
year =         1999,
pages =        { 133--157 }
}


@InCollection{Meseguer89,
author =       { Jos\'e Meseguer },
title =        { General Logics },
booktitle =    { Proceedings, Logic Colloquium 1987 },
publisher =    { North-Holland },
editor =       { H.-D. Ebbinghaus and others },
pages =        { 275--329 },
year =         1989
}


@InCollection{MeseguerGoguen85,
title =        { Initiality, Induction And Computability },
author =       { Jos\'e Meseguer and Joseph A. Goguen },
booktitle =    { Algebraic Methods in Semantics },
editor =       { Maurice Nivat and John Reynolds },
publisher =    { Cambridge },
year =         1985,
pages =        { 459--541 }
}


@InCollection{Mikami98,
title =        { Semantics Of Equational Specifications With Module
Import And Verification Method Of Behavioral
Equations },
author =       { Seik\^{o} Mikami },
booktitle =    { Proceedings, { CafeOBJ } Symposium },
publisher =    { Japan Advanced Institute for Science and Technology
},
year =         1998,
note =         { Numazu, Japan, April 1998 }
}


@Book{Mitchell65,
title =        { Theory Of Categories },
author =       { Mitchell, B. },
year =         1965,
publisher =    { Academic Press, New York }
}


@InCollection{MoriFutatsugi99,
title =        { Verifying Behavioural Specifications In { CafeOBJ }
Environment },
author =       { Akira Mori and Kokichi Futatsugi },
booktitle =    { FM'99 -- Formal Methods },
note =         { Lecture Notes in Computer Sciences, Volume 1709,
Proceedings of World Congress on Formal Methods,
Toulouse, France },
publisher =    { Springer },
pages =        { ????--???? },
year =         1999
}


@phdthesis{Mossakowski96,
title =        { Representations, Hierarchies, And Graphs Of
Institutions },
author =       { Till Mossakowski },
year =         1996,
school =       { University of Bremen }
}


@Misc{Mossakowski98,
title =        { Version Control And Registration For Casl Libraries
},
author =       { Till Mossakowski },
note =         { CoFi Note: M-5, 29 September 1998. {\tt
https://www.brics.dk/Projects/CoFI/Notes/M-5} }
}


@InCollection{Mosses89,
author =       { Peter Mosses },
title =        { Unified Algebras And Institutions },
year =         1989,
booktitle =    { Proceedings, Fourth Annual Conference on Logic in
Computer Science },
pages =        { 304--312 },
publisher =    { IEEE }
}


@InProceedings{NakajimaFutatsugi97,
author =       { Shin Nakajima and Kokichi Futatsugi },
title =        { An Object-Oriented Modeling Method For Algebraic
Specifications In { CafeOBJ }},
booktitle =    { Proceedings of the 1997 International Conference on
Software Engineering },
pages =        { 34--44 },
year =         1997,
address =      { Boston, MA }
}


@Article{Nemeti82,
title =        { On Notions Of Factorization Systems And Their
Applications To Cone-Injective Subcategories },
author =       { Istv{\'a}n N{\'e}meti },
journal =      { Periodica Mathematica Hungarica },
year =         1982,
volume =       13,
number =       3,
pages =        { 229--335 }
}


@InCollection{NemetiSain81,
title =        { Cone-Implicational Subcategories And Some
Birkhoff-Type Theorems },
author =       { Istv{\'a}n N{\'e}meti and Ildick{\'o} Sain },
booktitle =    { Universal Algebra },
editor =       { B. Csakany and E. Fried and E.T. Schmidt },
year =         1981,
publisher =    { North-Holland },
pages =        { 535--578 },
note =         { Colloquia Mathematics Societas J{\'a}nos Bolyai, 29
}
}


@Misc{NielsenPlatet86,
title =        { Polymorphism In An Institutional Framework },
author =       { Mogens Nielsen and Udo Platet },
year =         1986,
note =         { Technical University of Denmark }
}


@InProceedings{Padawitz96,
author =       { Peter Padawitz },
title =        { Swinging Data Types: Syntax, Semantics, And Theory
},
booktitle =    { Proceedings, WADT'95 },
series =       { Lecture Notes in Computer Science },
volume =       1130,
publisher =    { Springer },
pages =        { 409--435 },
year =         1996
}


@InProceedings{Padawitz98,
author =       { Peter Padawitz },
title =        { Towards The One-Tiered Design Of Data Types And
Transition Systems },
booktitle =    { Proceedings, WADT'97 },
series =       { Lecture Notes in Computer Science },
volume =       1376,
publisher =    { Springer },
pages =        { 365--380 },
year =         1998
}


@Misc{Padawitz99,
title =        { Integrating Functional-Logic And State-Oriented
Specifications },
author =       { Peter Padawitz },
year =         { 1999 },
note =         { Presented at WFLP'99. {\tt
https://issan.informatik.uni-dortmund.de/~peter} }
}


@Misc{Padawitz99a,
title =        { Swinging Types = Functions + Relations + Transition
Systems },
author =       { Peter Padawitz },
year =         { 1999 },
note =         { In preparation. {\tt
https://issan.informatik.uni-dortmund.de/\~{ }peter}
}
}


@Book{Papadimitriou94,
author =       { Christos H. Papadimitriou },
title =        { Computational Complexity },
publisher =    { Addison-Wesley },
address =      { New York },
year =         { 1994 }
}


@InProceedings{Pawlowski96,
title =        { Context Institutions },
author =       { Wieslaw Pawlowski },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Magne Haveraaen and Olaf Owe and Ole-Johan Dahl },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       1130,
pages =        { 436--457 },
year =         1996,
note =         { Proceedings of 11th Workshop on Specification of
Abstract Data Types. Oslo, Norway, September 1995 }
}


@Article{Pigozzi74,
title =        { The Join Of Equational Thories },
author =       { Don Pigozzi },
journal =      { Colloquium Mathematicum },
year =         1974,
volume =       30,
pages =        { 15--25 }
}


@Article{PinheiroGoguen96-TOOR,
author =       { Francisco Pinheiro and Joseph Goguen },
title =        { An Object-Oriented Tool for Trancing Requirements },
journal =      ieee-soft,
year =         1996,
pages =        { 52--64 },
month =        mar,
note =         { Special issue of papers from ICRE'96 },
}


@TechReport{RapanottiSocorro92,
author =       { Lucia Rapanotti and Adolfo Socorro },
title =        { Introducing {FOOPS} },
institution =  { Programming Research Group, Oxford University },
year =         1992,
number =       { PRG-TR-28-92 },
read =         { 2-9,2-10-00 },
reviewed =     { 2-10-00 },
review =       { Points of note:
0. Very strong reliance on OBJ3 semantics and
features.  FOOPS is just OBJ3++. :)
1. Semantics of class inheritance are fixed.
(method redefinition is only contravariant)
See Castago95 for more details.
2. Accessing original versions of methods (i.e.
"super" access) is defined (in a limited fashion
but not supported in the implementation.
3. The term "kind" is used as "sort or class".
4. Views can only be defined between modules and
theories at the same level in the language in
the present implementation.
5. View definitions can even be more terse than as
seen in OBJ3.  In particular, a class, sort,
operator, attribute, or method can be used as
the view to construct a default abbreviated view 
to the theory or module containing the construct.
Thoughts: 
0. Kind Theory is just FOOPS extended to the
meta-level. 
1. Use of diagrams was claimed to be essential in
GoguenTracz97.  Consider the use of UML and OPEN
as self-specification at the metalevel plus the
use of Category Theory. (!) }
}


@InCollection{Reichel81,
title =        { Behavioural Equivalence -- A Unifying Concept For
Initial And Final Specifications },
author =       { Horst Reichel },
editors =      { M. Arata and L. Varga },
year =         1981,
booktitle =    { Proceedings, Third Hungarian Computer Science
Conference },
publisher =    { Akademiai Kiado },
note =         { Budapest }
}


@Article{Reichel95,
title =        { An Approach To Object Semantics Based On Terminal
Co-Algebras },
author =       { Horst Reichel },
journal =      { Mathematical Structures in Computer Science },
year =         1995,
volume =       5,
pages =        { 129--152 }
}


@Article{Rodenburg91,
title =        { A Simple Algebraic Proof Of The Equational
Interpolation Theorem },
author =       { Pieter Hendrik Rodenburg },
year =         1991,
journal =      { Algebra Universalis },
volume =       28,
pages =        { 48--51 }
}


@TechReport{RodenburgGlabbeek88,
author =       { Pieter Hendrik Rodenburg and Rob van Glabbeek },
title =        { An Interpolation Theorem In Equational Logic },
year =         1988,
institution =  { CWI },
number =       { CS-R8838 }
}


@Misc{Rosu,
title =        { Kan Extensions Of Institutions },
author =       { Grigore Ro\c{s}u },
note =         { Submitted for publication }
}


@Article{Rosu00,
author =       { Grigore Ro\c{s}u },
title =        { Equational Axiomatizability For Coalgebra },
journal =      { Theoretical Computer Science },
year =         { to appear, 2000 }
}


@Article{Rosu94,
title =        { The Institution Of Order-Sorted Equational Logic },
author =       { Grigore Ro\c{s}u },
journal =      { Bulletin of EATCS },
year =         1994,
volume =       53,
pages =        { 250--255 }
}


@Misc{Rosu96,
title =        { Axiomatizability In Inclusive Equational Logic },
author =       { Grigore Ro\c{s}u },
note =         { Submitted to publication },
year =         1996
}


@InProceedings{Rosu98,
title =        { A Birkhoff-Like Axiomatizability Result For Hidden
Algebra And Coalgebra },
author =       { Grigore Ro\c{s}u },
booktitle =    { Proceedings of the First Workshop on Coalgebraic
Methods in Computer Science (CMCS'98), Lisbon,
Portugal, March 1998 },
publisher =    { Elsevier Science },
editor =       { Bart Jacobs and Larry Moss and Horst Reichel and
Jan Rutten },
pages =        { 179-196 },
volume =       11,
series =       { Electronic Notes in Theoretical Computer Science },
year =         1998
}


@Misc{Rosu99,
title =        { Abstract Semantics For Module Composition },
author =       { Grigore Ro\c{s}u },
year =         1999,
note =         { In preparation }
}


@InCollection{Rosu99,
title =        { Behavioral Coinductive Rewriting },
author =       { Grigore Ro\c{s}u },
editor =       { Kokichi Futatsugi and Joseph A. Goguen and Jos\'e
Meseguer },
booktitle =    { { OBJ }/{ CafeOBJ }/Maude At Formal Methods '99 },
publisher =    { Theta },
note =         { Proceedings of a workshop held in Toulouse, France,
20th and 22nd September 1999 },
year =         1999,
pages =        { 179--196 }
}


@InProceedings{RosuGoguen99,
author =       { Grigore Ro\c{s}u and Joseph A. Goguen },
title =        { Hidden Congruent Deduction },
booktitle =    { First-Order Theorem proving --- FTP'98 },
pages =        { 213--223 },
location =     { Schloss Wilhelminenberg, Vienna, November 23-25 },
year =         1999,
editor =       { Ricardo Caferra and Gernot Salzer },
series =       { Springer Lecture Notes on Artificial Intelligence },
note =         { Revised version available online. },
url =          { https://www-cse.ucsd.edu/users/goguen/ps/cong.ps.gz
},
summary =      { This paper extends all the main notions and results
of hidden algebra to operations that may have more
than one hidden argument, and also introduces the
notion of cobasis, gives criteria for operations to
be congruent, and introduces more powerful rules of
deduction. }
}


@Misc{RosuGoguen99,
title =        { Circular Coinduction },
author =       { Grigore Ro\c{s}u and Joseph A. Goguen },
note =         { Submitted to publication },
year =         1999
}


@Book{Rudeanu63,
author =       { Sergiu Rudeanu },
title =        { Axiomele Laticilor \C{S}I ale algebrelor
booleene\footnote{Lattice and Boolean Algebra
Axioms.} },
year =         { 1963 },
publisher =    { Romanian Academy Press },
}


@TechReport{Rutten96,
author =       { J.J.M.M. Rutten },
title =        { Universal Coalgebra: A Theory Of Systems },
year =         1996,
institution =  { CWI },
number =       { CS-R9652 }
}


@Misc{SalibraScollo91,
title =        { A Soft Stairway To Institutions },
author =       { Antonino Salibra and Giuseppe Scollo },
year =         1991,
note =         { University of Pisa }
}


@InCollection{SannellaTarlecki86,
author =       { Donald Sannella and Andrzej Tarlecki },
title =        { Extended {ML}: An Institution Independent Framework
For Formal Program Development },
year =         1986,
booktitle =    { Proceedings, Summer Workshop on Category Theory and
Computer Programming },
location =     { University of Surrey, Guildford, U.K. },
publisher =    { Springer },
note =         { Lecture Notes in Computer Science, Volume 240 },
pages =        { 364--389 },
editor =       { David Pitt and Samson Abramsky and Axel Poign\'e
and David Rydeheard }
}


@Article{SannellaTarlecki87,
title =        { On Observational Equivalence And Algebraic
Specification },
author =       { Donald Sannella and Andrzej Tarlecki },
year =         1987,
journal =      { Journal of Computer and System Science },
volume =       34,
pages =        { 150--178 }
}


@Article{SannellaTarlecki88,
author =       { Donald Sannella and Andrzej Tarlecki },
title =        { Specifications In An Arbitrary Institution },
year =         1988,
journal =      { Information and Control },
volume =       76,
pages =        { 165--210 }
}


@Article{Shutt1989,
author =       { Shutt, {R.N.} },
title =        { A Rigorous Development Strategy Using The { OBJ }
Specification Language And The Malpas Program
Analysis Tools },
journal =      lncs,
volume =       { 387 },
year =         { 1989 },
pages =        { 260--291 }
}


@Book{Sipser96,
author =       { Michael Sipser },
title =        { Introduction To The Theory Of Computation },
publisher =    { PWS },
year =         { 1996 },
address =      { Boston, MA },
}


@PhdThesis{Socorro93,
author =       { Adolfo J Socorro Ramos },
title =        { Design, Implementation And Evaluation Of A
Declarative Object-Oriented Programming Language },
school =       { Oxford University },
year =         { 1993 }
}


@Misc{Stefaneas93,
author =       { Petros Stefaneas },
title =        { Chartering Some Institutions },
note =         { MSc Thesis, Programming Research Group, Oxford
University },
year =         1993
}


@InCollection{Tarlecki84,
title =        { Free Constructions In Algebraic Institutions },
author =       { Andrzej Tarlecki },
booktitle =    { Proceedings, International Symposium on
Mathematical Foundations of Computer Science },
editor =       { M.P.\ Chytil and V.\ Koubek },
location =     { Prague },
year =         1984,
pages =        { 526--534 },
publisher =    { Springer }
}


@InCollection{Tarlecki86,
author =       { Andrzej Tarlecki },
title =        { Bits And Pieces Of The Theory Of Institutions },
year =         1986,
booktitle =    { Proceedings, Summer Workshop on Category Theory and
Computer Programming },
location =     { University of Surrey, Guildford, U.K. },
publisher =    { Springer },
note =         { Lecture Notes in Computer Science, Volume 240 },
pages =        { 334--360 },
editor =       { David Pitt and Samson Abramsky and Axel Poign\'e
and David Rydeheard }
}


@Article{Tarlecki86a,
title =        { On The Existence Of Free Models In Abstract
Algebraic Institutions },
author =       { Andrzej Tarlecki },
journal =      { Theoretical Computer Science },
year =         1986,
volume =       37,
pages =        { 269--304 }
}


@Article{Tarlecki86b,
title =        { Quasi-Varieties In Abstract Algebraic Institutions
},
author =       { Andrzej Tarlecki },
journal =      { Journal of Computer and System Sciences },
year =         1986,
volume =       33,
number =       3,
pages =        { 333--360 }
}


@Misc{Tarlecki87,
author =       { Andrzej Tarlecki },
title =        { Institution Representation },
note =         { Unpublished note, Dept. of Computer Science,
Univ. of Edinburgh },
year =         { 1987 }
}


@InProceedings{Tarlecki96,
title =        { Moving Between Logical Systems },
author =       { Andrzej Tarlecki },
booktitle =    { Recent Trends in Data Type Specification },
editor =       { Magne Haveraaen and Olaf Owe and Ole-Johan Dahl },
publisher =    { Springer },
series =       { Lecture Notes in Computer Science },
volume =       1130,
pages =        { 478--502 },
year =         1996,
note =         { Proceedings of 11th Workshop on Specification of
Abstract Data Types. Oslo, Norway, September 1995 }
}


@TechReport{Tarlecki96a,
author =       { Andrzej Tarlecki },
title =        { Structural Properties Of Some Categories Of
Institutions },
institution =  { Institute of Informatics, Warsaw University },
year =         1996
}


@TechReport{TarleckiBurstallGoguen89,
author =       { Andrzej Tarlecki and Rod Burstall and Joseph Goguen
},
title =        { Indexed Categories As A Tool For The Semantics Of
Computation },
institution =  { Programming Research Group, Oxford University },
year =         1989,
number =       { PRG-77 },
month =        aug,
abstract =     {This paper presents indexed categories, which model
uniformly defined families of categories, and
suggests that they are a useful tool for the working
computer scientist. An indexed category gives rise
to a single flattened category as a disjoint union
of its component categories plus some additional
morphisms. Similarly, an indexed functor (which is a
uniform family of functors between the component
categories) induces a flattened functor between the
corresponding flattened categories. Under certain
assumptions, flattened categories are (co)complete
if all their components are, and flattened functors
have left adjoints if all their components
do. Several examples are given. Although this paper
is part 3 of the series "Some Fundamental Algebraic
Tools for the Semantics of Computation," it is
entirely independent of parts 1 and 2.}
}


@Article{TarleckiBurstallGoguen91,
title =        { Some Fundamental Algebraic Tools For The Semantics
Of Computation, Part 3: Indexed Categories },
author =       { Andrzej Tarlecki and Rod Burstall and Joseph
A. Goguen },
journal =      { Theoretical Computer Science },
year =         1991,
volume =       91,
pages =        { 239--264 }
}


@Article{Tarski44,
title =        { The Semantic Conception Of Truth },
author =       { Alfred Tarski },
year =         1944,
journal =      { Philos. Phenomenological Research },
volume =       4,
pages =        { 13--47 }
}


@InProceedings{Tracz93,
author =       { William Tracz },
title =        { {\Sc Lileanna}: a Parameterized Programming
Language },
booktitle =    { Proceedings, Second International Workshop on
Software Reuse },
month =        { March },
year =         1993,
note =         { Lucca, Italy },
pages =        { 66--78 }
}


@TechReport{Veglioni97,
author =       { Simon Veglioni },
title =        { Classification in Algebraic Specifications of
Abstract Data Types },
institution =  { Programming Research Group, Oxford University },
year =         1997,
number =       { TR-7-96 },
month =        aug,
abstract =     { In this paper we describe the role classification
play in algebraic approaches to specification of
Abstract Data Types (ADTs) and show how they
influence expressivity and mechanizability. In the
last two decades many different logic systems for
the algebraic specification of ADTs have been
developed, each one pursuing its own principles and
goals. Since a careful analysis of these logical
systems, taking into account not only their
expressivity, but also their mechanizability, is
important to clarify and organizse a rather rich and
controversial subject - for example overloading is a
topic that needs to be clarified - we believe our
contribution will be useful. Mechanizability of
logical systems is in fact as important as
expressivity, and becomes crucial for those logical
systems which are meant to define the semantics of
declarative and rapid prototyping languages. We have
taken great care to present all arguments in this
paper in as elementary a way as possible, in order
to make the paper accessible to non-expert readers,
even though a minimum knowledge of category theory
and institutions might be of help in few points. }
}


@Misc{Winkler-NewFeatures,
author =       { Timothy Winkler },
title =        { Introducing { OBJ3 }'s New Features },
howpublished = { Included with OBJ3 distribution. }
}


@Misc{WinklerMeseguer-Builtins,
author =       { Timothy Winkler and Jos\'e Meseguer },
title =        { { OBJ3 }'s Built-ins },
howpublished = { Included with OBJ3 distribution. }
}


@Misc{Wis2,
title =        { Weak Inclusion Systems; Part 2 },
author =       { Virgil Emil C\u{a}z\u{a}nescu and Grigore Ro\c{s}u
},
note =         { Submitted for publication }
}


@TechReport{Wolfram93,
author =       { {D.A.} Wolfram },
title =        { An Implementation Of Higher-Order Rewriting
(Extended Abstract) },
institution =  { Programming Research Group, Oxford University },
year =         1993,
number =       { TR-8-93 },
month =        jun,
abstract =     { We discuss an implementation of a restricted form
of higher-order rewriting. It is illustrated with
encodings of programs that have been derived using
the functional form of the Bird-Meertens
Formalism. The implementation allows
"leftmost-outermost" and "rightmost-innermost"
rewriting orders to be selected, and conditional
higher-order rewrite rules to be used. The results
are encouraging and suggest that systems which use
rewrite rules can achieve greater conciseness,
applicability, and efficiency. }
}


@Article{WoodwardAllen1998,
author =       { Woodward, { M.R. } and Allen, { S.P.}},
title =        { Slicing Algebraic Specifications },
journal =      { Information And Software Technology },
volume =       { 40 },
number =       { 2 },
year =         { 1998 },
pages =        { 105--118 }
}


@TechReport{Worrel97,
author =       { James Worrell },
title =        { A Topos Of Hidden Algebras },
year =         1997,
institution =  { Programming Research Group, Oxford University },
number =       { PRG-TR-28-97 }
}


@Misc{Yukawa90,
title =        { The Untyped Lambda Calculus As A Logical
Programming Language },
author =       { Keitaro Yukawa },
year =         1990,
note =         { City University of New York }
}