rule ref
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 31 May 2012 23:47:46 +0100
changeset 3134 58e71fd4509f
parent 3133 dde8b8ffec30
child 3135 e4f47e3c2137
rule ref
model/prov-constraints.html
--- a/model/prov-constraints.html	Thu May 31 13:53:12 2012 -0400
+++ b/model/prov-constraints.html	Thu May 31 23:47:46 2012 +0100
@@ -772,18 +772,21 @@
   <p>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">
+<div class='inference' id="alternate-reflexive">
+<p>
     For any entity <span class='name'>e</span>, we have <span class='name'>alternateOf(e,e)</span>.
+</p>
     </div>
 
 
        <div class='inference' id="alternate-transitive">
-    For any entities <span class='name'>e1</span>, <span
+<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>.
+   <span class='name'>alternateOf(e2,e3)</span> <span class="conditional">THEN</span> <span class='name'>alternateOf(e1,e3)</span>.</p>
     </div>
    <div class='inference' id="alternate-symmetric">
-    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>
+    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>
     </div>
 
 <p>Similarly, specialization is a strict partial order: it is <a>irreflexive</a>,
@@ -791,24 +794,26 @@
     <a>transitive</a>.</p>
 
         <div class='inference' id="specialization-irreflexive">
+<p>
     For any entity <span class='name'>e</span>, it is not the case that
-    have <span class='name'>specializationOf(e,e)</span>.
+    have <span class='name'>specializationOf(e,e)</span>.</p>
     </div>
 
 <div class='inference' id="specialization-antisymmetric">
-  For any
+<p>  For any
     entities <span class='name'>e1</span>, <span
   class='name'>e2</span>,
 it is not the case that 
   <span class='name'>specializationOf(e1,e2)</span>
     and
-	 <span class='name'>specializationOf(e2,e1)</span>.
+	 <span class='name'>specializationOf(e2,e1)</span>.</p>
 </div> 
        <div class='inference' id="specialization-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'>specializationOf(e1,e2)</span>
     and
-	 <span class='name'>specializationOf(e2,e3)</span> <span class='conditional'>THEN</span> <span class='name'>specializationOf(e1,e3)</span>.
+	 <span class='name'>specializationOf(e2,e3)</span> <span class='conditional'>THEN</span> <span class='name'>specializationOf(e1,e3)</span>.</p>
     </div> 
 
 
@@ -817,7 +822,8 @@
     alternates:</p>
     
        <div class='inference' id="specialization-alternate">
-    For any entities  <span class='name'>e1</span>, <span class='name'>e2</span>, <span class='conditional'>IF</span> <span class='name'>specializationOf(e1,e2)</span> <span class='conditional'>THEN</span> <span class='name'>alternateOf(e1,e2)</span>.
+<p>
+    For any entities  <span class='name'>e1</span>, <span class='name'>e2</span>, <span class='conditional'>IF</span> <span class='name'>specializationOf(e1,e2)</span> <span class='conditional'>THEN</span> <span class='name'>alternateOf(e1,e2)</span>.</p>
     </div> 
 
 
@@ -1087,7 +1093,7 @@
 Attribute uniqueness constraints?
 </div>
 
-  <p> We assume that the various identified objects of PROV-DM have
+  <p id='entity-unique_text'> We assume that the various identified objects of PROV-DM have
   unique statements describing them within a PROV instance.
   </p>
   <div class='constraint' id='entity-unique'>
@@ -1122,11 +1128,13 @@
 </div>
 
 
-<div class='constraint' id='generation-uniqueness'>Given an entity denoted by <span class="name">e</span>, two activities denoted by <span class="name">a1</span> and <span
+<div class='constraint' id='generation-uniqueness'>
+<p>
+Given an entity denoted by <span class="name">e</span>, two activities denoted by <span class="name">a1</span> and <span
 class="name">a2</span>, two time instants  <span class="name">t1</span> and <span
 class="name">t2</span>, and two sets of attribute-value pairs <span class="name">attrs1</span> and <span class="name">attrs2</span>,
 <span class='conditional'>IF</span> <span class="name">wasGeneratedBy(id1; e, a1, t1, attrs1)</span> and <span class="name">wasGeneratedBy(id2; e, a2, t2, attrs2)</span> exist,
