Index: /reasoner/reasoner.tex
===================================================================
--- /reasoner/reasoner.tex	(revision 79)
+++ /reasoner/reasoner.tex	(revision 80)
@@ -833,10 +833,19 @@
 \subsection{Constraint base operations}\label{sectContainerBase}
 
+In this section, we detail specific support operations to create and maintain the constraint based, most notably the $add$ function\footnote{\IVML{addConstraint} in the implementation, in this document $add$ for short due to layout reasons.}, which we used throughout this document to describe the individual translation algorithms. Besides adding a constraint $c$ to a given constraint sequence $s$, the $add$ function performs several important operations:
+
+\begin{itemize}
+  \item It filters out irrelevant constraints, in particular simple (default value) assignment constraints during incremental reasoning, are assumed to be already processed during previous iterations.
+  \item It serves as the central place to finally compose constraints for nested compound containers using Algorithm \ref{algComposeExpression} and the variable mapping $\variableMapping$.
+  \item It analyzes the given constraint $c$ for the use of compound or container initializers. As explained above, these structures only occur in value assignments and actually must be analyzed for constraint variables, which must be turned into individual constraints. We perform this through the two recursive helper operations $checkContainerInitializer$ and $checkCompoundInitializer$ shown below.
+  \item Appends the constraint to the given sequence, except for constraints from eval-blocks, which are prepended to the sequence of top-level constraints $\topLevelConstraints$ if the target sequence is other $\otherConstraints$ or top-level constraints $\topLevelConstraints$ in order to enforce the priority of eval-constraints.
+  \item Registers the constraint with its used variables to enable re-scheduling of constraints during reasoning in Algorithm \ref{algVarChange}.
+\end{itemize}
 
 \begin{algorithm}[H]
   \KwIn{constraint sequence $s$, constraint $c$, perform initializers $check$}
   \KwData{top level and other constraints $\topLevelConstraints, \otherConstraints$, variable mapping $\variableMapping$, relevant constraints $\relevantConstraints$ , incremental flag $inc$, evals flag $inEvals$}
-  $c = composeExpression(\variableMapping, c)$\;
   \If{$\neg inc \vee (inc \wedge \neg isAssignment(c))$} {
+    $c = composeExpression(\variableMapping, c)$\;
     \If{$check$}{
       \If{$isContainerInitializer(c)$} {
@@ -855,5 +864,5 @@
      }
    }
- \caption{Records and analyzes a constraint (add, \IVML{addConstraint}).}\label{algAddConstraint}
+ \caption{Adds a constraint to the constraint base ($add$).}\label{algAddConstraint}
 \end{algorithm}
 
@@ -872,16 +881,17 @@
 \end{align*}
 
-\TBD{Just here, as algorithm descriptions often utilize container notation.}
-\begin{algorithm}[H]
-  \KwIn{constraint sequence $s$, constraint sequence $c$, perform initializers $check$}
-  \KwData{variable mapping $\variableMapping$}
-  \ForAll{$d \iterAssng c$} {
-      $add(s, d, c)$\;
-  }
- \caption{Records and analyzes a constraint sequence.}\label{algAddConstraints}
-\end{algorithm}
+%\begin{algorithm}[H]
+%  \KwIn{constraint sequence $s$, constraint sequence $c$, perform initializers $check$}
+%  \KwData{variable mapping $\variableMapping$}
+%  \ForAll{$d \iterAssng c$} {
+%      $add(s, d, c)$\;
+%  }
+% \caption{Records and analyzes a constraint sequence.}\label{algAddConstraints}
+%\end{algorithm}
 
 
 \section{IVML-Completeness}\label{sectCompleteness}
+
+\TBD{Fill table}
 
 \begin{table*}[h]
