--- a/model/prov-constraints.html Mon Jul 23 14:21:27 2012 +0100
+++ b/model/prov-constraints.html Mon Jul 23 14:30:24 2012 +0100
@@ -1286,6 +1286,8 @@
such that <span class="name">wasGeneratedBy(_id1;e,a1,_t1,[])</span> and <span class="name">used(_id2;a2,e,_t2,[])</span> hold.</p>
</div>
+<p id="generation-communication-use-inference_text">
+
<div class="note">
A final check is required on this inference to ensure that it does not lead to non-termination, when combined with
<a class="rule-text" href="#communication-generation-use-inference"><span>TBD</span></a>.
@@ -1696,7 +1698,7 @@
<hr>
- <p>The relation <span class='name'>alternateOf</span> is an equivalence relation: <a>reflexive</a>,
+ <p id="alternate-reflexive_text">The relation <span class='name'>alternateOf</span> is an equivalence relation: <a>reflexive</a>,
<a>transitive</a> and <a>symmetric</a>.</p>
<div class='inference' id="alternate-reflexive">
@@ -1705,12 +1707,22 @@
</p>
</div>
+<p>
+
+<hr>
+ <p id="alternate-transitive_text">
<div class='inference' id="alternate-transitive">
<p><!-- For any entities <span class='name'>e1</span>, <span class='name'>e2</span>, <span class='name'>e3</span>, -->
<span class="conditional">IF</span> <span class='name'>alternateOf(e1,e2)</span> and
<span class='name'>alternateOf(e2,e3)</span> <span class="conditional">THEN</span> <span class='name'>alternateOf(e1,e3)</span>.</p>
</div>
+
+<p>
+
+<hr>
+ <p id="alternate-symmetric_text">
+
<div class='inference' id="alternate-symmetric">
<p><!-- For any entity <span class='name'>e1</span>, <span class='name'>e2</span>, -->
<span class='conditional'>IF</span> <span class='name'>alternateOf(e1,e2)</span> <span class='conditional'>THEN</span> <span class='name'>alternateOf(e2,e1)</span>.</p>
@@ -1948,7 +1960,7 @@
<p>
<hr>
- <p id='key_text'> We assume that the various identified objects of PROV have
+ <p id='key-object_text'> We assume that the various identified objects of PROV have
unique statements describing them within a PROV instance, through
the following key constraints:
</p>
@@ -2036,6 +2048,10 @@
<span class='conditional'>THEN</span> <span class="name">id1</span>=<span class="name">id2</span>.</p>
</div>
+<hr>
+
+<div id='unique-invalidation_text'>
+
<div class='constraint' id='unique-invalidation'>
<p>
<span class='conditional'>IF</span> <span class="name">wasInvalidatedBy(id1;e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(id2;e,_a2,_t2,_attrs2)</span>,
@@ -2052,11 +2068,10 @@
<hr />
<p id='unique-wasStartedBy_text'>
-<p>We assume that an activity has exactly one start and
+We assume that an activity has exactly one start and
end event (either or both may, however, be left implicit). Again,
together with above key constraints these constraints imply that the
-activity is a key for activity start and end statements.,
-these
+activity is a key for activity start and end statements.
</p>
<div class='constraint' id='unique-wasStartedBy'>
@@ -2068,6 +2083,8 @@
class="name">id'</span>.</p>
</div>
+<hr />
+<p id='unique-wasEndedBy_text'>
<div class='constraint' id='unique-wasEndedBy'>
<p>
@@ -2872,7 +2889,7 @@
identifiers are required to be pairwise disjoint.
</div>
- <p id='impossible-object-overlap_text'> Identifiers of entities,
+ <p id='impossible-object-property-overlap_text'> Identifiers of entities,
agents and activities cannot also be identifiers of properties.
</p>
<div class='constraint' id='impossible-object-property-overlap'>