-<span class='conditional'>THEN</span> <span class="name">id1</span>=<span class="name">id2</span>, <span class="name">a1</span>=<span class="name">a2</span>, <span class="name">t1</span>=<span class="name">t2</span>  and <span class="name">attrs1</span>=<span class="name">attrs2</span>.
+<span class='conditional'>THEN</span> <span class="name">id1</span>=<span class="name">id2</span>, <span class="name">a1</span>=<span class="name">a2</span>, <span class="name">t1</span>=<span class="name">t2</span>  and <span class="name">attrs1</span>=<span class="name">attrs2</span>.</p>
 </div> 
 
 <div class="note">
@@ -1142,27 +1150,29 @@
 Seems redundant given generation-uniqueness
 </div>
 <div class='constraint' id='unique-generation-time'>
-Given an entity denoted by <span class="name">e</span> and 
+<p>Given an entity denoted by <span class="name">e</span> and 
 two time instants  <span class="name">t1</span> and <span
 class="name">t2</span>,
-<span class='conditional'>IF</span> <span class="name">wasGeneratedBy(-;e, -, t1)</span> and <span class="name">wasGeneratedBy(-;e, -, t2)</span> hold, <span class='conditional'>THEN</span> <span class="name">t1</span>=<span class="name">t2</span>.
+<span class='conditional'>IF</span> <span class="name">wasGeneratedBy(-;e, -, t1)</span> and <span class="name">wasGeneratedBy(-;e, -, t2)</span> hold, <span class='conditional'>THEN</span> <span class="name">t1</span>=<span class="name">t2</span>.</p>
 </div> 
 
 <p>An <a>activity start event</a> is the <a title="instantaneous event">instantaneous event</a> that marks the instant an activity starts. It allows for an optional time attribute.  <span id="optional-start-time">Activities also allow for an optional start time attribute.  If both are specified, they MUST be the same, as expressed by the following constraint.</span>
 </p>
 
 <div class='constraint' id='unique-startTime'>
-<span class='conditional'>IF</span> <span class="name">activity(a,t1,t2)</span> and <span class="name">wasStartedBy(id;a,-,-,t)</span>,  <span class='conditional'>THEN</span> <span class="name">t</span>=<span class="name">t1</span>.
+<p>
+<span class='conditional'>IF</span> <span class="name">activity(a,t1,t2)</span> and <span class="name">wasStartedBy(id;a,-,-,t)</span>,  <span class='conditional'>THEN</span> <span class="name">t</span>=<span class="name">t1</span>.</p>
 </div> 
 
 <p>An <a>activity end event</a> is the <a title="instantaneous event">instantaneous event</a> that marks the instant an activity ends. It allows for an optional time attribute.  <span id="optional-end-time">Activities also allow for an optional end time attribute.  If both are specified, they MUST be the same, as expressed by the following constraint.</span>
 </p>
 
 <div class='constraint' id='unique-endTime'>
+<p>
 <span class='conditional'>IF</span> <span
   class="name">activity(a,t1,t2)</span> and <span
   class="name">wasEndedBy(id;a,-,-,t)</span>,  <span
-  class='conditional'>THEN</span> <span class="name">t</span> = <span class="name">t2</span>.
+  class='conditional'>THEN</span> <span class="name">t</span> = <span class="name">t2</span>.</p>
 </div> 
 
 
@@ -1273,10 +1283,16 @@
 
 <hr />
 
