Dierent Types of Arrow Between Logical Frameworks Till Mossakowski University of Bremen, Dept. of Computer Science, P.O.Box 33 04 40, D-28334 Bremen Phone: +49-421-218-2935, E-mail:
[email protected] 1 Introduction There is a variety of speci cation languages for the formal speci cation and development of correct software systems, for example, see [26, 14]. They dier in purpose, expressiveness, level of abstraction (requirement, design, implementation), notation, available tools etc. It has been argued that one should not construct one universal all-purpose speci cation language (which would be very clumsy), but rather relate dierent languages based on dierent logical frameworks. Thus there is a need for a meta-notion of logical framework and a notion of map between logical frameworks in order to relate them. This leads to a category of logical frameworks. In the literature, there are described not only one, but many categories of logical frameworks: institutions [13] with maps of institutions [16], speci cation frames [10], institutions with simulations [2], pre-institutions with transformations [21], institutional frames [27], - and -institutions [12, 23], institutions with contexts [19], etc. Some of these were related by Maura Cerioli in her thesis [6]. Thus, there are quite dierent types of logical frameworks, and each type of logical framework (together with a type of arrow between logical frameworks) leads to a new category of logical frameworks. The purpose of the morphisms in the above mentioned categories of logical frameworks is that of encoding, or representing one logical framework into another one. With this, one can { write heterogeneous speci cations with components written in dierent logical frameworks [13, 25, 3], { switch between dierent types of logical framework by borrowing missing logical structure along maps [7], e.g. endow an institution with an entailment relation and a proof calculus, { compare expressiveness of dierent logical frameworks (within one type of logical framework, of course) [17], { use logical framework independent speci cation language constructs [22, 6] being preserved by maps. But if we do not follow some neat structuring principle in the meta theory (i. e. types of logical framework), there is the danger to end in the same Babylonian realm of 1
1
There also are categories of logical frameworks with the purpose of building one framework above another, see [13, 25, 24, 18].
ll
ll pcalc lll
5
PCalc
lll lll
LogSys : R
combinations
ent
: RRRRR ent : RRLS RRR : : RRR : : log Ent : ll : lll : llent LOG l: lll :: l l l : Log RlRR : : RRR : instLS Rinst : RRR RRR :: RR
)
5
proofs
proof theory entailment
Inst
)
Th0
SpecFram
satisfaction
model theory models
Fig. 1. Dierent types of logical framework and their relations dierent languages as in the object theories (i. e. dierent logical frameworks). After all, the meta theory should help us to structure and compare the object theories, and not to produce the same diversity of notions! The main argument for having several types of logical framework is the distinction between proof theory and model theory. Except for the case of speci cation frames, this was examined by Cerioli and Meseguer [7], see Fig. 1. A second argument is the observation that dierent degrees of more or less good representation of one logical framework in another are possible. Many examples require some intermediate notion between map of institutions and map of speci cation frames. This has to do with the distinction of signatures and sentences in an institution. This distinction is necessary (using just speci cation frames abandons the notion of sentence and of theorem proving), but there are many choices for what should be included into the signature part, and what into the sentences. Therefore the need of types of arrow which may \mix up" this distinction. In this paper we argue that these dierent types of arrow can be generated by one basic type of arrow and monadic constructions on categories of logical frameworks, with the eect of automatically having functors relating the new categories of logical frameworks with the old ones. The paper is organized as follows: in Sect. 2, some types of logical framework and some categorical notions are recalled. Section 3 then introduces, using monads and adjunctions, one well-known and three new notions of maps between institutions,
which vary in the strictness of keeping the signature{sentence distinction. In each case, we brie y show the application to dierent logical frameworks. Section 4 concludes the paper. Due to lack of space, we omit proofs, which will appear elsewhere.
2 Preliminaries 2.1 Speci cation Frames Speci cation frames by Ehrig, Pepper and Orejas [10] formalize abstract theories and models of theories, while there are no notions of sentence and satisfaction: A speci cation frame F = (ThF ; ModF ) consists of 1. a category ThF of theories 2. a functor ModF : (ThF )op ?!CAT giving the category of models of a theory We omit the index F when it is clear from the context and write M 0 j (the -reduct of M 0 under ) for Mod()(M 0 ). M 0 is called an expansion of M 0 j . A map of speci cation frames : F ?! F 0 consists of 0 1. a functor : ThF ?! ThF and 0 2. a natural transformation : ModF op ?! ModF 0 00 F 00 = F ?! F 0 ?? ! Composition of maps F ??! F 00 is de ned by 00 = 0 and 00 0 = ( ). This gives us a (quasi-)category SpecFram of speci cation frames.
2.2 Institutions Institutions introduced by Goguen and Burstall [13] split theories into signatures and sentences, thus the area of logic starts here: An institution I = (Sign I ; senI ; ModI ; j=I ) consists of 1. a speci cation frame (SignI ; ModI ), where SignI is the category of signatures, 2. a functor senI : SignI ?! Set giving the set of sentences over a given signature, 3. a satisfaction relation j=I jModI ()j senI () for each 2 Sign I such that for each morphism : ?! 0 in Sign I the Satisfaction Condition M 0 j=I 0 senI ()(') () M 0 j j=I ' holds for each model M 0 2 jModI ( 0 )j and each sentence ' 2 senI (). Given institutions I and J, a plain map of institutions [16] = (; ; ): I ?! J consists of { a map of speci cation frames (; ): (SignI ; ModI ) ?! (SignJ ; ModJ ) { a natural transformation : senI ?! senJ and
such that the following property is satis ed for M 0 2j ModJ (()) j and ' 2 senI (): M 0 j=J (') () (M 0 ) j=I ' (
)
2.3 Transporting Logical Structure Along Maps We state the fundamental de nition of Cerioli and Meseguer [7]: Let C and D be categories and let be (; ): U a R: C ?! D an adjoint situation. The idea is that C and D are categories of logical frameworks, D having richer structure and U forgetting this richer structure (though U is a left adjoint!). If for each morphism c: C ?! U(D) in C the pullback R(c) R(U(D)) R(C) /
O
O
?
?
?
?
?
?
?
C
D ?
?
?
?
?
~ ?
?
?
?
?
?
?
?
?
?
?
?
?
C~ ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
c~ ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/
D
exists, we say that C admits extension under R and U, and c~: C~ ?! D is called the extension of c by R and U. Roughly speaking, C~ is constructed out of C by enriching it with the features of D translated by c. Indeed, Cerioli and Meseguer show that this situation is given for all arrows in Fig. 1, except Th : Inst ?! SpecFram. 0
2.4 Monads We recall some facts about monads and Kleisli categories from [5]. A monad on a category X is a triple T=(T; ; ) where T: X ?! X is a functor and : 1X ?! T and : T T ?! T are natural transformations satisfying the commutativity conditions (T ) = 1T = (T ); (T ) = (T ). A monad T induces the Kleisli category X T . Our intuition behind it is that its morphisms go into some \enriched" target and thus can be constructed more exibly than morphisms of X. X T is de ned by: { the objects of X T are those of X { a morphism f: X ?! Y in X T is a morphism f: X ?! T(Y ) in X { the composite of f: X ?! Y and g: Y ?! Z is given in X by the composite T g T(T(Z)) ??! f T(Y ) ???! Z T(Z) X ?! { the identity on an object X of X T is just X : X ?! T(X) in X Moreover, there is a pair of adjoint functors between X and X T . UT (X ??F! T(Y )) Y T f! T(Y ), and F (X ?! f Y ) is X ???? Y ! f T(Y ). The unit of the is T(X) ?????? T adjunction is just . ( )
(
)
Given any adjoint situation (; ): F a U: A ?! X, putting T = U F; = UF yields a monad (T; ; ) on X. Moreover, there is a full and faithful comparison functor KT : X T ?! A, comparing the Kleisli adjunction of the monad with the given F (Y ) F f! F(U(F(Y ))) ????! f T(Y )) = F(X) ???? adjunction. It is given by KT (X ?! f # F(Y ). F(Y ) = F(X) ??! (
)
2.5 Multiple Pushouts, Multiple Pullbacks and Amalgamation i B ) ) be a source (that is, a class of arrows with common codomain. Let (A; (A ??g! i i2I Note that the codomain must be given separately because I may be empty). A colimit of the diagram consisting of all objects and arrows of the source is called a multiple pushout of the source. A category with canonical multiple pushouts is a category endowed with a distinguished multiple pushout for each source, such that the result of pasting together distinguished pushouts again is a distinguished pushout. The dual notion is multiple pullback (see [1, 11L]).
3 Re nements of the Notion of Plain Map of Institution To work just with abstract theories and having no notion of axiom, as speci cation frames do, is a very semantic point of view not amenable to theorem proving. In many contexts, we need institutions and their distinction between the notion of signature and of sentence. But there are many choices for what should be included into the signature part, and what into the sentences. For example, in type theories [15], typing information is put into the sentences, while in HEP-theories [20], not only typing, but also de nedness axioms are put into the signatures. The problem now arises when considering maps. Plain maps (of institutions or entailment systems), which keep signatures and sentences separated, occur in many contexts, but typically only as trivial sub-logical frameworks. But there are many representations, which should even be called embeddings, which are not plain. Meseguer's notion of simple map (of institutions or entailment systems) [16] is a rst solution: signatures are mapped to theories, while sentences are mapped to sentences. But there are contexts, when this does not suce. Thus there is a need for notions of maps located between simple maps of institutions and maps of speci cation frames. In the rest of this section, dierent types of maps are introduced using Kleisli categories of monads and adjunctions.
3.1 The Theory Monad and Simple Maps of Institutions We introduce Meseguer's simple maps of institutions here not from scratch, but rather in a structured way using a monadic construction to enrich the target institution.
An institution I = (Sign; sen; Mod; j=) induces the category of theories with axiom-
preserving theory morphisms Th (I).
Objects are theories T = (; ?), where 2 jSignj and ? sen() (with ? not necessarily closed under consequence). We set sign(T) = and ax(T) = ?. Morphisms : (; ?) ?! ( 0 ; ? 0) in Th (I) are signature morphisms : ?! 0 such that (?) ? 0. sen, Mod and j= can be easily extended to theories as well. Thus we get a new institution Th (I) = (Th (I); senTh0 ; ModTh0 ; j=Th0 ). Given a plain map = (; ; ): I ?! J, let , the -extension to theories of , map (; ?) to (sign(()); ax(()) [ (?)). Likewise, and can easily be extended to Th (I), so we get a plain map of institution Th () = ( ; Th0 ; Th0 ): Th (I) ?! Th (J), and Th : PlainInst ?! PlainInst becomes a functor. There is an obvious inclusion I : I ?! Th (I), and a projection T : Th (Th (I)) ?! Th (I) mapping ((; ?); ? 0) to (; ? [ ? 0) for signatures and keeping sentences and models. De nition1. The monad T h0 = (Th ; ; ) over PlainInst induces the Kleisli category Inst = PlainInstT h0 : institutions and simple maps of institutions. 0
0
0
0
0
0
0
0
0
0
0
0
0
0
Recall that objects of the Kleisli category are the same as those of PlainInst, but morphisms : I ?! J are maps : I ?! Th (J) in PlainInst, thus we are allowed to map a signature not just to a signature, but to a theory, which gives us more
exibility when setting up maps of institutions. A typical example is the simple map of institutions from partial rst-order logic to total rst-order logic where partial functions are mapped to total functions plus a partial congruence relation, sentences are translated by replacing existential equality by the partial congruence and models are translated by factoring modulo the congruence. Here, () has to contain the congruence axioms, for example. This translation allows to re-use the proof theory via borrowing, see [8]. There are a plenty of other simple maps, see [6, 7, 2, 16]. 0
3.2 The Conjunctive Monad and Conjunctive Maps of Institutions Now simple maps of institutions cover more, but still not all desirable representations of institutions. A second step is to allow sentences being mapped not to single sentences, but to ( nite) sets of sentences. V An institution I = (Sign; sen; Mod; j=) can be enriched to the institution (I) = (Sign; sen^ ; Mod; j=^ ), where sen^ = Pfin sen, the composition of sen with the functor Pfin : Set ?! Set giving the set of nite subsets, and M j=^ S i for all ' 2 S,VM j= '. Again, this construction can easily be turned into a monad Conj = ( ; ; ) (this time acting on Inst). De nition2. The morphisms of the Kleisli category V Inst = InstConj are called conjunctive simple maps of institutions. Conjunctive maps are not needed, of course, if the target institution already has conjunction available. But consider the map from partial algebras with strong equations to partial algebras with conditional existence equations: Here, a strong equation
t =s t is mapped to (t =e t ?! t =e t ) ^ (t =e t ?! t =e t ). A more complex example is the conjunctive simple map of institutions from the institution of set-valued left exact sketches (see [4]) to the institution of limit theories (an extension of Horn theories with unique-existential quan tication in the conclusion, see [9]) which is described in [17]. A diagram over a sketch is translated to a set of equations, while a cone over a sketch is translated to the statement that the cone is a limiting cone, which can be expressed with the unique-existential quanti ers of limit theories, but only with a set of limit sentences. 1
2
1
1
1
2
2
2
1
2
3.3 The Theory Extension Monad and Weak Maps of Institutions Still, there is the need for even more complex representations of institutions. In many examples, it is only possible to map theories to theories. Now the theory functor Th from subsection 3.1 can be viewed as a functor Inst ?! SpecFram: it takes an institution I = (Sign; sen; Mod; j=) to the speci cation frame (Th (I); Mod). By abuse of language, we also denote it by Th . De nition3. A weak map of institution : I ?! J is a map of speci cation frames : Th (I) ?! Th (J). Composition is that of SpecFram. This gives us a category WeakInst of institutions and weak maps of institutions. In some cases, a weak map can be shown to be modular. That means, the mapping of theories to theories can be split into two maps: one mapping signatures to theories, and the other mapping sentences to extensions of these theories. Now this construction is not just a monad as in the previous subsections, but comes very naturally via an adjunction between speci cation frames and institutions. Unfortunately, there seems to be no adjunction between speci cation frames and institutions in general, so we have to restrict both categories. Let SpecFramamal (resp. Instamal ) be the restriction of SpecFram (resp. Inst) to those objects having amalgamation and those maps preserving amalgamation. A speci cation frame resp. institution has amalgamation, if Th (resp. Sign) has canonical multiple pushouts and Mod maps multiple pushouts to multiple pullbacks in CAT . A map of speci cation frames preserves amalgamation, i (1) preserves multiple pushouts and (2) T is a natural equivalence. A simple map of institutions preserves amalgamation, i (1) preserves multiple pushouts and (2) is a natural equivalence with M j= ' () 0 (M) j= (') where 0 is an inverse-upto-isomorphism of . Now Th can be restricted to Th : Instamal ?! SpecFramamal . This theory functor has a right adjoint, the theory extension functor 9!. For a speci cation frame F = (Th; Mod), we set 9!(F) = (Th; sen; Mod; j=), where sen(T) is the set of all theory extensions, i. e. theory morphisms : T ?! T 0 in Th such that M 0 j = M 0 j ) 0 M0 M . Sentences are translated by pushing out. Now M j = : T ?! T 0 i = M. \M 2 Mod(T 0)", i. e. i there is some M 0 2 Mod(T 0 ) with M 0 j = Note that M 0 has to be unique up to isomorphism. For morphisms, 9!(; ) = (; ; ). 0
0
0
0
0
(
0
)
0
1
1
2
2
The unit I : I ?! 9!(Th (I)) of the adjunction is given by mapping a signature to the theory (; ;), mapping a -sentence ' to the theory extension (; ;) ,! (; f ' g) and leaving models unchanged. i The counit F : Th (9!(F)) ?! F of the adjunction maps a theory TT = (T; f T ??! i 0 0 0 Ti j i 2 I g) to T , where (T ; (i: Ti ?! T )i2I ) = Colim(T; (T ??! Ti )i2I ). Let : T ?! T 0 denote i i (note that, by (T 0 ; (i : Ti ?! T 0)i2I ) being a cocone, this is independent of i). Then TT is Mod(), being a natural equivalence. Theorem 4. (; ): Th a 9!: SpecFramamal ?! Instamal is an adjoint situation, inducing a monad Ext on Instamal with Kleisli category Instamal Ext . 0
0
0
amal Proposition5. The functor K: Instamal Ext ?! WeakInst being the identity on objects and KExt on morphisms is an isomorphism. Thus a weak map of institutions : Th (I) ?! Th (J) 2 WeakInstamal can be modularized as a simple map of institutions K ? (): I ?!9!(Th (J)). Note that 0
0
1
0
applied to a theory just is the multiple pushout of all theory extensions resulting from the application of K ? () to each sentence of the theory. It is easy to see that each conjunctive map also is a weak map of institutions, this V gives us an embedding weak^ : Instamal ?! WeakInst. Typical examples for weak maps of institutions are the following constructions: { explicit de nition of -abstraction: There is a weak map from higher-order logic to higher-order logic without -abstraction. A HOL-formula is translated by recursively replacing each subterm x:t in a context x 1 ; : : : ; xnn with f x 1 : : : xnn , where f : ! : : : ! n ! ! is a new function symbol with an equation f x 1 : : : xnn x = t in the theory extension. { explicit de nition of description operators: There is a weak map from partial function higher-order logic with de nite description operators [11] to partial function higher-order logic without description operators. A PHOL-formula is translated to a theory extension containing the formula itself plus the axioms from [11] for each description operator d ! ! contained in the formula. { replacing relations by projections (for example, a binary relation (graph) is represented by a new sort (edges) and two projections (source, target). There is a weak map from limit theories to partial algebras with conditional existence equations [17]. Each conditional axiom is translated to the stipulation of the existence of a partial function between the new sorts representing the relations. By the way: there is no weak map from limit theories to Horn Clause theories, that is, the meta-level 9! cannot simulate the object-level 9! in this case. We also can use the adjunction between SpecFramamal and Instamal for borrowing logical structure. A speci cation frame F = (Th; Mod) may borrow sentences from an institution J along a map of speci cation frames = (; ): F ?! Th (J). T 0 ; ') j Given such a map, let I = (ThF ; sen; ModF ; j=) with sen(T) = f (T ?! J 9 Th 0 () g and M j= (T ?! T 0 ; ') i () = (; ?) ?! (; ? [ f ' g) 2 sen 9 F M j= T ?! T 0 . 1
1
1
1
1
(
)
0
!(
!(
)
(
))
Theorem6. Let (T) = (T; ;). The following diagram is a pullback 9!(F) 9!(; ) 9!(Th (J)) 0
/
O
O
?
?
?
?
?
?
?
J ?
( ; ; Id) ?
?
?
?
?
1
?
?
?
?
?
?
?
?
(; ; ) I J That is, F can borrow those sentences from J which do not lead to new theories. For example, if we take F to be Lawvere theories or FP-sketches over Set [4] and map them to their equational theories (therefore we have to equip equational theories with some notion of derived signature morphism), we can consider usual equations as new axioms. ?
?
?
?
?
2
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/
3.4 The Model Class Monad and Semi-Maps of Institutions In the previous subsection, we generated sentences from the theory extensions of a speci cation frame. Now we explore the other possibility: to generate sentences from model classes. Let frame(Sign; sen; Mod; j=) be just (Sign; Mod) (a very poor speci cation frame), and frame(; ; ) = (; ). (Th; Mod)~ = (Th; sen; Mod; j=) with sen(T) = T 0 )(M) = (Mod())? (M). Satisfaction f M j M j Mod(T) j g and sen(T ?! ~ is just the element relation. (; ) = (; ? ; ). The unit of the adjunction I : I ?! (frame(I))~ is given by I = (1; ; 1) with (') = f M 2 Mod() j M j=I ' g. The counit F : frame(F ~ ) ?! F is just the identity. Theorem7. (; ): frame a ( )~ : SpecFram ?! PlainInst is an adjoint situation, inducing monad Mod on PlainInst. De nition8. The morphisms of the Kleisli category SemiInst = PlainInstMod are called semi-maps of institutions. Since KMod is full and faithful, a semi-map : I ?! J is (in one-one correspondence with) a map of speci cation frames KMod (): frame(I) ?! frame(J), that is, just a plain map without a component mapping sentences. Such semi-maps are related to institution semi-morphisms [25], which are de ned similarly except that signatures and models are mapped covariantly. For an example, see [25]. Again, we have the possibility of borrowing sentences from an institution along a map of speci cation frames = (; ): F ?! frame(J). Given such a map, let F = (Th; Mod). We put I := (Th; senJ ; Mod; j=), where M j=T ' i M 0 j=Jsign T ' for any M 0 2 Mod((T)) with T (M)0 = M. (This de nition is independent of the choice of M 0 .) 1
1
(
Theorem9. The following diagram is a pullback
(
))
~ (frame(J))~
F~
/
O
?
O
?
?
?
?
?
?
?
J = (1; ; 1)
I = (1; ; 1) ?
?
?
?
?
?
?
?
?
?
?
?
?
?
(; 1; ) I J Thus, in contrast to theorem 6, here we can borrow all sentences from an institution. This borrowing of sentences from an institution much resembles the introduction of duplex institutions in [13], with the main dierence that we here only require a map of speci cation frames (where [13] require an institution morphism). Since the speci cation frame frame(I) is very poor, in applications, it may be more useful to consider frame(Th (I)). However, the composite of frame and Th probably is not adjoint (note that frame is left adjoint, while Th : Inst ?! PlainInst is right adjoint). For example, if F are Lawvere theories or sketches, we now can borrow also conditional equations and thus strictly enlarging the power of F. ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/
0
0
0
4 Conclusion We argue that there are problems with the distinction between signatures and sentences within the notion of institution. While the distinction is useful and necessary, maps between institutions ofter have to go beyond this distinction. Therefore, three new notions of map between institutions, conjunctive maps, weak maps and semimaps, have been introduced. These allow to relax the distinction between signatures and sentences while still being sentence-structured, opposed to mere maps of speci cation frames. When introducing these types of arrow we have followed some guidelines which allow to relate dierent categories of logical framework by pair of adjoint functors. Along two of those pairs, there is a useful borrowing of sentences from an institution, extendeding the work of Cerioli and Meseguer on borrowing logical structure along maps [7] to the relation between speci cation frames and institutions. Thus, there is not one common type of logical framework, but there is the chance to introduce new types of logical framework (driven by a systematic study of examples) in a manner that dierent types of logical framework are well-related via nice general mathematical tools and theorems. The technical results of the paper are summarized in lower half of Fig. 2, where the arrows 9!, UExt K ? and K FExt only exist when everything is restricted to the case with amalgamation. 1
Acknowlegdements
I wish to thank Jo Goguen and Rod Burstall for inventing institutions, Maura Cerioli
j PCalc jjjjj j j jj jj pcalc j?jjjjjjj j jjjjj j j j j 4 jjj jjjj ( ) LogSys jTjTjT ent a ( )# =TT TTT = ==TTTT TTTent T LS = = = = TTTT?TTTTTTT TTT TT = =
TTT TTT = = () TTT = = T Ent log a ( ) == = j ent LOG jjjjj = == j j j = =jjjj j? j =jj = jj (j ) jjjj=j=jj=j j j j = = j [ ( ) jjj jjjj = == =a = Log TjjTjTjTjT = inst instLS == == TTT TT TT?TTTTTT + TTTTTTTTTTT == === ( ) TTT TTTT== TTT F^ T 5
O
u
^
i
O
)
5
u
i
V Inst
)
o
?
U^
weak^
FT h0 ?
o
WeakInst
8
PlainInst
SpecFram x
/
O
8
Th0
/
O
x
Inst
Th0 p q qq pp qqqqqq ppqqqq q p K FExtpppqqq qq qq Th0 a 9! FMod a frameqqq?qqqqq pp?qqq p ? 1 qqqqq ppqqq U K q p Ext q p qq qq ( )~ pp qq qqqqqq ppqqqq q q /
UMod
SemiInst
o
KMod
Fig.2. Functors and adjunctions between dierent categories of logical frameworks and Jose Meseguer for setting up the diagram of categories of logical frameworks allowing borrowing, Andrzej Tarlecki for the idea to work with constructions on the target, Uwe Wolter for pointing out the problems with the signature{sentence distinction, and all of them for (more or less intensive) discussions.
References [1] J. Adamek, H. Herrlich, G. Strecker. Abstract and Concrete Categories. Wiley, New York, 1990. [2] E. Astesiano, M. Cerioli. Relationships between logical frameworks. In M. Bidoit, C. Choppy, eds., Proc. 8th ADT workshop, LNCS 655, 126{143. Springer Verlag, 1992. [3] E. Astesiano, M. Cerioli. Multiparadigm speci cation languages: a rst attempt at foundations. In J.F. Groote C.M.D.J. Andrews, ed., Semantics of Speci cation Languages (SoSl 93), Workshops in Computing, 168{185. Springer Verlag, 1994. [4] M. Barr, C. Wells. Toposes, Triples and Theories, Grundlehren der mathematischen Wissenschaften 278. Springer Verlag, 1985. [5] F. Borceux. Handbook of Categorical Algebra I { III. Cambridge University Press, 1994. [6] M. Cerioli. Relationships between Logical Formalisms. PhD thesis, TD-4/93, Universita di Pisa-Genova-Udine, 1993.
[7] M. Cerioli, J. Meseguer. May I borrow your logic? In A.M. Borzyszkowski, S.Sokolowski, eds., Proc. MFCS'93 (Mathematical Foundations of Computer Science), LNCS 711, 342{351. Springer Verlag, Berlin, 1993. To appear in Theoretical Computer Science. [8] M. Cerioli, T. Mossakowski, H. Reichel. From total equational to partial rst order. In E. Astesiano, H.-J. Kreowski, B. Krieg-Bruckner, eds., Algebraic Foundations of Systems Speci cations. Chapman and Hall, 1996. to appear. [9] M. Coste. Localisation, spectra and sheaf representation. In M.P. Fourman, C.J. Mulvey, D.S. Scott, eds., Application of Sheaves, Lecture Notes in Mathematics 753, 212{238. Springer Verlag, 1979. [10] H. Ehrig, P. Pepper, F. Orejas. On recent trends in algebraic speci cation. In Proc. ICALP'89, LNCS 372, 263{288. Springer Verlag, 1989. [11] W. A. Farmer. A partial functions version of Church's simple type theory. Journal of Symbolic Logic 55, 1269{1291, 1991. [12] J. Fiadeiro, A. Sernadas. Structuring theories on consequence. In D. Sannella, A. Tarlecki, eds., Recent Trends in Data Type Speci cation, 5th Workshop on Speci cation of Abstract Data Types, LNCS 332, 44{72. Springer Verlag, 1988. [13] J. A. Goguen, R. M. Burstall. Institutions: Abstract model theory for speci cation and programming. Journal of the Association for Computing Machinery 39, 95{146, 1992. Predecessor in: LNCS 164(1984):221{256. [14] J. A. Goguen, T. Winkler. Introducing OBJ3. Research report SRI-CSL-88-9, SRI International, 1988. [15] R. Harper, F. Honsell, G. D. Plotkin. A framework for de ning logics. In Proceedings of the second Symposium on Logic in Computer Science (Ithaca, NY). IEEE, 1987. [16] J. Meseguer. General logics. In Logic Colloquium 87, 275{329. North Holland, 1989. [17] T. Mossakowski. Equivalences among various logical frameworks of partial algebras. In H. Kleine Buning et al., ed., Computer Science Logic. 9th Workshop, CSL'95. Paderborn, Germany, September 1995. Springer LNCS, 1996. To appear. [18] T. Mossakowski. Using colimits of parchments to systematically construct institutions of partial algebras. In M. Haveraaen et al., ed., Recent Trends in Data Type Speci cations. 11th Workshop on Speci cation of Abstract Data Types, LNCS. To appear. Springer Verlag, 1996. [19] W. Pawlowski. Institutions with contexts. In M. Haveraaen et al., ed., Recent Trends in Data Type Speci cations. 11th Workshop on Speci cation of Abstract Data Types, LNCS. To appear. Springer Verlag, 1996. [20] H. Reichel. Initial Computability, Algebraic Speci cations and Partial Algebras. Oxford Science Publications, 1987. [21] A. Salibra, G. Scollo. A soft stairway to institutions. In M. Bidoit, C. Choppy, eds., Proc. 8th ADT workshop, LNCS 655, 310{329. Springer Verlag, 1992. [22] D. Sannella, A. Tarlecki. Speci cations in an arbitrary institution. Information and Computation 76, 165{210, 1988. [23] A. Sernadas, C. Sernadas. Theory spaces. Research report, DMIST, 1096 Lisboa, Portugal, 1995. Presented at ISCORE'95 and ADT/COMPASS'95. [24] A. Tarlecki. Working with multiple logical systems. Unpublished manuscript. [25] A. Tarlecki. Moving between logical systems. In M. Haveraaen et al., ed., Recent Trends in Data Type Speci cations. 11th Workshop on Speci cation of Abstract Data Types, LNCS. To appear. Springer Verlag, 1996. [26] M. Wirsing. Structured algebraic speci cations: A kernel language. Theoretical Computer Science 42, 123{249, 1986. [27] Uwe Wolter. Institutional frames. In Recent Trends in Data Type Speci cation. Proceedings, LNCS 906, 469{482. Springer Verlag, London, 1995.