Index: /reasoner/reasoner.tex
===================================================================
--- /reasoner/reasoner.tex	(revision 10)
+++ /reasoner/reasoner.tex	(revision 11)
@@ -6,6 +6,7 @@
 
 \newcommand\TBD[1]{{\color{red}TBD: #1}}
+\newcommand\MISSING[1]{{\color{orange}MISSING: #1}}
 \newcommand\IVML[1]{\texttt{#1}}
-
+\newcommand\addSeq[0]{\uplus}
 
 \begin{document}
@@ -19,5 +20,4 @@
 \section{Notation/Terminology}
 
-
 \begin{itemize}
   \item An access expression specifies slots (within compounds or behind references) or elements (within a collection) to be accessed. Examples: \IVML{cmp.slot}, \IVML{cmp.slot1.slot2}, \IVML{coll[1]}, \IVML{coll[1].slot}.
@@ -30,4 +30,5 @@
   \item $dfltSlots(v) = \{s|s\in slots(v) \wedge default(s) \neq \perp\}$, empty for all non-compound types
   \item assignment states
+  \item $cup$ is the set union, $\addSeq$ is adding elements to a sequence
 \end{itemize}
 
@@ -45,5 +46,5 @@
   \SetAlgoLined
   \KwIn{configuration $cfg$, boolean $incremental$ \TBD{inc?}}
-  \KwData{problem records $m$}
+  \KwData{problem records $m$, relevant constraints $t$}
   \KwResult{Reasoning result $r$}
   $projects \leftarrow$ discoverImports(cfg)\;
@@ -52,6 +53,6 @@
       %evaluator.setResolutionListener(Algorithm \ref{algVarChange})\;
       %evaluator.setScopeAssignments(sAssng)\;
-      $base \leftarrow collectDefaults(p)$\;
-      $base \leftarrow base \uplus collectConstraints(p)$\;
+      $base \leftarrow collectDefaults(p, t)$\;
+      $base \leftarrow base \addSeq collectConstraints(p, t)$\;
       $evaluateConstraints(p, base)$\;
       $freeze(p)$\;
@@ -77,12 +78,12 @@
   \SetAlgoLined
   \KwIn{project $p$, constraint $base$}
-  \KwData{problem records $m$, used variables $u$, constraint evaluator $e$}
-    $clearScopeAssignments(p)$\;
-    $setDispatchScope(p)$\; %evaluator.setDispatchScope
+  \KwData{scope assignments $a$, problem records $m$, used variables $u$, constraint evaluator $e$}
+    $clearScopeAssignments(a)$\;
+    $setDispatchScope(e, p)$\; %evaluator.setDispatchScope
     \While {$|base| > 0$} {
         $c \leftarrow pop(base)$\;
         $clear(u)$\;
         $setAssignmentState(e, isDefault(c))$\; 
-        $m \leftarrow m \uplus analyzeEvaluationResult(evaluate(e, c), u)$\;
+        $m \leftarrow m \addSeq analyzeEvaluationResult(evaluate(e, c), u)$\;
   }
  \caption{Constraint evaluation loop.}\label{algEvalLoop}
@@ -93,8 +94,10 @@
 \begin{algorithm}[H]
   \SetAlgoLined
-  \KwIn{decision variable $v$, constraint $base$}
-  \KwResult{Changed constraint $base$}
+  \KwIn{decision variable $v$}
+  \KwData{scope assignments $a$, relevant constraints $t$}
   \If{$\neg isLocal(v)$}{
-      \TBD{fill}\;
+      $registerScopeAssignment(a, v)$\;
+      $base \leftarrow base \cup constraintsForParent(v)$\;
+      $base \leftarrow base \cup constraintsForChilds(v)$\;
   }
  \caption{Modification of constraint base upon variable change.}\label{algVarChange}
