X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=invariants.tex;h=bc3813e6b83593e5d5ad0ad9c2b59c9a0f53d000;hp=ab0349110d651d3e1109c5723bdd874f103c1de3;hb=79a138e6a8c3902ba6f9708fc7c57c8d834f5dc6;hpb=3b81991eea75c33566f4948506277ef61b058d1c diff --git a/invariants.tex b/invariants.tex index ab03491..bc3813e 100644 --- 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{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 }\] @@ -26,6 +29,10 @@ We maintain these each time we construct a new commit. \\ 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''.