Logics of First-Order Constraints -- A Category Independent Approach
aa r X i v : . [ c s . L O ] J a n Logics of First-Order Constraints- A Category Independent Approach ∗ Uwe Wolter
Department of Informatics, University of Bergen, [email protected]
Abstract
Reflecting our experiences in areas, like Algebraic Specifications, Abstract Model Theory, GraphTransformations, and Model Driven Software Engineering (MDSE), we present a general, categoryindependent approach to Logics of First-Order Constraints (LFOC). Traditional First-Order Logic,Description Logic and the sketch framework are discussed as examples.We use the concept of institution [6, 14] as a guideline to describe LFOC’s. The main resultstates that any choice of the six parameters, we are going to describe, gives us a corresponding“institution of constraints” at hand. The “presentations” for an institution of constraints can becharacterized as “first-order sketches”. As a corresponding variant of the “sketch-entailments” in[18], we finally introduce “sketch rules” to equip LFOC’s with the necessary expressive power.
General and reference; Theory of computation → Logic
Keywords and phrases first-order logic, abstract model theory, institution, generalized sketch, al-gebraic specification, constraint, description logic
The paper addresses a technological layer in traditional specification formalisms, like First-Order Logic (FOL), Universal Algebra and Category Theory, which is, not seldom, overseenand/or undervalued. In Software Engineering, in contrast, this layer is omnipresent in theform of a multitude of different kinds of “diagrams” (software models ).Nevertheless, this layer becomes also manifest in some concepts, we meet in traditionalformalisms: “Elementary diagrams” in FOL, “generators and defining relations” in GroupTheory and, as one of the paradigmatic examples, “sketches” in Category Theory [2].There are different lines of motivation and challenges encouraging us to establish thislayer as a subject of its own and start to develop an abstract and general account of it. Diagram Predicate Framework (DPF):
Generalized sketches have been developed in-dependently by Makkai, motivated by his work on an abstract formulation of CompletenessTheorems in logic [18], and a group in Latvia around Diskin, triggered by their work ondata modeling [3, 7]. Our further development of the generalized sketch approach, nowcalled “Diagrammatic Predicate Framework (DPF)”, has been applied to a wide range ofproblems in Model Driven Software Engineering (MDSE) [8, 24, 26, 23]. Applying DPF,we identified three deficiencies: (1) No operations. (2) Only “atomic constraints” and thusrestricted expressiveness. (3) Too many auxiliary items when software models are formalized ∗ This paper is a slight revision of the version prepared for CALCO 2019. Unfortunately, the paperpresents our unconventional approach to logic a bit too abstract and the topic was not fitting that wellin the focus of CALCO 2019 thus it was not included in the proceedings. We got, however the chanceto give a talk within the CALCO Early Ideas stream. We included in this revision also some furtherideas, conjectures, open issues and discussions. We use the term “model” in two conflicting meanings: A “software model” is an abstract representationof certain aspects and properties of a software system while a “model” in logic is a structure conformingto a formal specification.
Logics of First-Order Constraints as sketches. Deficiency (1) is addressed in [29] while deficiencies (2) and (3) triggered theidea of arbitrary “first-order constraints” . Category Theory:
Categories are graphs equipped with composition and identities. Allconcepts and results in Category Theory are expressed in a language about graphs withcomposition and identity as the only primitives . The challenge is to put this understandingon a precise formal ground by developing a purely “diagrammatic” (graph-based) presenta-tion of Category Theory where limits and colimits, for example, are described by “first-orderconstraints” on graphs. The vision is to have, one day, an interactive tool that allows ourstudents to define concepts and to prove results in Category Theory based on pure “dia-grammatic reasoning”. Or, to formulate it differently: Let us present Category Theory insuch a way, that “diagram chasing” becomes a precise and well-founded proof technique.Only recently, in November 2020, we became aware of "the language of diagrams" intro-duced in [12] and used in [13] to present and define categorical concepts and carry out proofsin a diagrammatic manner. The logic of first-order constraints, we have been envisioned forcategory theory, seems to include, at the end, a variant of this "language of diagrams" ofFreyd. We learned also about other interesting activities around the idea to turn "diagramchasing" into a precise and well-founded proof technique (see [19]).
Algebraic Specifications: “Partial algebras freely generated by a set of variables and a setof equations” are a generalization of the concept of “groups generated by a set of generatorsand a set of defining relations” and have been a central technical tool in the small school onPartial Algebraic Specifications in former East-Germany [17, 21, 20, 27, 5]). For decades,we intended to revise this concept and to lift it to a more general and broader level.
Graph Constraints:
Graph constraints, as presented in [9] for example, have been alatent inspiration and reference during the development of the framework presented here. Athorough analysis of graph constraints and, especially, of the idea to "represent first-orderlogic using graphs" in [22] will be a subject of future research.
Description Logic:
Only when the CALCO 2019 version of this paper was about tobe finished, we got acquainted with Description Logics [1]. We saw that the distinctionbetween “ABox” and “TBox” correlates very well with our ideas. So, as a kind of “aposterior motivation”, we hope that our approach may open a way to develop appropriate“diagrammatic” versions of Description Logics.
Content of the paper:
To cover a wide range of applications, we decided to develop andpresent logics of first-order constraints (LFOC’s) in a top-down manner - from abstract tomore concrete. In the paper, we present the first stage of expansion on a very abstract level.We show how LFOC’s can be defined in arbitrary categories. In the next stage of expansionwe have to investigate, once in detail, what additional categorical infrastructure we need tohave things like "closed formulas", substitutions, instances of "formulas" and similar featuresof traditional logics. Moreover, we have to work out all the examples in very detail.We revise and extend, radically, the concepts and results in [8]. Thereby, we use theconcept of institution [14, 6] as a guideline to describe our logics in a well-organized andincremental way. The main result states that any choice of the six parameters, we are goingto introduce, namely base category, variable declarations, footprint, carriers, structures, andcontexts, gives us a corresponding “institution of constraints” at hand.Base categories are discussed in Section 2 and variable declarations in Section 3, re-spectively. To avoid misperceptions, we use in Subsection 3.1 the term "feature" instead of In Category Theory, the term “diagram” is used instead of “constraint”. In finite product sketches, e.g.,finite product diagrams are “atomic constraints” since finite products are primitives of the language. . Wolter 3 "predicate" and the term "footprint" instead of "signature". So, a feature is given by a sym-bol/name and a variable declaration called its arity. A footprint Ξ is then just a collectionof features. Based on a choice of possible carriers, we define Ξ-structures in Subsection 3.2in full analogy to traditional FOL.Section 4 presents the syntax and semantics of "first-order feature expressions". By a“feature expression” we mean something like a “formula with free variables” in traditionalFOL. We do not consider them, however, as formulas, but rather as “derived features” .Each feature expression is build upon a corresponding variable declaration that we also callits arity (since it is a "(derived) feature").Generalizing concepts like “set of generators” in Group Theory, “underlying graph of asketch” in Category Theory, “set of individual names” in Description Logics and “underlyinggraph of a model” in Software Engineering, we coin in Section 5 the concept “context”.Contexts are our ”signatures” in the sense of institutions.As ”sentences”, in the sense of institutions, we introduce “constraints” in generalizingthe corresponding concepts “defining relation” in Group Theory, “diagram in a sketch” inCategory Theory, “concept/role assertion” in Description Logic and “constraint” in SoftwareEngineering. ”Models”, in the sense of institutions, are interpretations of contexts in Ξ-structures. Section 5 closes with the main theorem stating that any choice of the mentionedsix parameters gives us a corresponding institution of constraints at hand.To get, however, adequate “logics of first-order constraints”, we have to take two stepsmore: Any institution provides, in a canonical way, a corresponding category of presenta-tions as well as an extension of the “model functor” of the institution to this category ofpresentations. In Section 6 we outline this procedure for “institutions of constraints” wherethe presentations turn out to be nothing but the “first-order sketches”, we have been look-ing for. In the final step in Section 7, we introduce “sketch rules”, as a generalization ofthe “sketch-entailments” in [18], to equip LFOC’s with the necessary expressive power. Wediscuss concepts, like “elementary diagrams”, “axioms” and “deduction”, in the light of thenew kind of logics, and close the paper with a short section concerning future research.This paper presents only a starting point for the development of a framework of Logics ofFirst-Order Constraints. Examples are not worked out in detail and many insights and ideasare only mentioned or sketched. Also the relation between LFOC’s and traditional FOL’s,for example, is not fully clarified yet and is not discussed. Nevertheless, we are convincedthat the first building block of a general framework of LFOC’s is here. We start with some notational conventions: By C Obj we denote the collection of objects ofa category C and by gr ( C ) the underlying graph of C . We write often a ∈ C , instead of a ∈ C Obj , if a is an object in a category C . C ( a, b ) denotes the collection of all morphismsfrom object a to object b in C . That a graph G is a subgraph of a graph H , is denoted by G ⊑ H . Analogously, C ⊑ D , means that the category C is a subcategory of D .To define a certain logic of first-order constraints, we first have first to choose a basecategory comprising as well the basic syntactic entities as the semantic domains of our logic.The base category fixes, somehow, the “conceptual universe” we want to work within. In [13] Freyd and Scedrov use the term "elementary predicate" for what we would consider a certainkind of "first-order feature expressions".
Logics of First-Order Constraints ◮ Definition 1 (First parameter: Base Category) . The first parameter of a logic of first-orderconstraints (LFOC) is a chosen base category
Base . A formalization of modeling techniques in Software Engineering, like ER diagrams, classdiagrams and relational data models, for example, relies often on the category
GRAPH of(directed multi) graphs and graph homomorphisms as a base category (compare [8, 24, 26,23]). A (directed multi) graph G = ( G V , G E , sc G , tg G ) is given by a collection G V of vertices,a collection G E of edges and functions sc G ∶ G E → G V , tg G ∶ G E → G V assigning to eachedge its source and target vertex, respectively. A graph G is “small” if G V and G E are sets.A homomorphism ϕ ∶ G → H between two graphs is given by a pair of maps ϕ V ∶ G V → H V , ϕ E ∶ G E → H E such that sc G ; ϕ V = ϕ E , sc H and tg G ; ϕ V = ϕ E , tg H . GRAPH comprises as well finite and small graphs as the (”very big”) underlying graphsof the category
Set of all sets and total maps, the category
Mult of all sets and multimaps(set-valued functions) and the category
Graph of small graphs, for example.
GRAPH isalso the category of choice for a uniform description of specification formalisms, like (thedifferent variants) of First-Order Logic (FOL) and Universal Algebra, for example. ◮ Example 2 (Universal Algebra: Base category) . To illustrate our approach on the meta-levelof formalisms, we will outline how the traditional formalism ”Many-Sorted UniversalAlgebra” may be described.
GRAPH is our base category in this example. ◮ Example 3 (FOL: Base category) . This example is located one abstraction (modeling) levelbelow Example 2. We are not going to describe the formalism ”FOL with predicatesonly” . Instead, we examine this variant of FOL on the level of first-order signatures andfirst-order structures. Therefore, we choose the category
Set as the base category. Theprototypical description logic ”Attributive Concept Language with Complements”(ALC) can be seen as a fragment of “FOL with predicates only” (see [1]). ◮ Example 4 (Category Theory: Base category) . Located on the same abstraction (modeling)level as Example 3, we will outline a diagrammatic (graph-based) version of the theory ofsmall categories, thus the category
Graph of small graphs is our base category of choice. ⊲ Open issue 5 (Other base categories).
To validate that our approach is indeed universal,we should also find an example that goes beyond graphs. We could look at E-graphs [9], forexample. This may also give a guideline how to extend our approach to arbitrary presheaftopoi!?
Traditionally, the construction of syntactic entities in logic, like terms, expressions andformulas, starts by declaring what variables can be used. Often, we assume an enumerableset of variables and then any term, expression or formula is based upon a chosen finitesubset of this enumerable set of variables. Moreover, variable substitutions can be describedby maps between finite sets of variables. Abstracting from this traditional approach, weannounce what kind of “variable declarations” we want to use in our logic. ◮ Definition 6 (Second parameter: Variables) . As the second parameter of a LFOC, wechoose a small subcategory
Var of the base category
Base . We refer to the objects in
Var as ”variable declarations” while the morphisms in Var will be called ”variable substi-tutions” . . Wolter 5 ◮ Remark 7 (Signature extensions vs. generators).
CALCO-reviewer 2 stated that "it maybe worth noting that this is a completely different view on variables compared to the insti-tutional ’tradition’, where variables generally depend on the notion of signature" (compare[6]).The mentioned "institutional tradition" reflects a standard technique in Universal Algebraand Algebraic Specifications used to describe the construction of free algebras by means ofso-called signature extensions, i.e., the elements of a given Σ-algebra are added as auxiliaryconstants to the signature Σ and then they are "syntactically translated" along a signaturemorphism ϕ ∶ Σ → Σ ′ . As indicated in the introduction, we consider this technique asinadequate and kind of dubious. We insist to keep apart signatures and variables (or, moreprecisely, "generators of algebras"). The idea of "generators of algebras" is one of our mainmotivations to introduce "contexts" as a basic building block of LFOC’s (see Section 5.1). ◮ Example 8 (Universal Algebra: Variables) . Our “variable declarations” are “graphs ofvariables”, i.e., we declare two kinds of variables: vertex variables and edge variablesthat are connecting vertex variables. As
Var one can choose an enumerable subcategoryof
GRAPH . For this paper, we choose
Var to be the full subcategory of
GRAPH given by all finite graphs G = ( G V , G E , sc G ∶ G E → G V , tg G ∶ G E → G V ) with G V a fi-nite subset of the set { pv, pv , pv , . . . , xv, xv , xv , . . . } and G E a finite subset of the set { pe, pe , pe , . . . , xe, xe , xe , . . . } . The variables starting with p will be preferably used todescribe the arities of “feature symbols” (compare Definition 11 and the corresponding ex-amples). “ e ” in a variable name stands for “edge” while “ v ” refers to “vertex”. ◮ Example 9 (FOL: Variables) . ”Variable declarations” are traditionally just “finite sets ofvariables”. We take Var to be the full subcategory of
Set given by all finite subsets of the set { p, p , p , . . . , x, x , x , . . . } . Officially, there are no variables in ALC. To describe, however,ALC as a fragment of FOL we choose the same variable declarations as in FOL but restrictvariable substitutions to injective maps. ◮ Example 10 (Category Theory: Variables) . As in Example 8, we choose
Var to be given byall finite graphs G = ( G V , G E , sc G , tg G ) with G V a finite subset of the set { pv, pv , pv , . . . , xv, xv ,xv , . . . } and G E a finite subset of { pe, pe , pe , . . . , xe, xe , xe , . . . } , but now considered asa full subcategory of Graph .In traditional FOL the arity of predicates is described by natural numbers. To declarea binary predicate, for example, we have to declare a predicate symbol P with arity 2. Thismeans, whenever P appears in an expression there are two adjoint “positions” for variablesor values, respectively. Correspondingly, the semantics of P in a first-order structure withcarrier set A is a subset of A × A .There is a bijection between the Cartesian product A × A and the set of all maps from atwo-element set of variables (identifiers of positions), like { p , p } for example, into the set A . Relying on this observation, we define arities by means of “variable declarations”. ◮ Definition 11 (Third parameter: Footprint) . The third parameter of a LFOC is a footprint Ξ = ( Π , α ) over Var given by a set Π of feature symbols and a map α ∶ Π → Var
Obj . Forany P ∈ Π , the Var -object α ( P ) is called the arity of P . We will often write αP for α ( P ) . ◮ Remark 12 (Terminology: Footprint vs. signature).
In most of our applications, footprintsoccur as meta-signatures , in the sense, that each specification formalism (modeling tech-nique) is characterized by a certain footprint. Each of the formalisms Universal Algebra,Category Theory, and First-Order Logic is characterized by a certain footprint. The sketch
Logics of First-Order Constraints data model in [16] corresponds to a certain footprint and so on. For footprints of themodeling techniques “class diagrams” and “relational data model” we refer to [25, 26].Until today, we used in all our MDSE papers the terms “signature” instead of “footprint”and “predicate symbol” instead of “feature symbol”. This turned out to be a source forserious misunderstandings and misleading perceptions thus we decided to coin in this paperthe new terms “footprint” and “feature symbol” instead. ◮ Remark 13 (Dependencies between features).
In [8] we introduced and elaborated “depend-encies” between feature symbols. We considered categories ΠΠΠ of feature symbols togetherwith arity functors α ∶ ΠΠΠ → Var . We drop “dependencies” in this paper, to make things nottoo complicated in the beginning.Extending Makkai’s approach [18], we worked in [8] with categories ΠΠΠ of feature symbols,instead of just sets of feature symbols, and with arity functors α ∶ ΠΠΠ → Var , instead of justarity maps. Arrows between feature symbols represent dependencies between features. Thisallows us to reflect, already on the very basic level of feature symbols and thus prior to aritiesand semantics of features, that certain features depend on (are based upon) other features.As examples, one may express that both concepts "pullback" and "pushout" are based uponthe concept "commutative square" and that the categorical concept "inverse image" dependson the concept "monomorphism".Any semantics of feature symbols has then to respect those dependencies. Dependencyarrows are a tool to represent knowledge about and requirements on features prior to andindependent of any kind of logic. Dependency arrows make somehow the framework ofgeneralized sketches conceptual and structural round. It is may be worth to mention thatthe concept of "order-sorted algebra" can be seen as a somehow related idea where we donot impose, on the level of signatures, arrows between predicate symbols but between sortsymbols [15].In this first paper about LFOC’s we drop dependency arrows due to, at least, threereasons: (1) In order not to scare too many potential readers we do not want to deviatetoo much from the traditional first-order logic setting. (2) If we introduce dependenciesbetween feature symbols, we should consequently describe to what extend and how theygenerate dependencies between feature expressions (introduced in Section 4). On one side,this looks technically not fully trivial and, on the other side, such an effort has no relevancefor our applications. (3) The requirements expressed by dependency arrows between featuresymbols can be mimicked by the logic means we are going to introduce later. ◮ Example 14 (FOL: Footprint) . On this abstraction level, footprints correspond just totraditional FOL signatures. Especially, features are just traditional predicates. In oursample footprint we declare a unary feature symbol male with arity { p } and a tertiaryfeature symbol parent with arity { p , p , p } .A signature in ALC declares a set N C of “concept names” and a set N R of “role names”.In view of footprints, this means to declare a set N C of feature symbols all with arity { p } and a set N R of feature symbols all with arity { p , p } . A signature in ALC declares also aset N O of “individual names (nominals, objects)”. In our approach, those “individual names”are located in the so-called “contexts” (compare Example 51). ◮ Example 15 (Category Theory: Footprint) . Categories are graphs equipped with a com-position operation and an identity operation. At the present stage of expansion, we do notinclude operations (to be defined along the ideas from [29]) in our footprints thus we haveto formalize composition and identity by means of features. In such a way, the footprintfor the formalism “Category Theory” declares two feature symbols comp and id with arities . Wolter 7 described in the following table. comp pv pe / / pe pv pe / / pv id pv pe R R To force both existence and uniqueness of composition and identities, respectively, wehave to use “sketch rules”, introduced in Definition 61. Also associativity of compositionand neutrality of identities w.r.t. composition can be axiomatized by means of sketch rules.We could extent the language of our formalism "Category Theory" to represent propertieslike monomorphism, commutative square, binary product and pullbacks, for example. Thatis, we could declare the following feature symbols with their corresponding arities:
Symbol P Arity αP monic pv pe / / pv csqu pv pe / / pe (cid:15) (cid:15) pv pe (cid:15) (cid:15) pv pe / / pv prd ( ) pv pe " " ❋❋❋❋❋❋ pe | | ①①①①①① pv pv pb pv pe / / pe (cid:15) (cid:15) pv pe (cid:15) (cid:15) pv pe / / pv One of our main motivations to develop LFOC’s was to be able to express the universalproperties, defining those concepts only based on composition and identities, by means offirst-order feature expressions introduced in Section 4. ◮ Example 16 (Universal Algebra: Footprint) . We don’t want to recapitulate the insidethat the formalism "Many-sorted Universal Algebra (with equations)" can be encoded bymeans of the formalism “finite product sketches” [2]. We rather intend to reflect directlythe traditional step-by-step approach in Universal Algebra: introduce sorts – constructfinite Cartesian products of sorts – add operations – introduce variables – construct terms– introduce equations.So, we declare a feature final to denote empty products and a feature prod ( n ) to denoten-ary products for each n ≥
1. Note, that we hide, in contrast to finite product sketches,the "auxiliary" projection arrows. This reflects the traditional presentation of signatures inUniversal Algebra, where the projections are not present in the syntax but only come tothe surface in the semantics (see the short remark on "(semantical) induced sketch rules" inSection 7).Moreover, we declare a feature term ( n ) describing the construction of terms for n-aryoperation symbols for each n ≥ n =
2, where pe , pe are the“subterms”, pe is the “operation symbol” and pe is the “generated term” pe ⟨ pe , pe ⟩ . Itwould be natural, to express the requirement that pv is a binary product of pv and pv bya dependency between prod ( ) and term ( ) (see Remark 13). Since, we don’t include, atthe moment, dependencies, we may declare later a corresponding "axiom rule" (see Section7). As usual in Universal Algebra, we hide the "auxiliary arrow" ⟨ pe , pe ⟩ ∶ pv → pv andthe information that pe is the composition of ⟨ pe , pe ⟩ and pe (see Example 26). Logics of First-Order Constraints final pv prod ( n ) pvpv ● ● ● pv n term ( ) pv pv pe / / pv pv pe / / pe O O pe ❧❧❧❧❧❧❧❧❧❧❧❧❧ pv To formalize the step-by-step approach precisely, we should actually use as arities graphstyped over a type graph
U A consisting of two vertices
Sort , CProd and two edges op, term from
CProd to Sort . The point is, that the vertex pv in final , prod ( n ) , term ( ) as well asthe vertex pv in term ( ) are of type CProd while the vertices pv , . . . , pv n in prod ( n ) andthe vertices pv , pv in term ( ) are of type Sort . Moreover, it would be necessary to considera sequence of “language extensions”: (1) Only “type node”
Sort . (2) Add “type node”
CProd and features final , prod ( n ) . (3) Add “type edge” op . (4) Add “type edge” term and feature term ( n ) . Both topics - “typed variable declarations” and “language extensions” - will besubjects of future developments. To make things not too complicated, we work here with the traditional semantics-as-interpretationparadigm, in contrast to [8], where we spelled out the semantics-as-instance paradigm (fibredsemantics). To define the semantics of variables and features, we have first to decide for(potential) carriers of structures. ◮ Definition 17 (Fourth parameter: Carriers) . As the fourth parameter of a LFOC, we choosea subcategory
Carr of Base of (potential) carriers of Ξ -structures. ◮ Example 18 (FOL: Carriers) . Here we choose just
Carr = Base = Set . ALC considers alsoarbitrary sets as potential carriers only that they are called “domains (of an interpretation)”. ◮ Example 19 (Category Theory: Carriers) . We could choose only those graphs that appearas underlying graphs of small categories. We will, however, not restrict ourselves and chose,in analogy to Example 18,
Carr = Base = Graph . ◮ Example 20 (Universal Algebra: Carriers) . The traditional approach choses the underlyinggraph gr ( Set ) of the category Set as the only (potential) carrier.The semantics of a “variable declaration” X ∈ Var relative to a chosen carrier U ∈ Carr is just the set of all ”variable assignments” (remind that
Var ⊑ Base and
Carr ⊑ Base ) [[ X ]] U ∶= Base ( X, U ) . (1)Structures for footprints are defined in full analogy to the definition of structures for signa-tures in traditional first-order logic. ◮ Definition 21 (Structures) . A Ξ -structure U = ( U, Π U ) is given by an object U in Carr ,the carrier of U , and a family Π U = {[[ P ]] U ∣ P ∈ Π } of sets [[ P ]] U ⊆ Base ( αP, U ) of ”valid interpretations” of feature symbols P in U . Homomorphisms are also defined in the usual and obvious way that “truth is preserved”. ◮ Definition 22 (Homomorphisms) . A homomorphism ς ∶ U → V between Ξ -structures isgiven by a morphism ς ∶ U → V in Carr such that ι ∈ [[ P ]] U implies ι ; ς ∈ [[ P ]] V for allfeature symbols P in Π and all interpretations ι ∶ αP → U . αP ι ∈[[ P ]] U } } ④④④④④④ ι ; ς ∈[[ P ]] V ! ! ❈❈❈❈❈❈ ⇒ U ς / / V . Wolter 9 Identities of carriers define identity homomorphisms and composition of homomorphisms isinherited from composition in
Carr . In such a way, we obtain a category
Struct ( Ξ ) ofall “available” Ξ-structures. We are, however, free to choose only those structures, we areinterested in. ◮ Definition 23 (Fifth parameter: Structures) . As the fifth parameter of a LFOC, we choosea certain subcategory
Sem ( Ξ ) of the category Struct ( Ξ ) of all Ξ -structures. ◮ Example 24 (FOL: Semantics) . Sem ( Ξ ) = Struct ( Ξ ) comprises all Ξ-structures U givenby an arbitrary set U together with arbitrary subsets [[ male ]] U ⊆ Set ({ p } , U ) = U { p } and [[ parent ]] U ⊆ Set ({ p , p , p } , U ) = U { p ,p ,p } as well as all homomorphisms between thoseΞ-structures.Any “terminological interpretation” I in ALC includes the choice of a non-empty set∆ I , called “domain”, an interpretation of each “concept name” in N C as a subset of ∆ I ≅ Set ({ p } , ∆ I ) and an interpreation of each “role name” in N R as a subset of ∆ I × ∆ I ≅ Set ({ p , p } , ∆ I ) . Obviously, this corresponds to our concept of structure. ◮ Example 25 (Category Theory: Semantics) . Analogously to Example 24,
Sem ( Ξ ) = Struct ( Ξ ) comprises all Ξ-structures U given by an arbitrary graph U together with ar-bitrary subsets [[ id ]] U ⊆ Graph ( α ( id ) , U ) and [[ comp ]] U ⊆ Graph ( α ( comp ) , U ) . Thatis, we include also structures like “categories without identities”, “categories with partialcomposition” and so on. Moreover, Sem ( Ξ ) includes all homomorphisms between thoseΞ-structures. ◮ Example 26 (Universal Algebra: Semantics) . Sem ( Ξ ) contains exactly one Ξ-structure U = ( U, Π U ) with U ∶= gr ( Set ) . We choose only the singleton, containing the “emptytuple”, [[ final ]] U ∶= { ι ∶ α ( final ) → gr ( Set ) ∣ ι ( pv ) = {()} } and use only Cartesian products [[ prod ( n ) ]] U ∶= { ι ∶ α ( prod ( n )) → gr ( Set ) ∣ ι ( pv ) = ι ( pv ) × . . . × ι ( pv n )} . Moreover, ι ∶ α ( term ( )) → gr ( Set ) is in [[ term ( ) ]] U iff ι ( pv ) = ι ( pv ) × ι ( pv ) and ι ( pe ) = ⟨ ι ( pe ) , ι ( pe )⟩ ; ι ( pe ) . ⊲ Open issue 27 (Multiple semantic universes in DPF?).
We should check once if the idea tohave more than one structure in
Sem ( Ξ ) may work for DPF. We could, for example, considerthe three categories Set , Par and
Mult with the corresponding embedding functors.
By a “feature expression” we mean something like a “formula with free variables” in tradi-tional FOL. We do not consider them as formulas, but rather as “derived features”. For us,a “formula” is, semantically seen, the subject of being “valid or not valid” in a given struc-ture, while the semantics of a “feature expression”, with respect to a given structure, is the“set of all its “solutions”, i.e., the set of all valid interpretations of the “derived feature” inthis structure. We experience this perspective as the most adequate one, when formalizingand working with “constraints” in Modeling Driven Engineering. We have not seen “closedformulas” playing any role in this application area! ◮ Definition 28 (Feature expressions: Syntax) . For a footprint Ξ = ( Π , α ) over Var wedefine inductively the set of all (first-order) feature Ξ -expressions Exp with arity X , X ▷ Exp in symbols, where X varies, in parallel, over all the objects in Var : Atomic expression: X ▷ P ( ϕ ) for any symbol P ∈ Π and morphism ϕ ∶ αP → X in Var . Everything: X ▷ ⊺ for any object X in Var . Void: X ▷ – for any object X in Var . Conjunction: X ▷ ( Exp ∧ Exp ) for any expressions X ▷ Exp and X ▷ Exp . Disjunction: X ▷ ( Exp ∨ Exp ) for any expressions X ▷ Exp and X ▷ Exp . Negation: X ▷ ¬ Exp for any expression X ▷ Exp . Conditional existential quantification: X ▷ ( Exp → ϕ ∃ ( Y ∶ Exp )) for any expressions X ▷ Exp , Y ▷ Exp and any morphism ϕ ∶ X → Y in Var . Conditional universal quantification: X ▷ ( Exp → ϕ ∀ ( Y ∶ Exp )) for any expressions X ▷ Exp , Y ▷ Exp and any morphism ϕ ∶ X → Y in Var . We included the case
Void after we became acquainted with Description Logics. ◮ Remark 29 (Arity).
CALCO-reviewer 3 proposed to use the phrase "expressions withvariables in X " instead of "expressions with arity X ". We are not following this proposalfor two reasons: (1) We can not talk about "variables in X " since X is just an object in anarbitrary base category. (2) We consider feature expressions as "derived features" thus theyshould have an arity in the same way as the "basic features" in a footprint do have an arity. ◮ Remark 30 (Notation for expressions).
In traditional FOL, X and Y are sets of variablesand, instead of arbitrary maps ϕ ∶ X → Y , only inclusion maps in X,Y ∶ X ↪ Y are consideredin quantifications. Moreover, only the quantified variables Y ∖ X are recorded while Y has tobe (re)constructed as the union X ∪ ( Y ∖ X ) . In other words, our Y lists all (!) variables thatare allowed to appear as “free variables” in Exp ! We record the whole Y for three reasons:(1) Even in arbitrary pre-sheaf topoi, we do not have complements. (2) We quantify actuallyover morphisms with source Y when we define the semantics of quantifications (compareDefinition 37) (3) In contrast to traditional FOL, ϕ ∶ X → Y is allowed to be non-monic.We allow non-monic morphims ϕ ∶ X → Y , even in case Var ⊑ Set , to express identific-ations without “polluting” our logic with equational symbols. Anyway, there seems to beno way to encode identifications by means of equational symbols if we go beyond presheaftopoi!?In case X = Y and ϕ = id X , both quantifications become obsolete and we get a kind of“propositional implication” that we can just write as X ▷ ( Exp → Exp ) .In case Exp = ⊺ , quantification becomes un-conditional, and we can just write X ▷∃ ϕ ( Y ∶ Exp ) and X ▷ ∀ ϕ ( Y ∶ Exp ) for the corresponding existential quantification X ▷ ( ⊺ → ϕ ∃ ( Y ∶ Exp )) and universal quantification X ▷ ( ⊺ → ϕ ∀ ( Y ∶ Exp )) , respectively.If our base category Base is a pre-sheaf topos, like
Set or Graph , for example, inclusionsof sets give us “inclusion morphisms” at hand. In case, ϕ = in X,Y ∶ X ↪ Y is such an“inclusion morphism”, we will drop the subscript ϕ (see Examples 34, 35 and 36). ◮ Remark 31 (Everything and Void). ⊺ and – are not “logical constants”, but “special featuresymbols”, inbuilt in any LFOC (analogously to the equation symbol in traditional UniversalAlgebra). To make this statement fully precise, we have to assume that Base has an initialobject 0 that is included in
Var . 0 is then the arity of ⊺ and – , while the fixed semanticsfor any carrier U is given by the two subsets of the singleton Base ( , U ) = { ! U ∶ → U } ,namely [[ – ]] U = ∅ and [[ ⊺ ]] U = { ! U } . Consequently, we could use the same notation as foratomic expressions, namely X ▷ ⊺ ( ! X ) and X ▷ – ( ! X ) where ! X ∶ → X is the unique initialmorphism into X . . Wolter 11 ◮ Remark 32 (Closed formulas).
In the presence of an initial object 0, feature expressions0 ▷ Exp correspond to what is usually called a “closed formula” in traditional FOL. Note,that both
Conditional quantifications will generate “closed formulas” only in case X = ϕ = ! Y ∶ → Y is the only choice for ϕ , in this case. ◮ Remark 33 (Substitutions).
For any X ∈ Var we consider the set
F eat ( Ξ , X ) of all feature Ξ-expressions with fixed arity X , i.e., Exp ∈ F eat ( Ξ , X ) if and only if the statement ( X ▷ Exp ) can be derived with the rules in Definition 28.Note, that the sets F eat ( Ξ , X ) are not disjoint. Each of the sets contains, for example,the special feature symbols – and ⊺ . Therefore, we work in Definition 28 with the notation X ▷ . . . .It is desirable that any “variable substitution” ψ ∶ X → Z in Var induces a “substitutionmap” from
F eat ( Ξ , X ) into F eat ( Ξ , Z ) . Due to the two Conditional quantifications , how-ever, we can only define those maps if
Base has pushouts for (certain) spans in
Var andif we can choose pushouts, in such a way, that
Var is closed under them. Even then, theassignments X ↦ F eat ( Ξ , X ) may be extended only to a pseudo-functor from Var into
Set ,since chosen pushouts are, in general, not compositional.We do not need “substitution maps” for the general definition of LFOC’s in this paper.They will be, however, essential for a LFOC to be useful in applications (compare the fol-lowing examples). A systematic investigation of the additional conditions for the categories
Base and
Var that ensure the availability of “application-friendly substitution maps” isanother topic for future research.If we extend once the framework by operations, the arrows ϕ in atomic expressions X ▷ P ( ϕ ) will be substitutions, i.e., Kleisli morphisms substituting variables by terms (com-pare [29]) Every Kleisli morphism should induce then also a map from F eat ( Ξ , X ) into F eat ( Ξ , Z ) !? ◮ Example 34 (FOL: Expressions) . If we consider male and parent as traditional unary resp.tertiary predicate symbols, we can construct an “open formula” like ( ∃ x ∃ x ∃ x ∶ parent ( p, x , x ) ∧ parent ( x , x , x )) with p the only free variable. We consider this as a derived unary property “being siblingof someone”. We could introduce an auxiliary symbol sibling and use sibling ( p ) as ashorthand (macro) for this open formula. The conjunction ( male ( p ) ∧ sibling ( p )) wouldthen represent a derived unary property “being brother of someone”.We consider the tuple ( p, x , x ) just as a convenient notation of the assignments ( p ↦ p, p ↦ x , p ↦ x ) defining a map ϕ from the arity { p , p , p } of parent into the set { p, x , x , x } of variables (compare [29]). Relying on the conventions in Remark 30, we canthen represent the derived property “being sibling of someone” by the feature expression { p } ▷ ∃ ({ p, x , x , x } ∶ ( parent ( p, x , x ) ∧ parent ( x , x , x ))) .We would like to use this feature expression to define an auxiliary feature symbol sibling with arity { p } . To ensure, that then any feature expression X ▷ Exp , containing sibling ,can be expanded into an equivalent feature expression X ▷ Exp ′ , containing only the originalfeature symbols male and parent , we need “substitution maps”, as discussed in Remark 33.A property “having at most one couple of parents” is represented by the feature expres-sion { p } ▷ ∀ ({ p, x , x , x , x } ∶ (( parent ( p, x , x ) ∧ parent ( p, x , x )) → ϕ ∃ ({ x , x , x } ∶ ⊺ ))) .with ϕ ∶ { p, x , x , x , x } → { x , x , x } defined by p ↦ x ; x , x ↦ x ; x , x ↦ x .ALC focuses on “derived concepts”, i.e., feature expressions with X a singleton. Todescribe, however, all “derived concepts” as feature expressions, we have to use arbitraryfinite sets of variables. To simulate the restriction on “derived concepts”, we have to vary rules (7) and (8). Using our notational conventions, the ALC construct “universal restriction ∀ R . C for any role R ∈ N R , any (derived) concept C ”, can be described as follows: For anyrole R in N R , any expression { p } ▷ C and any variables x , x , not appearing in C , we have: { x } ▷∀ ({ x , x } ∶ R ( x , x ) → C ϕ ( x )) where ϕ ∶ { p } → { x , x } is given by ϕ ( p ) = x andthe expression { x , x } ▷ C ϕ ( x ) is obtained by substituting each occurrence of p in C by x and by extending each variable declaration Y in C by the “fresh variable” x . Analogously,the ALC construct “the existential restriction ∃ R . C of a concept C by a role R ∈ N R ” can bedescribed by existential quantification: For any role R in N R , any expression { p } ▷ C andany variables x , x , not appearing in C , we have: { x } ▷ ∃ ({ x , x } ∶ R ( x , x ) ∧ C ϕ ( x )) .CALCO-reviewer 3 confirmed our translation of ACL into LFOC: The feature expressionsthat you get for the ALC restrictions are precisely those that you get for their translationto first-order logic along the standard encoding of ALC in FOL. This is no surprise, but ifyou did this independently, you can regard this as a confirmation of your intuition. ◮ Example 35 (Category Theory: Expressions) . ( We are sorry, put we will postpone adiagrammatic presentation of this example to the next version of the paper.)The existence of an identity morphism for a certain single vertex can be stated by meansof the feature expression X ▷ ∃ ( α ( id ) ∶ id ( pe )) , where graph X consists only of a vertex pv . “ ( pe ) ” is considered as a notation of the assignment ( pe ↦ pe ) representing uniquelythe graph homomorphism id α ( id ) . To express the uniqueness of the identity morphism fora certain vertex, we do have the expression X ▷ ∀ ( Y ∶ ( id ( pe ) ∧ id ( pe ) → ϕ ∃ ( α ( id ) ∶ ⊺ ))) ,where Y is a graph with one node pv and two loops pe , pe , and ϕ ∶ Y → α ( id ) is givenby the assignments ( pv ↦ pv ; pe , pe ↦ pe ) . Analogously, we can express existence anduniqueness of composition of a certain pair of edges. At the end, we can express anyproperties, like monic, jointly monic, commutative (co)cone, existence and uniqueness ofmediating morphisms, limit cone, colimit cone and so on, by means of feature expressions.We can also hide auxiliary items. The property “commutative square”, e.g., is given by X ▷∃ ( Y ∶ comp ( pe , pe , pe ) ∧ comp ( pe , pe , pe )) , where the arity X is a square with edges pv pe → pv pe → pv and pv pe → pv pe → pv and Y extends X by an arrow pv pe → pv . ◮ Example 36 (Universal Algebra: Expressions) . In this case, feature expressions allow us toformulate (not fully precisely) properties like “being a constant”, “being a Cartesian productof”, “being a variable (projection)”, “being an operation/term”. For a more precise charac-terization, we have to work with “typed arities” as indicated in Example 16. Analogouslyto the “commutative square” expression in Example 35, we can also hide “subterms”.Note, that we have the property “two terms are equal” at hand by means of the simplefeature expression X ▷ ∃ ϕ ( Y ∶ ⊺ ) , with X given by two parallel edges pe , pe ∶ pv → pv and Y consisting of one edge pe ∶ pv → pv . ϕ is the only graph homomorphism from X into Y . Relying on Definition 21 of the semantics of feature symbols, we are going to define thesemantics of a feature expression X ▷ Exp in a Ξ-structure U = ( U, Π U ) as the set [[ Exp ]] U X of all ”solutions” (valid interpretations) of X ▷ Exp in U . This semantics is a restrictionof the semantics of X relative to the carrier U , i.e., [[ Exp ]] U X ⊆ [[ X ]] U = Base ( X, U ) .For interpretations ι ∶ X → U , we will use, instead of ι ∈ [[ Exp ]] U X , also the equivalent,but more traditional, notation ι ⊧ U X ▷ Exp . . Wolter 13 Given a morphism ϕ ∶ X → Y in Var , we say that an interpretation ̺ ∶ Y → U is an extension of an interpretation ι ∶ X → U via ϕ if, and only if, ϕ ; ̺ = ι . X ϕ / / ι ❆❆❆❆❆❆ = Y ̺ ~ ~ ⑦⑦⑦⑦⑦⑦ U ◮ Definition 37 (Feature expressions: Semantics) . The semantics of feature Ξ -expressions inan arbitrary, but fixed, Ξ -structure U = ( U, Π U ) is defined inductively: Atomic expressions: ι ∈ [[ P ( ϕ ) ]] U X iff ϕ ; ι ∈ [[ P ]] U αP ϕ / / ϕ ; ι ! ! ❈❈❈❈❈❈ = X ι ~ ~ ⑥⑥⑥⑥⑥⑥ U Everything: [[ ⊺ ]] U X ∶= [[ X ]] U = Base ( X, U ) Void: [[ – ]] U X ∶= ∅ Conjunction: [[ Exp ∧ Exp ]] U X ∶= [[ Exp ]] U X ∩ [[ Exp ]] U X Disjunction: [[ Exp ∨ Exp ]] U X ∶= [[ Exp ]] U X ∪ [[ Exp ]] U X Negation: [[ ¬ Exp ]] U X ∶= Base ( X, U ) ∖ [[ Exp ]] U X Conditional existential quantification: ι ∈ [[ ( Exp → ϕ ∃ ( Y ∶ Exp )) ]] U X iff ι ∈ [[ Exp ]] U X implies that there exists an extension ̺ of ι via ϕ such that ̺ ∈ [[ Exp ]] U Y . X ϕ / / ι ⊧ U X ▷ Exp ❆❆❆❆❆❆ = Y ∃ ̺ ⊧ U Y ▷ Exp ~ ~ ⑦⑦⑦⑦⑦⑦ U Conditional universal quantification: ι ∈ [[ ( Exp → ϕ ∀ ( Y ∶ Exp )) ]] U X iff ι ∈ [[ Exp ]] U X implies that for all extensions ̺ of ι via ϕ it holds that ̺ ∈ [[ Exp ]] U Y . X ϕ / / ι ⊧ U X ▷ Exp ❆❆❆❆❆❆ = Y ∀ ̺ ⊧ U Y ▷ Exp ~ ~ ⑦⑦⑦⑦⑦⑦ U ◮ Remark 38 (Feature expressions: Semantics).
Every feature symbol P in Π reappears asthe Ξ-expression αP ▷ P ( id αP ) and Definition 37 ensures [[ P ( id αP ) ]] U αP = [[ P ]] U .As usual, any conditional quantification becomes valid, if the condition does not hold,i.e., if ι ∉ [[ Exp ]] U X . This gives us “guarded constraints” at hand that need only to bechecked if the “guard” Exp becomes valid. This is quite relevant for practical applications.If ι ∈ [[ Exp ]] U X , the conditional universal quantification X ▷ ( Exp → ϕ ∀ ( Y ∶ Exp )) is trivially valid if there is no extension ̺ of ι at all, while the corresponding conditionalexistential quantification is not valid, in this case. ⊲ Open issue 39 (Constructive feature expressions).
A feature expression X ▷ Exp may becalled constructive if it does not contain Negation or Conditional universal quantification,respectively. Our conjecture is that the semantics of constructive predicate expressions ispreserved by homomorphisms between Ξ-structures. Generalizing concepts like “set of generators” in Group Theory, “underlying graph of asketch” in Category Theory, “set of individual names” in Description Logics and “underly-ing graph of a model” in Software Engineering, we coin in this section the concept “context”.Further, we introduce “constraints” in generalizing the corresponding concepts “definingrelation” in Group Theory, “diagram in a sketch” in Category Theory, “concept/role asser-tion” in Description Logic and “constraint” in Software Engineering. We use the conceptof institution [6, 14] as a methodological guideline to develop and present correspondingLFOC’s. As ”signatures” , in the sense of institutions, we introduce “contexts”. ◮ Definition 40 (Sixth parameter: Contexts) . As the sixth parameter of a LFOC, we choosea subcategory
Ctxt of Base such that
Var is a subcategory of
Ctxt . The objects in
Ctxt are called ”contexts” while we refer to the morphisms in
Ctxt as ”context morphisms” . ◮ Remark 41 (Variables vs. context).
Introducing “contexts”, we establish a technologicallayer between “pure syntax” (variable declarations) and “pure semantics” (carriers of struc-tures). We may use the term pseudo syntax . We prefer to consider variable declarationsas something finite or enumerable while contexts can be arbitrary. If we are interested incompleteness proofs and corresponding free structures, for example, we may have contextsthat are or become carriers of structures. Or, to say it in the light of Remark 7: We refusead-hoc extensions of footprints (signatures) by carriers of structures.We perceive the inclusion
Var ⊑ Ctxt as a “change of roles”: Variables are essentiallysyntactic items but can also serve as “generators of structures”, like groups and (term)algebras, for example. ◭ As ”sentences” , in the sense of institutions, we consider “constraints”. ◮ Definition 42 (Constraint) . A Ξ -constraint ( X ▷ Exp, β ) on a context K ∈ Ctxt is givenby a feature Ξ -expression X ▷ Exp and a binding morphism β ∶ X → K in Ctxt .By
Cstr ( K ) we denote the set of all Ξ -constraints on K . ◮ Remark 43 (Expression vs. constraint).
We distinguish between expressions and constraintsfor, at least, three reasons: (1) This corresponds to the situation in sketches where wedistinguish between a property and its arity, on one side, and a diagram, on the otherside. (2) We consider expressions as pure syntactic entities. (3) Using constraints, we canencapsulate the construction of syntactic entities and can realize “changes of bases” in anycategory
Base by simple composition. This trick we adapt from [14] where it is used for“initial/free constraints”. ◭ Any morphism ϕ ∶ K → G in Ctxt induces a map
Cstr ( ϕ ) ∶ Cstr ( K ) → Cstr ( G ) definedby simple post-composition: Cstr ( ϕ )( X ▷ Exp, β ) ∶= ( X ▷ Exp, β ; ϕ ) for all constraints ( X ▷ Exp, β ) on K . X ▷ Exp β y y tttttttt β ; ϕ $ $ ❏❏❏❏❏❏❏❏ K ϕ / / G ✇ C C It is easy to show, that the assignments K ↦ Cstr ( K ) and ϕ ↦ Cstr ( ϕ ) provide afunctor Cstr ∶ Ctxt → Set . This is our ”sentence functor” , in the sense of institutions. . Wolter 15 ”Models” , in the sense of institutions, are interpretations of contexts in structures. ◮ Definition 44 (Context interpretations) . An interpretation ( ι, U ) of a context K ∈ Ctxt is given by a Ξ -structure U = ( U, Π U ) in Sem ( Ξ ) and a morphism ι ∶ K → U in Base .A morphism ς ∶ ( ι, U ) → ( ̺, V ) between two interpretations of K is given by a morphism ς ∶ U → V in Sem ( Ξ ) such that ι ; ς = ̺ for the underlying morphism ς ∶ U → V in Carr . K ι ~ ~ ⑥⑥⑥⑥⑥⑥ ̺ ❆❆❆❆❆❆ = U ς / / V For any context K in Ctxt we denote by
Intr ( K ) the category of all interpretations of K and all morphisms between them. Note, that
Intr ( K ) is a discrete category (set) in case Sem ( Ξ ) consists of exactly one objectand its identity morphism, as in case of our Universal Algebra example (see Example 26). ⊲ Open issue 45 (Natural transformations?).
We present in this paper an abstract andgeneral definition of LFOC’s that fits all the applications, we do have in mind. Thereforewe are not assuming any structure on the hom-sets
Base ( K, U ) .There are, however, cases like the Universal Algebra example, for instance, where Base ( K, U ) is actually a category with natural transformations as morphisms. For those special caseswe can vary Definition 44 in such a way that a morphism between the two interpretations of K is given by a morphism ς ∶ U → V in Carr and a natural transformation in
Base ( K, V ) from ι ; ς to ̺ . We are convinced that all the following constructions and results can betransferred, more or less, straightforwardly to this extended version of morphisms betweeninterpretations. For the moment, we have, however, to let this extension for special LFOC’sopen as another topic of future research. ◭ Any context morphism ϕ ∶ K → G induces a functor Intr ( ϕ ) ∶ Intr ( G ) → Intr ( K ) defined by simple pre-composition: Intr ( ϕ )( ̺, V ) ∶= ( ϕ ; ̺, V ) for all interpretations ( ̺, V ) of G , and for any morphism ς ∶ ( ι, U ) → ( ̺, V ) between two interpretations of G the sameunderlying morphism ς ∶ U → V in Carr establishes a morphism
Intr ( ϕ )( ς ) ∶= ς ∶ ( ϕ ; ι, U ) → ( ϕ ; ̺, V ) between the corresponding two interpretations of K . K ϕ / / ϕ ; ̺ ❆❆❆❆❆❆ G ̺ ~ ~ ⑦⑦⑦⑦⑦⑦ K ϕ / / ϕ ; ι (cid:15) (cid:15) ϕ ; ̺ & & ◆◆◆◆◆◆◆◆◆◆ G ̺ (cid:15) (cid:15) ι x x ♣♣♣♣♣♣♣♣♣♣ V U ς / / V ⑧ (cid:127) (cid:127) It is straightforward to validate, that the assignments K ↦ Intr ( K ) and ϕ ↦ Intr ( ϕ ) definea functor Intr ∶ Ctxt op → Cat . This is our ”model functor” , in the sense of institutions.
The last two steps, in establishing an institution, are the definition of satisfaction relationsand the proof of the so-called satisfaction condition. The satisfaction relations are simplygiven by the semantics of features expressions, as described in Definition 37, and the com-position of morphisms in
Base . ◮ Definition 46 (Satisfaction relation) . For any context K ∈ Ctxt , any constraint ( X ▷ Exp, β ) on K and any interpretation ( ι, U ) of context K we define: ( ι, U ) ⊧ K ( X ▷ Exp, β ) iff β ; ι ⊧ U X ▷ Exp ( i.e. β ; ι ∈ [[ Exp ]] U X ) (2) K ι (cid:127) (cid:127) ⑦⑦⑦⑦⑦⑦ U X ▷ Exp β e e ❏❏❏❏❏❏❏❏ β ; ι o o Having developed everything in a systematic modular way, satisfaction condition is “forfree”. ◮ Corollary 47 (Satisfaction condition) . For any morphism ϕ ∶ K → G in Ctxt , any constraint ( X ▷ Exp, β ) on K , and any interpretation ( ̺, U ) of context G we have: Intr ( ϕ )( ̺, U ) ⊧ K ( X ▷ Exp, β ) iff ( ̺, U ) ⊧ G Cstr ( ϕ )( X ▷ Exp, β ) . (3) K ϕ (cid:15) (cid:15) ( ϕ ; ̺, U ) ⊧ K ( X ▷ Exp, β ) ❴ Cstr ( ϕ ) (cid:15) (cid:15) K ϕ (cid:15) (cid:15) ϕ ; ̺ (cid:127) (cid:127) (cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0) U X ▷ Exp β d d ■■■■■■■■ β ; ϕ z z ✉✉✉✉✉✉✉✉ G ( ̺, U ) ⊧ G ❴ Intr ( ϕ ) O O ( X ▷ Exp, β ; ϕ ) G ̺ _ _ ❃❃❃❃❃❃ Proof.
Due to the definition of the functors
Intr ∶ Ctxt op → Cat and
Cstr ∶ Ctxt → Set , weobtain the commutative diagram, above on the right, thus condition 3 follows immediatelyfrom Definition 46. ◭◮ Remark 48 (Satisfaction Condition).
There is a certain similarity between the nearly trivialproof of the satisfaction condition in Corollary 47 and the systematic and detailed proofsof the satisfaction condition for four formalisms in [28]. Introducing in [28] the concept of“corresponding assignments”, those proofs became uniformly easy and straightforward.Summarizing all our definitions and results, we can state the main result of the paper: ◮ Theorem 49 (Institution of Constraints) . Any choice of a base category
Base , of sub-categories
Var , Ctxt , Carr of Base such that
Var ⊑ Ctxt , of a footprint Ξ and of acategory Sem ( Ξ ) of Ξ -structures establishes a corresponding institution of constraints IC = ( Ctxt , Cstr , Intr , ⊧ ) . An institution of constraints IC = ( Ctxt , Cstr , Intr , ⊧ ) is the essential building blockof a LFOC. We are, however, still missing expressive tools to axiomatize the semantics offeatures and to define the corresponding syntactic counterpart, namely deduction rules. Wewill outline this dimension of LFOC’s in Section 7. Any institution gives us a corresponding category of presentations and an extension of the“model functor” of the institution to the category of presentations [6, 14]. We will outlinethis construction for institutions of constraints using, however, the term “sketch” instead of“presentation”. . Wolter 17 ◮ Definition 50 (Sketch) . A (first-order) Ξ -sketch K = ( K, C K ) is given by a context K ∈ Ctxt and a set C K of Ξ -constraints on K . ◮ Example 51 (FOL: Sketches) . ”Elementary diagrams” are discussed in Remark 57.In ALC we meet contexts as “sets N O of individual names”. “Assertional axioms” are“concept assertions” or “role assertions”. A “concept assertion”, i.e., a statement of the form a ∶ C where a ∈ N O and C is a (derived) concept, can be seen as a constraint ({ p } ▷ C ( p ) , ( a )) on N O where “ ( a ) ” is just a convenient notation for a binding β ∶ { p } → N O with β ( p ) = a .A “role assertion”, i.e., a statement of the form ( a, b ) ∶ R where a, b ∈ N O and R is a role,can be seen as a constraint ({ p , p } ▷ R ( p , p ) , ( a, b )) on N O . An “ABox” is a finite set of“assertional axioms”. So, a pair ( N O , A ) of a “set N O of individual names” and an ABox A of “assertional axioms” on N O is just a sketch in our sense. ◮ Example 52 (Category Theory: Sketches) . These are just the sketches, as we know them,with the essential difference, that we are not restricting ourselves to commutative, limit andcolimit diagrams. We do not need to code, for example, the property “monic” by means ofa pullback, but can define it directly as a property of edges. We can define “jointly monic”directly as a property of a span without referring to products. We can require that onlycertain paths in a diagram commute and so on. ◮ Example 53 (Universal Algebra: Sketches) . On this abstraction level, we can representany many-sorted algebraic signature Σ by a sketch. Any set of Σ-terms, any set of Σ-equations, any equational Σ-specification can be represented by a sketch. A point is that“categorical products” are not needed to describe terms and equations, but only to reasonabout them. The fact, that Cartesian products are “categorical products” in
Set , can beadded a posteriori by means of “universal rules” (see Remark 64). ◭ For any context K ∈ Ctxt , any set C ⊆ Cstr ( K ) of constraints on K and any interpretation ( ι, U ) of context K in a Ξ-structure U in Sem ( Ξ ) we define (see Definition 46): ( ι, U ) ⊧ K C iff ( ι, U ) ⊧ K ( X ▷ Exp, β ) for all ( X ▷ Exp, β ) ∈ C. (4)Note, that the constraints in C may have different “variable declarations” X . ◮ Definition 54 (Model of sketch) . A model of a Ξ -sketch K = ( K, C K ) is an interpretation ( ι, U ) of a context K such that ( ι, U ) ⊧ K C K . We denote by Mod ( K ) the full subcategory of Intr ( K ) determined by all models of K . To define reasonable morphisms between sketches, we have to take into account semanticalentailments between constraints: ◮ Definition 55 (Constraint entailment) . For any context K ∈ Ctxt , any sets
C, D ⊆ Cstr ( K ) of constraints on K , we say that C entails D (semantically) , C (cid:13) K D in symbols, if, andonly if, for all interpretations ( ι, U ) of K : ( ι, U ) ⊧ K C implies ( ι, U ) ⊧ K D . Note, that we quantify over all interpretations in all structures at once. This is equivalentto the usual two step approach: First, a quantification over all interpretations in singlestructures and, second, a quantification over all structures. ◮ Definition 56 (Sketch morphism) . A morphism ϕ ∶ K → G between two Ξ -sketches K = ( K, C K ) and G = ( G, C G ) is given by a morphism ϕ ∶ K → G in Ctxt such that C G (cid:13) G Cstr ( ϕ )( C K ) . By Sketch ( Ξ ) we denote the category of all Ξ -sketches. Sketch morphisms ϕ ∶ K → G with K = G and ϕ = id K correspond to constraint entailments. ◮ Remark 57 (Sketch vs. structure).
In practical applications, we work only with finitecontexts. If we are, however, interested in completeness proofs and/or the construction offree structures, for example, we have to assume that
Carr is a subcategory of
Ctxt . In thiscase, we have two canonical ways to transform a Ξ-structure U = ( U, Π U ) into a “semanticalΞ-sketch”. The minimalist variant encodes only the semantics of feature symbols, that is,we take the Ξ-sketch S U Π = ( U, C U Π ) with C U Π = {( αP ▷ P ( id αP ) , ι ) ∣ P ∈ Π , ι ∈ [[ P ]] U } .The maximal variant encodes the semantics of all feature expressions, that is, we take theΞ-sketch S U = ( U, C U ) with C U = {( X ▷ Exp, ι ) ∣ X ∈ Var , ι ∈ [[ Exp ]] U X } . By construction, ( id U , U ) is a model as well of S U Π as of S U that is, moreover, initial in Mod ( S U Π ) . It can beshown, that the minimalist variant gives rise to a full embedding of Sem ( Ξ ) into Sketch ( Ξ ) .There are no structures in [8]. Instead, we worked, essentially, with the minimalist vari-ant of “semantical sketches”. In traditional FOL, we meet the maximal variant in form of ”elementary diagrams” [4]. The difference is that the carrier of a first-order structure isnot taken as a “context”, located between footprints (signatures) and structures. Instead,each element of the carrier is added as a constant to the signature. As long as Base is apre-sheaf topos, it may be possible to use the same trick to produce “syntactic encodings” ofstructures. But, even so, we are convinced, that sketches provide a more direct and adequatetool to produce and to work with “syntactic encodings” of structures. The “elementary dia-gram” approach needs to encode homomorphisms between structures by means of signaturemorphisms. This looks inadequate since different abstraction levels are mixed up. ◭ Since, we realize “changes of bases” by simple post-composition, we can construct apushout in
Sketch ( Ξ ) by means of a pushout in Base and a union of translated constraints. ◮ Corollary 58 (Pushouts) . Sketch ( Ξ ) has pushouts as long as Base has pushouts.
For any sketch morphism ϕ ∶ K → G the condition C G (cid:13) G Cstr ( ϕ )( C K ) ensures, dueto the satisfaction condition, that the functor Intr ( ϕ ) ∶ Intr ( G ) → Intr ( K ) restricts to afunctor from Mod ( G ) into Mod ( K ). In such a way, the assignments K ↦ Mod ( K ) extend to afunctor Mod ∶ Sketch op → Cat . ◮ Remark 59 (Amalgamation).
Since pushouts in
Sketch ( Ξ ) are based on pushouts in Base ,we get, trivially, what is called “amalgamation” in Algebraic Specifications [10]. Abstractlyformulated:
Base having pushouts ensures also that
Mod ∶ Sketch ( Ξ ) op → Cat is continuous,that is, maps pushouts in
Sketch ( Ξ ) into pullbacks in Cat [11, 30]. ◮ Remark 60 (Software models).
In Software Engineering, sketches appear plainly as appro-priate formalizations of a broad variety of Software Models. In our MDSE papers, we callthem, however, specifications (or models) since we experienced that engineers can not per-ceive a “sketch” as something with precise syntax and semantics. The category
Sketch ( Ξ ) is the tool of choice to describe and to study relations between software models and differentways to construct new models out of given ones (often by pushout constructions). ◭ Constraint entailments describe properties of the chosen semantics of our logic. Theother way around, we can use them to formulate requirements for the intended semantics ofthe feature symbols in Ξ. Since constraint entailments concern only constraints on a fixedcontext, they are, however, not expressive enough to axiomatize, for example, that all (!)vertices do have an identity. To express those kinds of requirements, we need an appropriatevariant of the “sketch-entailments” in [18]. We call them “sketch rules”. . Wolter 19
We get sketch morphisms in a canonical way, for any institution of constraints. We isolatethe “syntactic part” of sketch morphisms as a concept of its own. ◮ Definition 61 (Sketch rule) . A Ξ -sketch rule L ϕ ⇒ R is given by two Ξ -sketches L = ( L, C L ) , R = ( R, C R ) and a context morphism ϕ ∶ L → R . ◮ Definition 62 (Conservation) . A Ξ -structure U = ( U, Π U ) is conservative (model-expansive) w.r.t. a Ξ –sketch rule L ϕ ⇒ R if, and only if, each model ( ι, U ) of L in U , i.e., ( ι, U ) ⊧ L C L , can be extended to a model ( ̺, U ) of R in U , i.e., ϕ ; ̺ = ι and ( ̺, U ) ⊧ R C R . L ϕ / / ( ι, U)⊧ L C L (cid:31) (cid:31) ❅❅❅❅❅❅ = R ∃( ̺, U)⊧ R C R (cid:127) (cid:127) ⑦⑦⑦⑦⑦⑦ U L ϕ ⇒ R is sound (in IC ) if, and only if, all Ξ -structures U in Sem ( Ξ ) are conservaticew.r.t. L ϕ ⇒ R . In case L = R and ϕ = id L , we write just L ⇒ R instead of L ϕ ⇒ R . Soundness reduces, inthis case, simply to constraint entailment: Each model ( ι, U ) of L is also a model of R , i.e., ( ι, U ) ⊧ L C L implies ( ι, U ) ⊧ L C R . ◮ Remark 63 (Sketch rule vs. sketch morphism).
Besides the overlap on constraint entailments,the concepts “sketch morphism” and “sound sketch rule” are skewed. For non-isomorphic ϕ , sketch morphisms talk about “reducts of models” while “sound sketch rules” state theexistence of “model extensions”.The fact, that the satisfaction condition ensures that each sound rule L ϕ ⇒ R gives riseto a trivial sketch morphism ϕ ∶ L → R ϕ with R ϕ = ( R, C R ∪ Cstr ( ϕ )( C L )) , only highlightsthat our “extensions” are actually “persistent extensions”. ◮ Remark 64 (Universal rules and Axioms).
There are universal sketch rules (or, moreprecisely, rule schemata) that are sound in any LFOC, since they reflect the structure andsemantics of feature expressions. Especially, they may describe the “folding” and “unfolding”of feature expressions. In case of “conjunction”, for example, we do have the two sketches L = ( X, {( X ▷ Exp ∧ Exp , id X )}) and R = ( X, {( X ▷ Exp , id X ) , ( X ▷ Exp , id X )}) . Aswell the “unfolding” rule L ⇒ R as the “folding” rule R ⇒ L are sound in any LFOC.The universal “unfolding” rule for “conditional existential quantification” gives us a kind of“ modus ponens ” at hand ( X, {( X ▷ Exp , id X ) , ( X ▷ ( Exp → ϕ ∃ ( Y ∶ Exp )) , id X )}) ϕ Ô⇒ ( Y, {( Y ▷ Exp , id Y )}) . Other universal sketch rules depend only on the base category
Base of a LFOC. Aslong as
Base is a pre-sheaf topos, we do have, for example, universal rules at hand expressingreflexivity, symmetry and transitivity of “equality” (compare Example 36).Besides “universal rules”, we do have also ”(semantical) induced rules” , i.e., sketchrules that are sound for all Ξ-structures we have chosen to be in
Sem ( Ξ ) .As a kind of seventh parameter of a LFOC, we can declare, the other way around,a set of ”axiom rules” where all axiom rules have to be sound for a Ξ-structure to beincluded Sem ( Ξ ) . In many cases Sem ( Ξ ) is defined exactly by all those Ξ-structures. Todeclare a feature expression (”formula”) X ▷ Exp as an axiom , in the traditional sense,we have to add a corresponding “intro rule” ( X, ∅ ) ⇒ ( X, {( X ▷ Exp, id X )}) to our axiomrules. ◮ Example 65 (FOL: Sketch rules) . Horn clauses can be seen as axiom rules L ⇒ R wherethe constraints in L and R use only atomic expressions. A TBox in ALC is a finite setof “terminological axioms”, i.e., of “general concept inclusions” C ⊑ D . The way, the se-mantics of “general concept inclusions” is defined in ALC, they correspond to “axiom rules” ({ p } , {({ p } ▷ C ( p ) , id { p } )}) Ô⇒ ({ p } , {({ p } ▷ D ( p ) , id { p } )}) . ◮ Example 66 (Category Theory: Sketch rules) . There are, at least, two ways to axiomatizethat all vertices do have an identity. We can reuse the expression X ▷ ∃ ( α ( id ) ∶ id ( pe )) from Example 35, where graph X consists only of a vertex pv , and add the “intro rule” ( X, ∅ ) ⇒ ( X, {( X ▷ ∃ ( α ( id ) ∶ id ( pe )) , id X )}) to our axiom rules. In this case, we need theuniversal “modus ponens” rule in Remark 64 to unfold the existence statement.Alternatively, we can declare existence of identities directly by adding an axiom rule ( X, ∅ ) ϕ Ô⇒ ( α ( id ) , {( α ( id ) ▷ id ( pe ) , id α ( id ) )}) ,with ϕ the inclusion of X into α ( id ) .To require that identity morphisms are always unique, we declare the axiom rule ( Y, {( Y ▷ id ( pe ) ∧ id ( pe ) , id Y )}) ϕ Ô⇒ ( α ( id ) , ∅ ) ,where Y is a graph with one node pv and two loops pe , pe , and ϕ ∶ Y → α ( id ) is given bythe assignments ( pv ↦ pv ; pe , pe ↦ pe ) . ◮ Example 67 (Universal Algebra: Sketch rules) . Besides the universal rules expressing reflex-ivity, symmetry and transitivity of “term equality”, we do have available any rule inducedby the fact, that our only chosen carrier is a finite product category, and by the way wedefined the semantics of features in the only chosen structure. We can use rules stating, e.g.,the existence of projections (variables considered as terms) or that “term construction” istotal. We do have “congruence rules” for “term equality” and so on. ◭ Sketches represent, to a greater or lesser extent, properties of parts of our semanticstructures and of the models, we are interested in. Sketch rules can be also used to appraiseto what extend those properties are represented or have been made explicit in a sketch. ◮ Definition 68 (Match) . A match of a Ξ -sketch G in a Ξ -sketch K is given by a contextmorphism µ ∶ G → K such that Cstr ( µ )( C G ) ⊆ C K . ◮ Definition 69 (Closedness) . A Ξ -sketch K is closed under a Ξ -sketch rule L ϕ ⇒ R relative to a match µ ∶ L → K of the left-hand side L in K if, and only if, there exists amatch ν ∶ R → K of the right-hand R of the rule in K such that µ = ϕ ; ν . L ϕ / / µ ∶ Cstr ( µ )( C L ) ⊆ C K ❅❅❅❅❅❅ = R ∃ ν ∶ Cstr ( ν )( C R ) ⊆ C K ~ ~ ⑥⑥⑥⑥⑥⑥ K A Ξ -sketch K is closed under a Ξ -sketch rule L ϕ ⇒ R if, and only if, it is closed relativeto each match µ ∶ L → K of the left-hand side L in K . ◮ Remark 70 (Sketch vs. structure).
Coming back to our representation of “elementary dia-grams” in Remark 57, we may say that the usefulness of “elementary diagrams” in modeltheory is based on the following equivalence of sketches and structures : A Ξ-structure U = ( U, Π U ) is conservative w.r.t. a Ξ-sketch rule L ϕ ⇒ R if, and only if, the Ξ-sketch S U = ( U, C U ) with C U = {( X ▷ Exp, ι ) ∣ X ∈ Var , ι ∈ [[ Exp ]] U X } is closed under L ϕ ⇒ R . . Wolter 21 L ϕ / / ( ι, U)⊧ L C L (cid:31) (cid:31) ❅❅❅❅❅❅ = R ∃( ̺, U)⊧ R C R (cid:127) (cid:127) ⑦⑦⑦⑦⑦⑦ U L ϕ / / ι ∶ Cstr ( µ )( C L ) ⊆ C U (cid:31) (cid:31) ❅❅❅❅❅❅ = R ∃ ̺ ∶ Cstr ( ν )( C R ) ⊆ C U (cid:127) (cid:127) ⑦⑦⑦⑦⑦⑦ U ◮ Remark 71 (Deduction).
In view of LFOC’s, a bunch of deduction calculi can be describedas procedures to construct sketches by means of rule applications, where the result of apply-ing a sketch rule for a match of the left-hand side of the rule in a given sketch is constructedas a pushout in
Sketch ( Ξ ) . The application of a simple rule L ⇒ R will only add constraintsto a given sketch, while the application of a rule L ϕ ⇒ R , with ϕ non-isomorphic, will alsoextend and/or factorize the underlying context of a sketch.There are different parameters for such ”sketch based deduction calculi” (and cor-responding completeness results): (1) Kind of rules used as axiom rules. (2) Subset of theavailable universal rules used for deduction. (3) Kind of sketches serving as “input” for adeduction procedure. (4) Kind of sketches, we want to have as “outputs”.In the rest of the remark, we have to anticipate that our footprints declare also “opera-tions”. We may characterize PROLOG by the following choices: Contexts are declarations ofvariables/individuals. (1) Horn clauses (2) None (?) (3)+(4) “Facts”. If we consider Algeb-raic Specifications on the same abstraction level, as the FOL and Category Theory examplesin this paper, we find a situation similar to PROLOG (compare [20, 27, 5]): Contexts aredeclarations of variables/generators. (1) Conditional equations (2) Reflexivity, symmetry,transitivity and congruence rules for “term equality” (3)+(4) Sets of equations.A typical problem, as in Algebraic Specifications, for example, is to deduce for a givenset of axiom rules all semantical induced rules, where Sem ( Ξ ) is given by all structuressuch that all axiom rules are sound for them. In Algebraic Specifications, we can solvethis problem by means of a sketch based deduction calculus that derives sets of equationsfrom given sets of equations [20, 27]. At the moment, it is open for us to what extent thiskind of “deduction theorem” can be generalized to LFOC’s. For us it is very hard (and insome periods even impossible) to approach the peculiar notation as well as the high level ofabstraction in [18], but there should be some hints in this direction.Resolution in PROLOG can be seen as a procedure that derives new Horn clauses fromgiven ones. An analogous procedure, called “parallel resolution”, that allows to deduceconditional equations directly from given ones, is presented in [27]. This procedure is soundand complete (compare Theorem 5.2.4 in [27]). We hope, that we can generalize those kindsof “resolution procedures”, at least to a certain extent, to sketch rules in LFOC’s.A completeness proof for a “sketched based deduction calculus” may be done in theway, we have essentially done it in [27]: We show that the calculus allows to construct “freelygenerated sketches” that are closed under the relevant rules. Then we show, that those closedsketches can be transformed into structures that are equivalent to the generated sketches, inthe spirit of Remark 70, and inherit a kind of “freely generated” property from the “freelygenerated sketches”. ◭ Summing up many experiences, insights, results and ideas from our research in the widerarea of formal specifications, we developed in this paper the first basic building block of aframework of Logics of First-Order Constraints (LFOC’s). As a sanity check for this newapproach to logic, we presented an abstract uniform scheme how to define a certain LFOCin such a way that we get an institution in the sense of [14, 6]. To a certain extend the paper can be seen as a proposal for a bigger and broader research project aiming at to develop afully shaped general framework of Logics of First-Order Constraints.There are many open ends, problems, questions and ideas we would like to address withinsuch a research project in the future. We list only few of them:Substitution framework in LFOC’s where
Base has pushouts, especially, for the basecategories
Graph and
GRAPH .Full account of universal “folding” and “unfolding” rules.Deduction calculi (see Remark 71).Footprints with operations thus substitutions become Kleisli-morphisms [29].Restrictions of LFOC’s in the spirit of Description Logics.Semantic-as-instance approach.Typed contexts and language extensionsDependencies between features in generalizing the approach and results in [8].Precise connection between different abstraction levels. Here the semantic-as-instanceapproach may be most appropriate?Different relevant restrictions for the construction of feature expressions. See, for examplethe Open Issue 39 (Constructive Feature expressions).Relation to nested graph conditions [22].Working out a bunch of examples. ● ● ●
References Franz Baader, Ian Horrocks, and Ulrike Sattler.
Handbook of Knowledge Representation ,chapter 3 Description Logics. Elsevier, 2007. M. Barr and C. Wells.
Category Theory for Computing Science . Series in Computer Science.Prentice Hall International, London, 1990. B. Cadish and Z. Diskin. Heterogeneous view integration via sketches and equations. In
Foundations of Intelligent Systems, 9th Int. Symposium , pages 603–612. Springer, 1996. doi:10.1007/3-540-61286-6_184 . C. C. Chang and H. J. Keisler.
Model Theory . Studies in Logic and the Foundations ofMathematics. Elsevier Science, 1990. I. Claßen, M. Große-Rhode, and U. Wolter. Categorical concepts for parameter-ized partial specifications.
Math. Struct. in Comp. Science , 5(2):153–188, June 1995. doi:10.1017/S0960129500000700 . Razvan Diaconescu.
Institution-independent Model Theory . Studies in Universal Logic.Birkhäuser Basel, 2008. doi:10.1007/978-3-7643-8708-2 . Z. Diskin. Towards algebraic graph-based model theory for computer science.
Bulletin ofSymbolic Logic , 3:144–145, 1997. Presented (by title) at
Logic Colloquium’95 . Zinovy Diskin and Uwe Wolter. A Diagrammatic Logic for Object-Oriented Visual Modeling.
ENTCS , 203/6:19–41, 2008. doi:10.1016/j.entcs.2008.10.041 . H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer.
Fundamentals of Algebraic Graph Trans-formations . EATCS Monographs on Theoretical Computer Science. Springer, Berlin, 2006. H. Ehrig and B. Mahr.
Fundamentals of Algebraic Specification 1: Equations and InitialSemantics , volume 6 of
EATCS Monographs on Theoretical Computer Science . Springer,Berlin, 1985. Hartmut Ehrig, Martin Große-Rhode, and Uwe Wolter. Applications of Category Theoryto the Area of Algebraic Specification in Computer Science.
Applied Categorical Structures ,6:1–35, 1998. doi:10.1023/A:1008688122154 . . Wolter 23 Peter J. Freyd. Properties Invariant within Equivalence Types of Categories. In A. Hellerand M. Tierney, editors,
Algebra, Topology and Category Theory: A Collection of Papers inHonour of Samuel Eilenberg , pages 55–61. Academic Press, 1976. Peter J. Freyd and Andre Scedrov.
Categories, allegories , volume 39 of
North-Holland math-ematical library . North-Holland, 1990. J. A. Goguen and R. M. Burstall. Institutions: Abstract Model Theory for Specification andProgramming.
Journals of the ACM , 39(1):95–146, January 1992. Joseph A. Goguen and José Meseguer. Order-sorted algebra i: Equa-tional deduction for multiple inheritance, overloading, exceptions andpartial operations.
Theor. Comput. Sci. , 105(2):217–273, Novem-ber 1992. URL: http://dx.doi.org/10.1016/0304-3975(92)90302-V , doi:10.1016/0304-3975(92)90302-V . M. Johnson, R. Rosebrugh, and R. Wood. Entity-relationship-attribute designs and sketches.
Theory and Applications of Categories , 10(3):94–112, 2002. H. Kaphengst and H. Reichel. Algebraische Algorithmentheorie. Technical Report 1/71, VEBRobotron, Zentrum für Forschung und Technik, Dresden, 1971. M. Makkai. Generalized sketches as a framework for completeness theorems.
Journal of Pureand Applied Algebra , 115:49–79, 179–212, 214–274, 1997. Eduardo Ochs. On my favorite conventions for drawing the missing diagrams in categorytheory, 2020. arXiv:2006.15836 . H. Reichel.
Initial Computability, Algebraic Specifications, and Partial Algebras . OxfordUniversity Press, 1987. H. Reichel, U. R. Hupbach, and H. Kaphengst. Initial Algebraic Specification of Data Types,Parameterized Data Types, and Algorithms. Technical Report 15, VEB Robotron, Zentrumfür Forschung und Technik, Dresden, 1980. Arend Rensink. Representing First-Order Logic Using Graphs. In Hartmut Ehrig, GregorEngels, Francesco Parisi-Presicce, and Grzegorz Rozenberg, editors,
Graph Transformations,Second International Conference, ICGT 2004, Rome, Italy, September 28 - October 2, 2004,Proceedings , volume 3256 of
Lecture Notes in Computer Science , pages 319–335. Springer,2004. doi:10.1007/978-3-540-30203-2\_23 . Alessandro Rossini, Juan de Lara, Esther Guerra, Adrian Rutle, and Uwe Wolter. Aformalisation of deep metamodelling.
Formal Aspects of Computing , pages 1–38, 2014. doi:10.1007/s00165-014-0307-x . Alessandro Rossini, Adrian Rutle, Yngve Lamo, and Uwe Wolter. A formalisation of thecopy-modify-merge approach to version control in MDE.
Journal of Logic and AlgebraicProgramming , 79(7):636–658, 2010. doi:10.1016/j.jlap.2009.10.003 . Adrian Rutle.
Diagram Predicate Framework: A Formal Approach to MDE . PhD thesis,Department of Informatics, University of Bergen, November 2010. Adrian Rutle, Alessandro Rossini, Yngve Lamo, and Uwe Wolter. A formal approach tothe specification and transformation of constraints in MDE.
Journal of Logic and AlgebraicProgramming , 81/4:422–457, 2012. doi:10.1016/j.jlap.2012.03.006 . U. Wolter. An Algebraic Approach to Deduction in Equational Partial Horn Theories.
J. Inf.Process. Cybern. EIK , 27(2):85–128, 1990. U. Wolter, M. Klar, R. Wessäly, and F. Cornelius. Four Institutions – A Unified Present-ation of Logical Systems for Specification. Technical Report Bericht-Nr. 94-24, TU Berlin,Fachbereich Informatik, 1994. Uwe Wolter, Zinovy Diskin, and Harald König. Graph Operations and Free Graph Algebras.In
Graph Transformation, Specifications, and Nets - In Memory of Hartmut Ehrig , pages313–331. Springer, LNCS 10800, 2018. doi:10.1007/978-3-319-75396-6\_17 . Uwe Wolter and Harald König. Fibred amalgamation, descent data, and vankampen squares in topoi.
Applied Categorical Structures , pages 1–40, 2013. URL: http://dx.doi.org/10.1007/s10485-013-9339-2 , doi:10.1007/s10485-013-9339-2doi:10.1007/s10485-013-9339-2