chiark / gitweb /
 author Ian Jackson Wed, 14 Mar 2012 22:10:04 +0000 (22:10 +0000) committer Ian Jackson Wed, 14 Mar 2012 22:10:04 +0000 (22:10 +0000)
 article.tex patch | blob | history

index 0615616..c096e07 100644 (file)
@@ -814,6 +814,13 @@ dependency.
$\eqn{ Currently Excluded }{ L \nothaspatch \pry }$
+$\eqn{ Inserted's Ends }{ + E \in \pendsof{L}{\pry} \implies E \le R^+ +}$
+$\eqn{ Others' Ends }{ + \bigforall_{\p \neq \pr, L \haspatch \p} + E \in \pendsof{R^+}{\py} \implies E \le L +}$
$\eqn{ Insertion Acyclic }{ R^+ \nothaspatch \pq }$
@@ -840,15 +847,57 @@ By $\merge$, $D \isin L \lor D \isin R^+ \lor D = C$.
For $D \isin L$, Base Acyclic for L suffices.  For $D \isin R^+$,
Insertion Acyclic suffices.  For $D = C$, trivial.  $\qed$.

-\subsection{Coherence}
+\subsection{Coherence and Patch Inclusion}
+
+$$+\begin{cases} + \p = \pr \lor L \haspatch \p : & C \haspatch \p \\ + \p \neq \pr \land L \nothaspatch \p : & C \nothaspatch \p +\end{cases} +$$

-We consider some $D \in \py$.
+\proofstarts
+~ Consider some $D \in \py$.
+$D \neq C$ so $D \le C \equiv D \le L \lor D \le R^+$.

-\subsubsection{For $\p = \pq$:}
+\subsubsection{For $\p = \pr$:}
+
+$D \not\isin L$ by Currently Excluded.
+$D \not\isin R^-$ by Base Acyclic.
+So by $\merge$, $D \isin C \equiv D \isin R^+$,
+which by Tip Self Inpatch of $R^+$, $\equiv D \le R^+$.
+
+And by definition of $\pancs$,
+$D \le L \equiv D \in \pancsof{L}{R^+}$.
+Applying Transitive Ancestors to Inserted's Ends gives
+$A \in \pancsof{L}{R^+} \implies A \le R^+$.
+So $D \le L \implies D \le R^+$.
+Thus $D \le C \equiv D \le R^+$.
+
+So $D \isin C \equiv D \le C$, i.e. $C \haspatch \pr$.
+OK.
+
+\subsubsection{For $\p \neq \pr$:}

xxx up to here

-$D \not\isin L$, $D \not\isin$
+By Insertion Acyclic, $D \not\isin R^+$. xxx this is wrong
+By Tip Contents for $R^+$,
+$D \isin R^+ \equiv D \isin R^- \lor (D \in \pry \land ...)$
+but $D \in \py$ so $D \not\in \pry$.  So $D \not\isin R^-$.
+By $\merge$, $D \isin C \equiv D \isin L$.
+
+If $L \nothaspatch \p$, $D \not\isin L$ so $C \nothaspatch \p$.  OK.
+
+If $L \haspatch \p$, Others' Ends applies; by Transitive
+Ancestors, $A \in \pancsof{R^+}{\py} \implies A \le L$.
+So $D \le R^+$, which is the same as $D \in \pancsof{R^+}{\py}$,
+$\implies D \le L$.  Thus $D le C \equiv D \le L$.
+And by $\haspatch$, $D \le L \equiv D \isin L$ so
+$D \isin C \equiv D \le C$.  Thus $C \haspatch \p$.
+OK.
+
+$\qed$

\section{Merge}