for all $i, j \in I$ it holds that $i \leq j \Longrightarrow S_i \sqsubseteq^* S_j$

Note that we used adaptation with optimization in Definition \[def:adaptation-sequence\] so that a sequence of systems $(S_i)_{i\in I}$ that each fulfill the same hard constraints ($\gamma$ within a singleton adaptation space $\mathfrak{A} = \{\{(E, \gamma, \phi)\}\}$) can form an adaptation sequence iff for all $i, j \in I$ it holds that $i \leq j \Longrightarrow \phi(S_i \otimes E) \preceq \phi(S_j \otimes E)$. This is the purest formulation of an optimization process within our formal framework.[^2]

Such an adaptation sequence can be generated by continuously improving a starting system $S_0$ and adding each improvement to the sequence. Such a task can both be performed by a team of human developers or standard optimization algorithms as they are used in artificial intelligence. Only in the latter case, we want to consider that improvement happening within our system boundaries. Unlike the previously performed black-box analysis of systems, the presence of an optimization algorithm within the system itself does have implications for the system’s internal structure. We will thus switch to a more “grey box” analysis in the spirit of [@bruni2012conceptual].

\[def:self-adaptation\] A system $S_0$ is called *self-adaptive* 