# Parameterised Enumeration for Modification Problems +
## 4 Generalisation to Modification Problems  
In this section, we will show how the algorithmic strategy that has been defined and formalised in the context of graph modification can be of use for many other problems, coming from various combinatorial frameworks. **Definition 10** (General Operations): _Let \(Q\subseteq\Sigma^{*}\) be a language defined over an alphabet and let \(x\in\Sigma^{*}\) be an input. A set of operations \(\Omega(Q)=\{\,\omega_{n}\colon\Sigma^{*}\to\Sigma^{*}\mid n\in\mathbb{N}\,\}\) is an infinite set of operations on instances of \(Q\). We say that an operation \(\omega\) is valid with respect to an instance \(x\in Q\), if \(\omega(x)\in Q\). We write \(\Omega/x\) for the set of possible (valid) operations on an instance \(x\)._  
_Two operations_ \(\omega,\omega^{\prime}\) _are dependent with respect to an instance_ \(x\in Q\) _if_  
* \(\omega(\omega^{\prime}(x))=x\) _or_ (_intuitively,_ \(\omega\) _and_ \(\omega^{\prime}\) _cancel out)_
* \(\omega(\omega^{\prime}(x))=\omega^{\prime}(x)\) _or_ \(\omega(\omega^{\prime}(x))=\omega(x)\)_. (_intuitively, the order of_ \(\omega\) _and_ \(\omega^{\prime}\) _does not matter)_  
_A set of operations_ \(O\subseteq\Omega/x\) _is consistent with respect to_ \(x\) _if it does not contain two dependent operations. Similarly, we say that an operation_ \(\omega\) _is consistent with a set_ \(S\) _if and only if_ \(S\cup\{\omega\}\) _is consistent._  
For instance, the set \(\Omega\) could contain operations that add edges or, in another case, flip bits. How exactly \(\Omega\) is defined highly depends on the corresponding language \(Q\). **Example 1**: _Let \(\mathcal{G}\subseteq\{0,1\}^{*}\) be the language of all undirected graphs encoded by adjacency matrices. Then \(\Omega(\mathcal{G})\) is the set of all graph operations in the sense of Definition 6: Removing vertices or edges, adding edges. Note that \(\Omega(\mathcal{G})\) contains all operations of the kind_  
\[\mathrm{rem}_{i}\colon\mathcal{G}\to\mathcal{G},\quad\mathrm{rem}_{\{i,j\}} \colon\mathcal{G}\to\mathcal{G},\quad\mathrm{add}_{\{i,j\}}\colon\mathcal{G} \to\mathcal{G}\]  
_for all \(i,j\in\mathbb{N}\). Furthermore, let \(G=(V,E)\in\{0,1\}^{*}\) be a concrete input graph. As a result, \(\Omega/G\) then is the restriction of \(\Omega\) to those \(i,j\in\mathbb{N}\) such that \(v_{i},v_{j}\in V\) encode vertices in \(G\)._Similarly to how it was defined in Section 2.1, a property is just a set. In the following context, it is a subset of a considered language \(Q\). Intuitively, in the concept of graph modification problems, one may think of \(Q\) as \(\mathcal{G}\). Then a graph property \(\mathcal{P}\) is just a subset of \(\mathcal{G}\). **Definition 11** (General Solutions). : _Let \(Q\subseteq\Sigma^{*}\) be a language defined over an alphabet, \(S\subseteq\Omega/x\) be a finite set of operations on \(x\in Q\) and \(\mathcal{P}\subseteq Q\) be a property. We say that \(S\) is a solution (of \(x\)) if \(S\) is a consistent set of operations and \(S(x)\in\mathcal{P}\). Furthermore, we denote by \(\mathcal{S}_{Q}:=\bigcup_{x\in Q}\{S\mid S\text{ is a solution of }x\}\) the set of all solutions for every instance \(x\in Q\). In addition, \(\operatorname{Sol}(x)\) is the set of solutions for every instance \(x\in Q\)._  
**Example 2**. : _Continuing the previous example, if the property \(\mathcal{P}\) is \"to be a cluster\" then a consistent solution \(S\) to a given graph is a sequence of removing vertices, adding and deleting of edges where_  
* _there is no edge_ \((i,j)\) _added or deleted such that vertex_ \(i\) _or_ \(j\) _is removed,_
* _there is no edge_ \((i,j)\) _added and removed and_
* \(S(G)\models\mathcal{P}\)_._  
_Similarly, adding edge \((i,j)\) together with removing vertex \(i\) or \(j\) or removing edge \((i,j)\) is an inconsistent set of operations._  
Now we want to define the corresponding decision and enumeration tasks.