*3.2. Decompositions of Stratified Institutions*

In [57], we have introduced a technique for establishing properties of stratified institutions at the general level, which consists of projecting to simpler structures. This reflects a situation that occurs especially in the stratified institutions that are based on Kripke semantics, where the models are combined from two simpler components, of which one may think as a structure of the worlds on the one hand and a structure of primitive or base models placed in these worlds on the other hand. The actual definition of this is as follows.

Let <sup>S</sup> be any stratified institution and (Φ, *<sup>α</sup>*, *<sup>β</sup>*) : <sup>S</sup> → B be a morphism of institutions (called a *base* for <sup>S</sup>). By the natural isomorphism **INS**(<sup>S</sup> , <sup>B</sup>) <sup>∼</sup><sup>=</sup> **SINS**(S, <sup>B</sup>) (given by the adjunction between **SINS** and **INS**), we obtain a morphism of stratified institutions (Φ, *α*, *β* ) : S → <sup>B</sup> (cf. (6)). A *constraint model sub-functor Mod<sup>C</sup>* <sup>⊆</sup> *Mod*B is a sub-functor such that for each signature Σ,

$$
\widetilde{\beta}\_{\Sigma}(\operatorname{Mod}^S(\Sigma)) \subseteq \operatorname{Mod}^C(\Phi \Sigma).
$$

Let <sup>B</sup>*<sup>C</sup>* denote the stratified sub-institution of <sup>B</sup> induced by *ModC*. A *decomposition of* S consists of two strict stratified institution morphisms such as below

$$\mathcal{S}^0 \xleftarrow{(\Phi^0, \mathfrak{a}^0, \mathfrak{b}^0)} \mathcal{S} \xrightarrow[]{(\Phi, \mathfrak{a}, \bar{\mathfrak{b}})} \mathcal{S}^C$$

such that for each S-signature Σ

$$\begin{array}{c} \mathsf{Mod}^{0}(\Phi^{0}\Sigma) \xleftarrow{\bar{\beta}^{0}\_{\Sigma}} \mathsf{Mod}^{S}(\Sigma) \xrightarrow{\bar{\beta}\_{\Sigma}} \mathsf{Mod}^{\mathbb{C}}(\Phi\Sigma), \\ \ [\![ - \!] ]^{0}\_{\Phi^{0}\Sigma} \xleftarrow{\bar{\beta}\_{\Sigma}} \mathsf{Set} \end{array}$$

is a pullback in **CAT**.

The following aspects emerge from the concept of decomposition.


In the definition of decomposition, the role of the constraint model sub-functor *Mod<sup>C</sup>* is strongly related to applications. For instance, in many concrete situations of interest, the Kripke models enjoy some form of sharing. Cases such as MFOL and HFOL are emblematic in this respect. If we consider the latter one, then:


$$
\alpha^0\_{(\text{Norm},P)}\lambda(i,j) = \otimes\_i \Diamond j(=\otimes\_i \neg \sqsubset \neg j) .
$$


One of the consequences of decompositions is the possibility to obtain model amalgamation properties in <sup>S</sup> via model amalgamation properties in the components <sup>S</sup><sup>0</sup> and B. This can be very useful in the applications as Kripke models are complex structures; therefore, their model amalgamation is a mathematically complicated matter, while model amalgamation in the components of a decomposition is much simpler. In [57], we have provided a general theorem that obtains model amalgamation through decompositions and which applies well in the examples. There have been also other applications of this decomposition technique which we will discuss later on in the paper.

Another important potential of the concept of decomposition is the possibility to apply it in a reverse way in the sense of constructing new stratified institutions starting from the components <sup>S</sup><sup>0</sup> and <sup>B</sup> (actually <sup>B</sup>*C*). This can be a great source of new concrete stratified institutions serving various computing science purposes.