-<p>The existence of an activity implies that the <a>activity start event</a> always <a>precedes</a> the corresponding <a>activity end
-event</a>.  This is
-illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (a) and  expressed by <a class="rule-ref" href="#start-precedes-end"><span>TBD</span></a>.</p> 
+<p id='start-precedes-end_text'>
+The existence of an activity implies that the <a>activity start
+event</a> always <a>precedes</a> the corresponding <a>activity end
+event</a>.  This is illustrated by
+Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a>
+(a) and expressed by <a class="rule-ref"
+href="#start-precedes-end"><span>TBD</span></a>.</p>
+
 <div class='constraint' id='start-precedes-end'>
+<p>
 <span class="conditional">IF</span>
 <span class="name">wasStartedBy(start;a,-,-,-)</span> 
 and
@@ -1285,11 +1301,12 @@
 <span class="name">start</span> 
 <a>precedes</a>
 <span class="name">end</span>.
+</p>
 </div>
-
+<p>
 <hr />
 
-<p>A usage implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity usage event">usage event</a> had to occur during the associated activity. This is
+<p  id='usage-within-activity_text'>A usage implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity usage event">usage event</a> had to occur during the associated activity. This is
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (b) and  expressed by <a class="rule-ref" href="#usage-within-activity"><span>TBD</span></a>.</p>
 
 <div class='constraint' id='usage-within-activity'>
@@ -1317,10 +1334,12 @@
   </ol>
 </div>
 
+<p>
+
 <hr />
 
 
-<p>A generation implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity generation event">generation event</a> had to occur during the associated activity. This is
+<p id='generation-within-activity_text'>A generation implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity generation event">generation event</a> had to occur during the associated activity. This is
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (c) and  expressed by <a class="rule-ref" href="#generation-within-activity"><span>TBD</span></a>.</p> 
 
 <div class='constraint' id='generation-within-activity'>
@@ -1348,12 +1367,21 @@
   </ol>
 </div> 
 
+<p>
+
 <hr />
 
-<p>Communication between two activities <span class="name">a1</span> and <span class="name">a2</span> also implies ordering of <a
-title="instantaneous event">events</a>, since some entity must have been generated by the former and used by the latter, which implies that the start event of  <span class="name">a1</span>
-cannot follow the end event of  <span class="name">a2</span>. This is
-illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (d) and  expressed by <a class="rule-ref" href="#wasInformedBy-ordering"><span>TBD</span></a>.</p>
+<p id='wasInformedBy-ordering_text'>
+Communication between two activities <span class="name">a1</span>
+and <span class="name">a2</span> also implies ordering
+of <a title="instantaneous event">events</a>, since some entity must
+have been generated by the former and used by the latter, which
+implies that the start event of <span class="name">a1</span> cannot
+follow the end event of <span class="name">a2</span>. This is
+illustrated by
+Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a>
+(d) and expressed by <a class="rule-ref"
+href="#wasInformedBy-ordering"><span>TBD</span></a>.</p>
 
 <div class='constraint' id='wasInformedBy-ordering'>
  <span class="conditional">IF</span>
@@ -1368,12 +1396,19 @@
 <span class="name">end</span>.
 
 </div>
+<p>
 
 <hr />
 
-<p>Start of <span class="name">a2</span> by activity <span class="name">a1</span> also implies ordering of <a
-title="instantaneous event">events</a>, since  <span class="name">a1</span> must have been active before   <span class="name">a2</span> started. This is
-illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (e) and  expressed by constraint <a class="rule-ref" href="#wasStartedByActivity-ordering"><span>TBD</span></a>.</p>
+<p id='wasStartedByActivity-ordering_text'>Start
+of <span class="name">a2</span> by
+activity <span class="name">a1</span> also implies ordering
+of <a title="instantaneous event">events</a>,
+since <span class="name">a1</span> must have been active
+before <span class="name">a2</span> started. This is illustrated by
+Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a>
+(e) and expressed by <a class="rule-ref"
+href="#wasStartedByActivity-ordering"><span>TBD</span></a>.</p>
 
 
 <div class='constraint' id='wasStartedByActivity-ordering'>
