*6.1. Abstract Sketches*

In this section, we consider sketches independent of Institutions of Statements or Institutions of Equations, respectively. That is, we rely on Definition 16 (Sketch) and assume a category Ct of contexts and a functor St: Ct → Set assigning to each *K* ∈ Ct*Obj* a set St(*K*) of all statements in context *K*. An St-sketch K = (*K*, *St*K) is given by a context *K* in Ct and a set *St*<sup>K</sup> <sup>⊆</sup> St(*K*) of statements in context *<sup>K</sup>*. For any statement *st* <sup>∈</sup> St(*K*), we will denote the image St(*ϕ*)(*st*) ∈ St(*G*) also simply by *ϕ*(*st*).

Guided by Definition 23 (Closedness) and Proposition 3 (Validity ∼= Closedness), we focus on the category Sk*<sup>a</sup> <sup>s</sup>* of all strict St-sketch arrows according to Definition 20 (Sketch Arrow). Generalizing the constructions and results in [19], one can prove that Sk*<sup>a</sup> <sup>s</sup>* has pushouts and pullbacks as long as Ct does.

**Proposition 5** (Pushouts)**.** *Let* B C *<sup>μ</sup>* <sup>A</sup> *be a span of strict* St*-sketch morphisms. If there exists a pushout <sup>B</sup>* <sup>∗</sup> *D A <sup>μ</sup>*<sup>∗</sup> *of the span B C <sup>μ</sup> <sup>A</sup> of morphisms in* Ct*, then the diagram, below on the left, is a pushout in* Sk*<sup>a</sup> s, where:*

<sup>D</sup> := (*D*, *<sup>μ</sup>*∗(*St*A) <sup>∪</sup> ∗(*St*B)) (21) <sup>C</sup> *μ PO* A *μ*∗ <sup>B</sup> <sup>∗</sup> D <sup>D</sup> *<sup>μ</sup>*<sup>∗</sup> ∗ *PB* A <sup>B</sup> *<sup>μ</sup>* <sup>C</sup>

**Proposition 6** (Pullbacks)**.** *Let* <sup>B</sup> *<sup>μ</sup>* C A *be a cospan of strict* St*-sketch morphisms. If there exists a pullback B D* <sup>∗</sup> *<sup>μ</sup>*<sup>∗</sup> *<sup>A</sup> of the cospan <sup>B</sup> <sup>μ</sup> C A of morphisms in* Ct*, then the diagram, above on the right, is a pullback in* Sk*<sup>a</sup> <sup>s</sup> where:*

$$\mathbb{D} := \left( D, \{ \text{st} \in \mathfrak{St}(D) \mid \mu^\*(\text{st}) \in St^\mathbb{A}, \varrho^\*(\text{st}) \in St^\mathbb{B} \} \right) \tag{22}$$

**Remark 34** (Adhesiveness)**.** *The concept of* Adhesive Category *has been introduced by Lack and Soboci ´nski [42] and is based on the so-called Van-Kampen squares (see [14,20,43]). Adhesive categories are intensively used to present, systematize and generalize concepts, constructions and results in the area of Graph transformations [14]; thus, it seems to be worth including this remark.*

*The category* Sk*<sup>a</sup> <sup>s</sup> will be, in general, not adhesive, even if* Ct *is adhesive, since St*<sup>D</sup> *in Proposition 5 is not constructed by a pushout in* Set *and in Proposition 6 not by a pullback in* Set *either.*

*To repair this deficiency, we can work with "multi sketches" where statements do have their own identity. A multi* St*- sketch* K = (*K*, *I*K,*st*K) *is given by a context K, a set I*<sup>K</sup> *of identifiers and a map st*<sup>K</sup> : *<sup>I</sup>*<sup>K</sup> <sup>→</sup> St(*K*)*. A strict arrow* (*ϕ*, *<sup>f</sup>*) : <sup>K</sup> <sup>→</sup> <sup>G</sup> *between two multi* St*-sketches* <sup>K</sup> *and* <sup>G</sup> *is given by a morphism <sup>ϕ</sup>* : *<sup>K</sup>* <sup>→</sup> *<sup>G</sup> in* Ct *and a map <sup>f</sup>* : *<sup>I</sup>*<sup>K</sup> <sup>→</sup> *<sup>I</sup>*<sup>G</sup> *such that <sup>ϕ</sup>*(*st*K(*i*)) = *st*G(*f*(*i*)) *for all <sup>i</sup>* <sup>∈</sup> *<sup>I</sup>*K*. Pushouts in the category* mSk*<sup>a</sup> <sup>s</sup> of multi* St*-sketches and strict arrows can always be constructed by componentwise pushouts of contexts in* Ct *and of sets of identifiers in* Set*, respectively. To ensure that componentwise pullbacks in* Ct *and* Set*, respectively, give us a pullback in* mSk*<sup>a</sup> s, we have to assume, however, that the functor* St: Ct → Set *preserves pullbacks.*

