X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=invariants.tex;h=ab0349110d651d3e1109c5723bdd874f103c1de3;hb=3b81991eea75c33566f4948506277ef61b058d1c;hp=25d51c508c167005c48d7642108e961785aa1258;hpb=a8c0dda901340bdd4fb4ca3464f0572c0cab3bd4;p=topbloke-formulae.git diff --git a/invariants.tex b/invariants.tex index 25d51c5..ab03491 100644 --- a/invariants.tex +++ b/invariants.tex @@ -13,7 +13,7 @@ We maintain these each time we construct a new commit. \\ (D \in \py \land D \le C) } }\] \[\eqn{Base Acyclic:}{ - \bigforall_{B \in \pn} D \isin B \implies D \notin \py + \bigforall_{C \in \pn} D \isin C \implies D \notin \py }\] \[\eqn{Coherence:}{ \bigforall_{C,\p} C \haspatch \p \lor C \nothaspatch \p @@ -25,3 +25,10 @@ We maintain these each time we construct a new commit. \\ \bigforall_{C \text{ s.t. } \patchof{C} = \bot} D \le C \implies \patchof{D} = \bot }\] + +A commit $C$ which satisfies all of the above is said to be +``conformant''. + +For each operation we will perform which generates a new commit, we +will assume the conformance of the existing history and prove the +conformance of the new commit.