@@ -1385,7 +1420,6 @@
 <span class="name">start1</span> 
 <a>precedes</a>
 <span class="name">start2</span>.
-
 </div>
 
 </section>
@@ -1411,12 +1445,14 @@
 
 <hr />
 
-<p>Generation of an entity precedes its invalidation. (This
+<p id='generation-precedes-invalidation_text'>
+Generation of an entity precedes its invalidation. (This
 follows from other constraints if the entity is used, but we state it
 explicitly to cover the case of an entity that is generated and
 invalidated without being used.)</p>
 
 <div class='constraint' id='generation-precedes-invalidation'>
+<p>
  <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen;e,-,-)</span> 
 and
@@ -1425,10 +1461,13 @@
 <span class="name">gen</span> 
 <a>precedes</a>
 <span class="name">inv</span>. 
+</p>
 </div>
+
 <hr />
 
-<p> A usage and a generation for a given entity implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity generation
+<p  id='generation-precedes-usage_text'> 
+A usage and a generation for a given entity implies ordering of <a title="instantaneous event">events</a>, since the <a title="entity generation
 event">generation event</a> had to precede the <a title="entity usage event">usage event</a>. This is
 illustrated by Subfigure <a href="#ordering-entity-fig">ordering-entity-fig</a> (a) and  expressed by <a class="rule-ref" href="#generation-precedes-usage"><span>TBD</span></a>.</p>
 
@@ -1443,22 +1482,24 @@
 <span class="name">use</span>.  
 </div>
 
+<p>
 <hr />
 
-<p>All usages of an entity precede its invalidation, which is captured by <a class="rule-ref" href="#usage-precedes-invalidation"><span>TBD</span></a> (without any explicit graphical representation).</p> 
+<p id='usage-precedes-invalidation_text'>All usages of an entity precede its invalidation, which is captured by <a class="rule-ref" href="#usage-precedes-invalidation"><span>TBD</span></a> (without any explicit graphical representation).</p> 
 
 <div class='constraint' id='usage-precedes-invalidation'>
-    <span class="conditional">IF</span>
+<p>
+<span class="conditional">IF</span>
 <span class="name">used(use;-,e,-)</span> 
 and
 <span class="name">wasInvalidatedBy(inv;e,-,-)</span> 
 <span class="conditional">THEN</span>
 <span class="name">use</span> 
 <a>precedes</a>
-<span class="name">inv</span>.  
+<span class="name">inv</span>.</p>
 </div>
 
-
+<p>
 
 <hr />
 
@@ -1467,7 +1508,7 @@
 
 
 
-<p>If there is a derivation between <span class="name">e2</span> and <span class="name">e1</span>, then 
+<p id='derivation-usage-generation-ordering_text'>If there is a derivation between <span class="name">e2</span> and <span class="name">e1</span>, then 
 this means that the entity <span class="name">e1</span> had some form of influence on the entity <span class="name">e2</span>; for this to be possible, some event ordering must be satisfied.
 First, we consider derivations, where the activity and usage are known. In that case, the <a title="entity usage event">usage</a> of <span class="name">e1</span> has to precede the <a title="entity generation
 event">generation</a> of <span class="name">e2</span>.
@@ -1486,9 +1527,11 @@
 <span class="name">g2</span>.  
 </p>
 </div>
+<p>
 <hr />
 
-<p>When the usage is unknown, a similar constraint exists, except that the constraint refers to its
+<p id='derivation-generation-generation-ordering_text'>
+When the usage is unknown, a similar constraint exists, except that the constraint refers to its
 generation event, as
 illustrated by Subfigure <a href="#ordering-entity-fig">ordering-entity-fig</a> (c) and  expressed by <a
 class="rule-ref" href="#derivation-generation-generation-ordering"><span>TBD</span></a>.</p>
@@ -1516,9 +1559,10 @@
 
 <hr />
 
