chiark
/
gitweb
/
~ian
/
topbloke-formulae.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unique tips: add condition and prove, for merge
[topbloke-formulae.git]
/
invariants.tex
diff --git
a/invariants.tex
b/invariants.tex
index ab0349110d651d3e1109c5723bdd874f103c1de3..bc3813e6b83593e5d5ad0ad9c2b59c9a0f53d000 100644
(file)
--- a/
invariants.tex
+++ b/
invariants.tex
@@
-18,6
+18,9
@@
We maintain these each time we construct a new commit. \\
\[\eqn{Coherence:}{
\bigforall_{C,\p} C \haspatch \p \lor C \nothaspatch \p
}\]
\[\eqn{Coherence:}{
\bigforall_{C,\p} C \haspatch \p \lor C \nothaspatch \p
}\]
+\[\eqn{Unique Tips:}{
+ \bigforall_{C,\p} C \haspatch \p \implies \pendsof{C}{\p} = \{ T \}
+}\]
\[\eqn{Foreign Inclusion:}{
\bigforall_{D \text{ s.t. } \patchof{D} = \bot} D \isin C \equiv D \leq C
}\]
\[\eqn{Foreign Inclusion:}{
\bigforall_{D \text{ s.t. } \patchof{D} = \bot} D \isin C \equiv D \leq C
}\]
@@
-26,6
+29,10
@@
We maintain these each time we construct a new commit. \\
D \le C \implies \patchof{D} = \bot
}\]
D \le C \implies \patchof{D} = \bot
}\]
+We also assign each new commit $C$ to zero or one of the sets $\p$, as
+stated in the definition of $\patchof{C}$ in the summary for each kind
+of commit.
+
A commit $C$ which satisfies all of the above is said to be
``conformant''.
A commit $C$ which satisfies all of the above is said to be
``conformant''.