*This is the case for the sentence functor* Stm: Cxt → Set *in any Institution of Statements as well as the sentence functor* Eq : Cxt*EQ* → Set *in any Institution of Equations.*

*If* St *preserves pullbacks, the monomorphisms in* mSk*<sup>a</sup> <sup>s</sup> are exactly the componentwise monomorphisms and* mSk*<sup>a</sup> <sup>s</sup> becomes adhesive if* Ct *is adhesive. Note that any topos is adhesive [44], thus especially the categories* Cxt*EQ* = Set*<sup>S</sup> in Institutions of Equations are adhesive.*

**Example 49** (Category Theory: Sketches (modified))**.** *For didactic reasons, we need for this section an example of an atomic sketch. We modify therefore the Category Theory example: We add to* <sup>Ξ</sup>*CT in Example <sup>14</sup> the feature symbols* mon *with arity xv*<sup>1</sup> *xe xv*<sup>2</sup> *and* fnl *with arity xv. Correspondingly, we vary the sample* Stm*CT-sketch* G = (*G*, *St*G) *in Example 39 by dropping the statement* (*xv*, *f nl*,(*xv* → 3)) *and replacing the statements* (*xv*<sup>1</sup> *xe* → *xv*2, *mon*,(*xe* → *b*))*,* (*xv*<sup>1</sup> *xe* → *xv*2, *mon*,(*xe* → *g*)) *by corresponding atomic statements* mon(*b*) *and* mon(*g*)*, respectively.*

**Example 50** (GraTra: Sketches)**.** *Traditionally, there is no explicit use of "statements" in the area of Graph Transformations; thus sketches, in our sense, are just plain contexts where different kinds of graphs are chosen as contexts in the different approaches.*

*In [23],* Cxt *is a category of directed, labeled multi graphs and Ref. [24] restricts* Cxt *to a category of finite directed, labeled multi graphs. In contrast, Ref. [22] works with directed, labeled simple graphs in the sense that parallel edges with the same label are not allowed. Ref. [25] uses as* Cxt *a category* Graph*TG of directed, labeled multi graphs typed over a graph TG.*

*To a certain extent, we can, however, interpret the transition from graphs to labeled/typed graphs as the utilization of rudimentary forms of "statements", in our sense, where the choice of label alphabets or type graphs TG, respectively, corresponds to the choice of footprints. The encoding of binary relations by means of labeled edges in [22] makes this analogy apparent. In view of Institutions of Statements, we can reconstruct the concept of graph in [22] in the following way:* Cxt *is the subcategory of* Set *given by all subsets of a "countable universe of nodes* Node*"* *and* Var Cxt *has a two-element set* {*x*1, *x*2} ⊂ Node *as its only object. The footprint* Ξ*<sup>R</sup> is given by a "countable universe* Rel*" of predicate symbols with α*(*P*) = {*x*1, *x*2} *for all P* ∈ Rel*. An atomic* Ξ*R-statement P*(*β*) *in context K* ⊆ Node *is, in such a way, given by a P* ∈ Rel *and a binding β* : {*x*1, *x*2} → *K (see Remark 14 (Atomic Statements)). Relying on the isomorphism between the Cartesian product <sup>K</sup>* <sup>×</sup> *<sup>K</sup> and the set <sup>K</sup>*{*x*1,*x*2} *of maps, it is easy to check that the category* Graph *in [22] is isomorphic to the non-adhesive (!) category of all* Ξ*R-sketches and all strict sketch arrows.*
