X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=invariants.tex;h=28647658cb30190e30a2f93a658757a81f8ddf59;hp=736fb8ee569ed5a2791bfae5b1c817cd95cfaa23;hb=35d8920c70badf3ea6556ad6cf53ea96ef6aec0c;hpb=fd4fcf610bbe38767f7aba836c233bdc46e513e3 diff --git a/invariants.tex b/invariants.tex index 736fb8e..2864765 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} = \foreign} 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} = \foreign} - D \le C \implies \patchof{D} = \foreign + \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