-<p>The entity that triggered the start of an activity must exist before the activity starts.
+<p id='wasStartedBy-ordering_text'>
+The entity that triggered the start of an activity must exist before the activity starts.
 This is
-illustrated by Subfigure <a href="#ordering-entity-trigger-fig">ordering-entity-trigger-fig</a> (a) and  expressed by constraint <a class="rule-ref" href="#wasStartedBy-ordering"><span>TBD</span></a>.</p>
+illustrated by Subfigure <a href="#ordering-entity-trigger-fig">ordering-entity-trigger-fig</a> (a) and  expressed by <a class="rule-ref" href="#wasStartedBy-ordering"><span>TBD</span></a>.</p>
 
 
 <div class='constraint' id='wasStartedBy-ordering'>
@@ -1544,9 +1588,14 @@
   </li>
   </ol>
 </div>
+<p>
 <hr />
 
-<p> Similarly,  the entity that triggered the end of an activity must exist before the activity ends, as illustrated by Subfigure <a href="#ordering-entity-trigger-fig">ordering-entity-trigger-fig</a> (b).</p> 
+<p id='wasEndedBy-ordering_text'> Similarly, the entity that triggered
+the end of an activity must exist before the activity ends, as
+illustrated by
+Subfigure <a href="#ordering-entity-trigger-fig">ordering-entity-trigger-fig</a>
+(b).</p>
 
 
 <div class='constraint' id='wasEndedBy-ordering'>
@@ -1604,9 +1653,9 @@
 <hr />
 
 
-<p>An activity that was associated with an agent must have some overlap with the agent. The agent may be generated, or may only become associated with the activity, after the activity start: so, the agent is required to exist before the activity end. Likewise, the agent may be destructed, or may terminate its association with the activity, before the activity end: hence, the agent invalidation is required to happen after the activity start.
+<p id='wasAssociatedWith-ordering_text'>An activity that was associated with an agent must have some overlap with the agent. The agent may be generated, or may only become associated with the activity, after the activity start: so, the agent is required to exist before the activity end. Likewise, the agent may be destructed, or may terminate its association with the activity, before the activity end: hence, the agent invalidation is required to happen after the activity start.
 This is
-illustrated by Subfigure <a href="#ordering-agents">ordering-agents</a> (a) and  expressed by constraint <a href="#wasAssociatedWith-ordering">wasAssociatedWith-ordering</a>.</p>
+illustrated by Subfigure <a href="#ordering-agents">ordering-agents</a> (a) and  expressed by <a class="rule-ref" href="#wasAssociatedWith-ordering"><span>TBD</span></a>.</p>
 
 
 <div class='constraint' id='wasAssociatedWith-ordering'>
@@ -1636,13 +1685,16 @@
   </ol>
 </div>
 
+
+<p>
+
 <hr />
 
-<p>An entity that was attributed to an agent must have some overlap
+<p id='wasAttributedTo-ordering_text'>An entity that was attributed to an agent must have some overlap
 with the agent. The agent is required to exist before the entity
 invalidation. Likewise, the entity generation must precede the agent destruction.
 This is
-illustrated by Subfigure <a href="#ordering-agents">ordering-agents</a> (b) and  expressed by constraint <a href="#wasAttributedTo-ordering">wasAttributedTo-ordering</a>.</p>
+illustrated by Subfigure <a href="#ordering-agents">ordering-agents</a> (b) and  expressed by  <a class="rule-ref" href="#wasAttributedTo-ordering"><span/></a>.</p>
 
 
 
@@ -1674,13 +1726,14 @@
   </ol>
 </div>
 
+<p>
 <hr />
 
-<p>For delegation, two agents need to have some overlap in their lifetime.</p>
+<p id='actedOnBehalfOf-ordering_text'>For delegation, two agents need to have some overlap in their lifetime.</p>
 
 
 <div class='constraint' id='actedOnBehalfOf-ordering'>
