X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=invariants.tex;h=ac0558a82bd9fd202ba0e308d543801eba8a1b4c;hb=HEAD;hp=0cac868d3e6b8aaf7de01d375a4a28c8b229d77c;hpb=d95cd22b31c6d38e4dd4b3132300dd3ad8df0f1a;p=topbloke-formulae.git diff --git a/invariants.tex b/invariants.tex index 0cac868..ac0558a 100644 --- a/invariants.tex +++ b/invariants.tex @@ -22,11 +22,16 @@ We maintain these each time we construct a new commit. \\ \bigforall_{C,\p} C \haspatch \p \implies \pendsof{C}{\py} = \{ T \} }\] \[\eqn{Foreign Inclusion}{ - \bigforall_{D \text{ s.t. } \patchof{D} = \bot} D \isin C \equiv D \leq C + \bigforall_{D \in \foreign} D \isin C \equiv D \leq C }\] -\[\eqn{Foreign Contents}{ - \bigforall_{C \text{ s.t. } \patchof{C} = \bot} - D \le C \implies \patchof{D} = \bot +\[\eqn{Foreign Ancestry}{ + \bigforall_{C \in \foreign} + D \le C \implies \isforeign{D} +}\] +\[\eqn{Bases' Children}{ + C \hasparent D \land D \in \pdn + \implies + C \in \pdn \lor C \in \pdy }\] We also assign each new commit $C$ to zero or one of the sets $\p$, as