Index: /reasoner/reasoner.tex
===================================================================
--- /reasoner/reasoner.tex	(revision 116)
+++ /reasoner/reasoner.tex	(revision 117)
@@ -1149,10 +1149,21 @@
 \begin{algorithm}[H]
   \SetAlgoLined
-  \KwIn{decision variable $v$, old value $val$}
+  \KwIn{decision variable $v$, old value $val_o$}
   \KwData{scope assignments $\scopeAssignments$, relevant constraints $\relevantConstraintsPerType$ and $\relevantConstraintVariables$}
   
   \If{$\neg isLocal(v)$}{
       $addAssignment(\scopeAssignments, v)$\; \label{algVarChangeScope} %addScopeAssignment
-      \MISSING{change constraints if dynamic value type changes}\;
+      $val_n \assng value(v)$\;
+      \If{$val_n \neq val_o$} {
+	$rescheduleConstraintValue(v, v, true)$\;
+	$rescheduleCompoundValue(v, val_o)$\;
+	$rescheduleContainerValue(v, val_o)$ \MISSING{!}\;
+          \If{$isContainer(v)$} {
+    	    $createContainerValueConstraints(val_n, createParentEx(v), \undef, parent(decl(v)), v)$ \MISSING{!}\;
+           }
+          \If{$isValueTypeChange(v, val_n, val_o)$ \MISSING{!}} {
+             $rescheduleValueTypeChange(v, val_n, val_o)$ \MISSING{!}\;
+          }
+      }
       $base \assng base \addSeqNoDupl \seqWith{\relevantConstraintsPerType[p]}{p\in allParents(v)}$\; \label{algVarChangeRescheduleParents}%constraintsForParent
       $base \assng base \addSeqNoDupl \seqWith{\relevantConstraintsPerType[n]}{n\in allNested(v)}$\; \label{algVarChangeRescheduleNested}%constraintsForParent
@@ -1162,4 +1173,54 @@
 \end{algorithm}
 
+\begin{algorithm}[H]
+  \SetAlgoLined
+  \KwIn{decision variable $v_p$, decision variable $v$, clear flag $clear$}
+  \KwData{scope assignments $\scopeAssignments$, relevant constraints $\relevantConstraintsPerType$ and $\relevantConstraintVariables$}
+
+  \If{$isConstraint(type(v)$} {
+      $cs \assng obtainConstraints(v_p, clear, \undef)$ \MISSING{!}\;
+      $ex \assng getConstraintValueConstraintExpression(value(v))$ \MISSING{!}\;
+      \If{$ex \neq \undef$}{
+          \lIf{$cs = \undef \vee |cs|=0$}{$p\assng parent(decl(v))$}\lElse{$parent(cs[0])$}
+          $ex_p \assng createParentExpression(v)$\;
+          $c \assng createConstraintVariableConstraint(ex, ex_p, \undef, p, v_p)$ \MISSING{!}\;
+          $setValue(v, c)$\;
+          $base \assng base \addSeq \otherConstraints$\;
+          \ForAll{$p\iterAssng allParents(v)$}{ % variablesMap.addAll(variable, otherConstraints);
+              $\relevantConstraintsPerType \assng \relevantConstraintsPerType \addMap \mapEntry{p}{\relevantConstraintsPerType [v] \cup \otherConstraints}$\;
+          }
+          $\otherConstraints \assng \emptySet$\;
+       }
+   }
+ \caption{Rescheduling a constraint value (\IVML{rescheduleConstraintValue}).}\label{algRescheduleConstraintValue}
+\end{algorithm}
+
+\begin{algorithm}[H]
+  \SetAlgoLined
+  \KwIn{decision variable $v$, old value $val_o$}
+  \KwData{scope assignments $\scopeAssignments$, relevant constraints $\relevantConstraintsPerType$ and $\relevantConstraintVariables$}
+
+  \If{$isCompound(v)$}{
+      \ForAll{$s\iterAssng slots(value(v))$}{
+          \If{$value(s) \neq \undef$}{
+ 	    $rescheduleConstraintValue(s, s, true)$\;
+              $rescheduleCompoundValue(s, value(v))$\;
+              \If{$isContainer(value(s))$}{
+                  $ex_p \assng createParentExpression(v)$\;
+	       $rescheduleContainerValue(val_n, ex_p, \undef, parent(decl(v)), s)$ \MISSING{!}\;
+              }
+           }
+      }
+  }
+ \caption{Rescheduling a compound value (\IVML{rescheduleCompoundValue}).}\label{algCompoundValue}
+\end{algorithm}
+
+\begin{algorithm}[H]
+  \SetAlgoLined
+  \KwIn{decision variable $v$, old value $val_o$}
+  \KwData{scope assignments $\scopeAssignments$, relevant constraints $\relevantConstraintsPerType$ and $\relevantConstraintVariables$}
+
+  \caption{Rescheduling a container value (\IVML{rescheduleContainerValue}).}\label{algContainerValue}
+\end{algorithm}
 
 \section{IVML-Completeness}\label{sectCompleteness}
