chiark / gitweb /
traversal: Prove Recreate Base Beginning - Create Acyclic
[topbloke-formulae.git] / trav-proofs.tex
index 67e1b113b696e79de2680381c0df917654b7488a..0a2d49127eb06a1d7c46e3ae8ad028955d27dd29 100644 (file)
@@ -3,6 +3,46 @@
 For each operation called for by the traversal algorithms, we prove
 that the commit generation preconditions are met.
 
+WIP WHAT ABOUT PROVING ALL THE TRAVERSAL RESULTS
+
+\subsection{Traversal Lemmas}
+
+Firstly, some lemmas.
+\statement{Tip Correct Contents}{
+  \tipcy \haspatch \pa E
+    \equiv
+  \pa E = \pc \lor \pa E \isdep \pc
+}
+\proof{
+  For $\pc = \pa E$, Tip Own Contents suffices.
+  For $\pc \neq \pa E$, Exclusive Tip Contents
+  gives $D \isin \tipcy \equiv D \isin \baseof{\tipcy}$
+  which by Correct Base $\equiv D \isin \tipcn$.
+}
+
+\subsection{Base Dependency Merge, Base Sibling Merge}
+
+We do not prove that the preconditions are met.  Instead, we check
+them at runtime.  If they turn out not to be met, we abandon
+\alg{Merge-Base} and resort to \alg{Recreate-Base}.
+
+TODO COMPLETE MERGE-BASE STUFF
+
+WIP WHAT ABOUT PROVING ALL THE TRAVERSAL RESULTS
+
+\subsection{Recreate Base Beginning}
+
+To recap we are executing Create Base with
+$L = \tipdy$ and $\pq = \pc$.
+
+\subsubsection{Create Acyclic}
+
+By Tip Correct Contents of $L$,
+$L \haspatch \pa E \equiv \pa E = \pd \lor \pa E \isdep \pd$.
+Now $\pd \isdirdep \pc$,
+so by Coherence, and setting $\pa E = \pc$,
+$L \nothaspatch \pc$. I.e. $L \nothaspatch \pq$. $\qed$
+
 \subsection{Tip Base Merge}
 
 $L = W$, $R = \tipcn$.