chiark / gitweb /
wip dependency insertion
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 14 Mar 2012 22:10:04 +0000 (22:10 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 14 Mar 2012 22:10:04 +0000 (22:10 +0000)
article.tex

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}