-  <span class="conditional">IF</span>
+<p>  <span class="conditional">IF</span>
 <span class="name">actedOnBehalfOf(-;ag2,ag1,-)</span> 
 and
 <span class="name">wasGeneratedBy(gen;ag1,-,-)</span> 
@@ -1690,7 +1743,7 @@
 <span class="name">gen</span> 
 <a>precedes</a>
 <span class="name">inv</span>.
-
+</p>
 </div>
 
 </section>
@@ -1706,15 +1759,16 @@
   the next working draft, so this section may not be stable.
   </div>
   
-<p>Membership is a convenience notation, since it can be expressed in terms of an insertion into some collection. The membership definition is formalized by constraint <a href="#membership-as-insertion">membership-as-insertion</a>.</p>
+<p id='membership-as-insertion_text'>Membership is a convenience notation, since it can be expressed in terms of an insertion into some collection. The membership definition is formalized by <a class="rule-ref" href="#membership-as-insertion"><span/></a>.</p>
 
 <div class='definition' id='membership-as-insertion'>
+<p>
  <span class="name">memberOf(c, {(k1, v1), ...})</span> holds
 <span class='conditional'>IF AND ONLY IF</span> there exists a collection <span class="name">c0</span>, such that
-<span class="name">derivedByInsertionFrom(c, c0, {(k1, v1), ...})</span>.
+<span class="name">derivedByInsertionFrom(c, c0, {(k1, v1), ...})</span>.</p>
 </div>
 
-<p>A collection may be obtained by insertion or removal, or said to satisfy the membership relation.
+<p id='collection-unique-derivation_text'>A collection may be obtained by insertion or removal, or said to satisfy the membership relation.
 To provide an interpretation of collections, PROV-DM 
  restricts one collection to be involved in a single derivation by insertion or removal, or to one membership relation.
 PROV-DM does not provide an interpretation for statements that consist of two (or more) insertion, removal, membership relations that result in the same collection.</p>
@@ -1726,16 +1780,16 @@
 
 <div class='note'> The following constraint is unclear.</div>
 <div class='constraint' id='collection-unique-derivation'>
-A collection MUST NOT be derived through multiple insertions, removal,
-  or membership relations. 
+<p>A collection MUST NOT be derived through multiple insertions, removal,
+  or membership relations. </p>
 </div>
 
 <div class="anexample">
 Consider the following statements about three collections.
   <pre class="codeexample">
-entity(c1, [prov:type="prov:Collection"  %% xsd:QName])
-entity(c2, [prov:type="prov:Collection"  %% xsd:QName])
-entity(c3, [prov:type="prov:Collection"  %% xsd:QName])
+entity(c1, [prov:type='prov:Dictionary'])
+entity(c2, [prov:type='prov:Dictionary'])
+entity(c3, [prov:type='prov:Dictionary'])
 
 
 derivedByInsertionFrom(c3, c1, {("k1", e1), ("k2", e2)})
@@ -1782,10 +1836,10 @@
 
 <div class="anexample">
 <pre class="codeexample">
-entity(c0, [prov:type="prov:EmptyCollection" %% xsd:QName])    // c0 is an empty collection
-entity(c1, [prov:type="prov:Collection" %% xsd:QName])
-entity(c2, [prov:type="prov:Collection" %% xsd:QName])
-entity(c3, [prov:type="prov:Collection" %% xsd:QName])
+entity(c0, [prov:type='prov:EmptyDictionary'])    // c0 is an empty collection
+entity(c1, [prov:type='prov:Dictionary'])
+entity(c2, [prov:type='prov:Dictionary'])
+entity(c3, [prov:type='prov:Dictionary'])
 entity(e1)
 entity(e2)
 entity(e3)
@@ -1822,10 +1876,10 @@
  <div class="anexample">
 In the example, the state of <span class="name">c2</span> is only partially known because the collection is constructed from partially known other collections.
  <pre class="codeexample">
