chiark / gitweb /
strategy: ranking: proof of termination
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 May 2012 18:49:10 +0000 (19:49 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 27 May 2012 18:49:10 +0000 (19:49 +0100)
strategy.tex

index a1632cb..e2bcf46 100644 (file)
@@ -212,6 +212,18 @@ and corresponding merge bases $M^{\pcn}_i = M_i$.
 
 \end{itemize}
 
+\subsection{Proof of termination}
+
+$\alg{Rank-Recurse}(\pc)$ recurses but only downwards through the
+finite graph $\hasdirdep$, so it must terminate.  
+
+The whole ranking algorithm iterates but each iteration involves
+adding one or more patches to $\allpatches$.  Since there are
+finitely many patches and we never remove anything from $\allpatches$
+this must complete eventually.
+
+$\qed$
+
 \section{Traversal phase}
 
 For each patch $C \in \allpatches$ in topological order by $\hasdep$,