-entity(c0, [prov:type="prov:EmptyCollection" %% xsd:QName])    // c0 is an empty collection
-entity(c1, [prov:type="prov:Collection" %% xsd:QName])    
-entity(c2, [prov:type="prov:Collection" %% xsd:QName])    
-entity(c3, [prov:type="prov:Collection" %% xsd:QName])    
+entity(c0, [prov:type='prov:EmptyDictionary'])    // c0 is an empty dictionary
+entity(c1, [prov:type='prov:Dictionary'])    
+entity(c2, [prov:type='prov:Dictionary'])    
+entity(c3, [prov:type='prov:Dictionary'])    
 entity(e1)
 entity(e2)
 
@@ -1864,7 +1918,7 @@
 <div class="anexample" id="example-two-entities-one-id">
 <p>Let us consider two statements about the same entity, which we have taken from two different contexts. A working draft published by the <span class="name">w3:Consortium</span>:</p>
 <pre class="codeexample">
-entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ])
+entity(tr:WD-prov-dm-20111215, [ prov:type='pr:RecsWD' ])
 </pre>
 The second version of a document edited by some authors:
 <pre class="codeexample">
@@ -1878,7 +1932,7 @@
 
 
 <p>Two different statements about the same entity cannot co-exist in a PROV instance
- as formalized in <a href="#entity-unique">entity-unique</a>.</p>
+ as formalized in <a class="rule-text" href="#entity-unique"><span>entity-unique</span></a>.</p>
 
 <!-- Moved to uniqueness constraints section
 <div class='constraint' id='entity-unique'>
@@ -1895,12 +1949,12 @@
 
 
 <p>In some cases, there may be a requirement  for two different
-  statements concerning the same entity to be included in the same account. To satisfy the constraint <a href="#entity-unique">entity-unique</a>, we can adopt a different identifier for one of them, and relate the two statements with the <span class="name">alternateOf</span> relation. </p>
+  statements concerning the same entity to be included in the same account. To satisfy the constraint <a class="rule-text" href="#entity-unique"><span>entity-unique</span></a>, we can adopt a different identifier for one of them, and relate the two statements with the <span class="name">alternateOf</span> relation. </p>
 
 <div class="anexample" id="merge-with-rename">
 <p>We now reconsider the same two statements of a same entity, but we change the identifier for one of them:</p>
 <pre class="codeexample">
-entity(tr:WD-prov-dm-20111215, [ prov:type="pr:RecsWD" %% xsd:QName ])
+entity(tr:WD-prov-dm-20111215, [ prov:type='pr:RecsWD'  ])
 entity(ex:alternate-20111215, [ prov:type="document", ex:version="2" ])
 alternateOf(tr:WD-prov-dm-20111215,ex:alternate-20111215)
 </pre>
@@ -1914,11 +1968,11 @@
 <p> Taking the union of two accounts is another account, 
 formed by the union of the statements they respectively contain.  We note that the resulting union may or may not invalidate some constraints:
 <ul>
-<li> Two entity statements with the same identifier but different sets of attributes exist in each original PROV instance may invalidate <a href="#entity-unique">entity-unique</a> in the union, unless some form of statement merging or renaming (as per <a href="#merge-with-rename">Example</a>) occurs.
+<li> Two entity statements with the same identifier but different sets of attributes exist in each original PROV instance may invalidate <a class="rule-text" href="#entity-unique"><span>entity-unique</span></a> in the union, unless some form of statement merging or renaming (as per <a href="#merge-with-rename">Example</a>) occurs.
 <li> Structurally well-formed
 accounts are not
 closed under union because the
-constraint <a href="#generation-uniqueness">generation-uniqueness</a> may no
+constraint <a class="rule-text" href="#generation-uniqueness"><span>TBD</span></a> may no
 longer be satisfied in the resulting union.  </li>
 </ul>
 <p>How to reconcile such accounts is beyond the scope of this specification.</p>