* Revised in light of Luc and Paolo's comments
authorJames Cheney <jcheney@inf.ed.ac.uk>
Thu, 19 Apr 2012 18:47:07 +0100
changeset 2401 885e8638fe3a
parent 2400 d5e5117bc004
child 2402 8bb07ebce671
* Revised in light of Luc and Paolo's comments
model/working-copy/wd5-prov-dm-constraints-revised.html
--- a/model/working-copy/wd5-prov-dm-constraints-revised.html	Thu Apr 19 15:26:52 2012 +0100
+++ b/model/working-copy/wd5-prov-dm-constraints-revised.html	Thu Apr 19 18:47:07 2012 +0100
@@ -225,52 +225,6 @@
   the PROV-DM specification [[PROV-DM]] that defines a data model for
   provenance on the Web.  </p>
 
-<!-- Commented out since seems redundant -- jcheney
-<div class="note"> Revise list to match SOTD.  Seems redundant.
-  </div>
-<p>This specification is one of several specifications, referred to as the PROV family of specifications, defining the various aspects
-that are necessary to achieve the vision of  inter-operable exchange of provenance:</p>
-<ul>
-<li>A data model for provenance, which is presented in three documents:
-<ul>
-<li> PROV-DM (part I): the provenance data model itself, expressed in natural language  [[PROV-DM]];
-<li> PROV-CONSTRAINTS (part II): inferences and constraints on
-  valid PROV-DM data (this document);
-<li> PROV-N (part III): a notation to express instances of that data model for human consumption [[PROV-N]];
-</ul> 
-</li>
-<li>PROV-O: the PROV ontology, an OWL-RL ontology allowing the mapping of PROV to RDF  [[!PROV-O]];</li>
-<li>PROV-AQ: the mechanisms for accessing and querying provenance [[PROV-AQ]];</li>
-<li>PROV-PRIMER: a primer for the PROV approach [[PROV-PRIMER]];</li>
-<li>PROV-SEM: semantics of the PROV-DM data model [[PROV-SEM]];</li>
-</ul>
-
-<div class="note">
-  Revise this section to match the revised document structure.
-  </div>
--->
-
-  <!--
-<p>PROV-DM is essentially defined without any constraints 
-[[PROV-DM]]. This document introduces a further set of concepts useful
-for understanding the rationale for the data model, defines inferences
-over PROV-DM data, and defines constraints that valid provenance descriptions should follow. </p>
-
-
-<p>In [[PROV-DM]], a data model for provenance has been defined
-without introducing any constraints on provenance.  First we introduce and refine various PROV-DM concepts such as attributes, event, entity, entity, interval, accounts. Using these notions, we explore the constraints
-that the PROV-DM data model has to satisfy. </p> 
-
-<p>Several types of constraints are specified.</p>
-<ul>
-<li>Definitional constraints are constraints directly following the definition of concepts in the PROV data model (<a href="#definitional-constraints">Section 4</a>). </li>
-<li>Account constraints have to be satisfied by provenance descriptions in the context of a given account  (<a href="#account-constraints">Section 5</a>)</li>
-<li>Event ordering constraints provide a "temporal interpretation" for provenance descriptions (<a href="#interpretation">Section 6</a>)</li>
-<li>Structural constraints are further constraints to be satisfied by generation descriptions  (<a href="#structural-constraints">Section 7</a>)</li>
-<li>Collection constraints are the constraints that hold for collections (<a href="#collection-constraints">Section 8</a>)</li>
-</ul>
-
--->
 
 
     <section id="conventions"> 
@@ -289,14 +243,13 @@
 
 <h3>Purpose of this document</h3>
 
-<p>
-PROV-DM is a conceptual data model for provenance (realizable using
-PROV-N, PROV-RDF, or PROV-XML).  However, nothing in the PROV-DM specification [[PROV-DM]] forces PROV
-descriptions to be meaningful, that is, to correspond
-to a consistent history of objects and interactions.  Furthermore,
-nothing in the PROV-DM specification enables applications to perform 
-inferences over provenance descriptions.  
-</p>
+<p> PROV-DM is a conceptual data model for provenance (realizable
+using different serializations such as PROV-N, PROV-O, or PROV-XML).
+However, nothing in the PROV-DM specification [[PROV-DM]] forces PROV
+descriptions to be meaningful, that is, to correspond to a consistent
+history of objects and interactions.  Furthermore, nothing in the
+PROV-DM specification enables applications to perform inferences over
+provenance descriptions.  </p>
 
 <p> This document specifies <em>inferences</em> over PROV descriptions that
 applications MAY employ, including definitions of some provenance
@@ -313,9 +266,9 @@
 class="sectionRef"></a>), and then
 considers two kinds of validity constraints (<a href="#constraints"
 class="sectionRef"></a>): <em>structural constraints</em> that
-prescribe properties of <dfn title="PROV instance">PROV instances</dfn> that can be checked directly
+prescribe properties of PROV descriptions that can be checked directly
 by inspecting the syntax, and <em>event ordering</em> constraints that
-require that the records in a <a>PROV instance</a> are consistent with a
+require that the records in a <a>PROV description</a> are consistent with a
 sensible ordering of events relating the activities, entities and
 agents involved.  In separate sections we consider additional
 constraints specific to collections and accounts (<a
@@ -328,7 +281,7 @@
 The specification also describes how the inferences, definitions, and
 constraints should be used (<a href="#compliance"
 class="sectionRef"></a>).  Briefly, a PROV compliant application is
-allowed (but not required) to treat two <a title="PROV instance">PROV instances</a> as the same
+allowed (but not required) to treat two PROV descriptions the same
 if they are equal after applying the inference rules and possibly
 reordering expressions, and we can define a canonical form for <a title="PROV instance">PROV
 instances</a> obtained by applying all possible inference rules.  In
@@ -374,9 +327,9 @@
 <p>
 In this section, we describe <a title="inference">inferences</a> and <a title="definition">definitions</a> that MAY be used on
   provenance data, and a notion of <a
-title="equivalence">equivalence</a> on <a title="PROV instance">PROV instances</a>.  
+title="equivalence">equivalence</a> on PROV descriptions.  
 An  <dfn id="inference">inference</dfn> is a rule that can be applied
-  to PROV descriptions to add new provenance expressions.  A <dfn
+  to PROV descriptions to add new PROV expressions.  A <dfn
   id="definition">definition</dfn> is a rule that states that a
   provenance expression is equivalent to some other expressions; thus,
   defined provenance expressions can be replaced by their definitions,
@@ -386,50 +339,48 @@
 <p> Inferences have the following general form:
 <div class='inference' id='inference-example'>
   <span class='conditional'>IF</span> <span class="name">hyp_1</span> and ... and
-<span class="name">hyp_k</span> <span class='conditional'>THEN</span> there exists <span class="name">a_1</span>,..., <span class="name">a_m</span> such that <span class="name">conclusion_1</span> ... <span class="name">conclusion_n</span>.
+<span class="name">hyp_k</span> <span class='conditional'>THEN</span>
+  there exists <span class="name">a_1</span> and ... and <span
+  class="name">a_m</span> such that <span
+  class="name">conclusion_1</span> and ... and <span class="name">conclusion_n</span>.
   </div>
 
-  This means that if provenance expressions matching <span class="name">hyp_1</span>... <span class="name">hyp_k</span>
-  can be found in a <a>PROV instance</a>, we can add the expressions
+  This means that if all of the provenance expressions matching <span class="name">hyp_1</span>... <span class="name">hyp_k</span>
+  can be found in a PROV description, we can add all of the expressions
   <span class="name">concl_1</span> ... <span class="name">concl_n</span> to the instance, possibly after generating fresh
   identifiers <span class="name">a_1</span>,...,<span class="name">a_m</span> for unknown objects.  These fresh
   identifiers might later be found to be equal to known identifiers;
-  they play a similar role in PROV-DM to existential variables in logic.
+  these fresh identifiers play a similar role in PROV descriptions to existential variables in logic.
 </p>
 <div class='note'>
   TODO: Is this re-inventing blank nodes in PROV-DM, and do we want to
   do this?  A lot of the inferences have existentially quantified
   conclusions (and there is some theory that supports this).
+
+  TODO: Make sure conjunctive reading of conclusion is clear.
   </div>
 
 <p> Definitions have the following general form:
 <div class='definition' id='definition-example'>
   <span class="name">defined_exp</span> holds <span class='conditional'>IF AND ONLY IF </span>
-  there exists <span class="name">a_1</span>,..., <span class="name">a_m</span> such that <span class="name">defining_exp_1</span> ... <span class="name">defining_exp_n</span>.
+  there exists <span class="name">a_1</span>,..., <span
+  class="name">a_m</span> such that <span
+  class="name">defining_exp_1</span> and  ... and <span class="name">defining_exp_n</span>.
   </div>
 
   This means that a provenance expression defined_exp is defined in
   terms of other expressions.  This can be viewed as a two-way
   inference:  If <span class="name">defined_exp</span>
-  can be found in a <a>PROV instance</a>, we can add the expressions
+  can be found in a PROV description, we can add all of the expressions
 <span class="name">defining_exp_1</span> ... <span class="name">defining_exp_n</span> to the instance, possibly after generating fresh
   identifiers <span class="name">a_1</span>,...,<span class="name">a_m</span> for unknown objects.  Conversely, if there
   exist identifiers <span class="name">a_1</span>...<span class="name">a_m</span> such that <span class="name">defining_exp_1</span>
-  ... <span class="name">defining_exp_n</span> hold in the instance, we can add the defined
+  and ... and <span class="name">defining_exp_n</span> hold in the instance, we can add the defined
   expression <span class="name">def_exp</span>.  When an expression is defined in terms of
   others, it is in a sense redundant; it is safe to replace it with
   its definition.
 </p>
   
-<p>Applications that process provenance MAY use these definitions or
-inferences.  Moreover, they SHOULD apply all applicable inferences
-before determining whether an <a>PROV instance</a> is <a
- title="valid">valid</a>.  In particular, applications that generate
-provenance SHOULD check that the generated provenance is valid even if
-some of these inferences or definitions are applied to it by another
-application.
-</p>
-
 
 
 <section>
@@ -473,8 +424,8 @@
 <p>Start of <span class="name">a2</span> by activity <span
 class="name">a1</span> is <a title="definition">defined</a> as follows.</p>
 
-<div class='definition' id='wasStartedBy-definition'>Given two activities with identifiers <span class="name">a1</span> and <span class="name">a2</span>, 
- <span class="name">wasStartedBy(a2,a1)</span>
+<div class='definition' id='wasStartedByActivity-definition'>Given two activities with identifiers <span class="name">a1</span> and <span class="name">a2</span>, 
+ <span class="name">wasStartedByActivity(a2,a1)</span>
 holds <span class='conditional'>IF AND ONLY IF</span>
  there exists an entity <span class="name">e</span> 
 such that
@@ -570,7 +521,8 @@
 
 
 
-<p>A revision needs to satisfy the following constraint, linking the two entities by a derivation, and stating them to be a specialization  of a third entity.</p>
+<p>A revision admits the following inference, linking the two entities
+  by a derivation, and stating them to be alternates.</p>
 
 <div class='inference' id='wasRevision'>
 Given two identifiers <span class="name">e1</span> and <span class="name">e2</span> identifying two entities, and an identifier <span class="name">ag</span> identifying an agent,
@@ -691,7 +643,7 @@
     have <span class='name'>specializationOf(e,e)</span>.
     </div>
 
-<div class='inference' id="specialization-transitive">
+<div class='inference' id="specialization-antisymmetric">
   For any
     entities <span class='name'>e1</span>, <span
   class='name'>e2</span>,
@@ -830,7 +782,7 @@
 
 
   For the purpose of checking inferences and constraints, we define a
-notion of <a>equivalence</a> of <a title="PROV instance">PROV instances</a>.  Equivalence is
+notion of <a>equivalence</a> of PROV descriptions.  Equivalence is
 has the following characteristics:
 
 
@@ -842,8 +794,8 @@
   <li> Redundant expressions are merged according to uniqueness
   constraints. </li>
   <li>
-  The order of provenance expressions is irrelevant to the meaning of a <a>PROV instance</a>.  That is, a
-  <a>PROV instance</a> is equivalent to any other instance obtained by
+  The order of provenance expressions is irrelevant to the meaning of a PROV description.  That is, a
+  PROV description is equivalent to any other instance obtained by
   permuting its expressions.
   </li>
   <li>
@@ -902,10 +854,10 @@
 
 
 <p>
-We define the <dfn>normal form</dfn> of a <a>PROV instance</a> as the set
+We define the <dfn>normal form</dfn> of a PROV description as the set
 of provenance expressions resulting from merging all of the overlapping
 expressions in the instance and applying all possible inference rules
-to this set.  Formally, we say that two <a title="PROV instance">PROV instances</a> are
+to this set.  Formally, we say that two PROV descriptions are
 <dfn>equivalent</dfn> if they have the same normal form (that is,
 after applying all possible inference rules, the two instances produce
 the same set of PROV-DM expressions.)
@@ -934,7 +886,7 @@
 
 
 <p>
-This section defines a collection of constraints on <a title="PROV instance">PROV instances</a>.  An <a>PROV instance</a> is <dfn id="dfn-valid">valid</dfn>
+This section defines a collection of constraints on PROV descriptions.  An PROV description is <dfn id="dfn-valid">valid</dfn>
   if, after applying all possible inference and definition rules from
   <a href="#inferences">Section 2</a>, the resulting instance
   satisfies all of the constraints specified in this section.
@@ -953,7 +905,7 @@
     <li> and <em>event ordering constraints</em> that say that it
   should be possible to arrange the 
   events (generation, usage, invalidation, start, end) described in a
-  <a>PROV instance</a> into a partial order that corresponds to a sensible
+  PROV description into a partial order that corresponds to a sensible
   "history" (for example, an entity should not be generated after it
   is used).
     </li>
@@ -994,7 +946,7 @@
 </div>
 
   <p> We assume that the various identified objects of PROV-DM have
-  unique expressions describing them within a <a>PROV instance</a>.
+  unique expressions describing them within a PROV description.
   </p>
   <div class='constraint' id='entity-unique'>
 <p>Given an entity identifier <span class="name">e</span>, there is at
@@ -1069,25 +1021,6 @@
 </div> 
 
 
-<!--
-<div class='note'>TODO: Move this back to the place where it is first referenced.</div>
-<p>A further inference is permitted from derivations with an explicit activity and no usage: </p>
-<div class='inference' id='derivation-use'>
-<p>Given an activity <span class="name">a</span>, entities  denoted by <span class="name">e1</span> and <span class="name">e2</span>, and  sets of attribute-value
-pairs <span class="name">dAttrs</span>, <span class="name">gAttrs</span>,
-<span class='conditional'>IF</span> <span class="name">wasDerivedFrom(e2,e1, a, dAttrs)</span> and <span class="name">wasGeneratedBy(e2,a,-,gAttrs)</span> hold, <span
-class='conditional'>THEN</span> <span class="name">used(a,e1,-,uAttrs)</span> also holds
-for some set of attribute-value pairs <span class="name">uAttrs</span>.
-</div>
-<p>This inference is justified by the fact that the entity denoted by <span class="name">e2</span> is generated by at most one activity
-(see <a href="#generation-uniqueness">generation-uniqueness</a>). Hence,  this activity is also the one referred to by the usage of <span class="name">e1</span>. 
-</p>
-
-
-<p>We note that the converse inference, does not hold.
-From <span class="name">wasDerivedFrom(e2,e1)</span> and <span class="name">used(a,e1,-)</span>, one cannot
-derive <span class="name">wasGeneratedBy(e2,a,-)</span> because identifier <span class="name">e1</span> may occur in usages performed by many activities, which may have not generated the entity denoted by <span class="name">e2</span>.</p>
--->
 
 
 </section> <!-- uniqueness-constraints--> 
@@ -1200,11 +1133,6 @@
 event</a>.  This is
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (a) and  expressed by constraint <a href="#start-precedes-end">start-precedes-end</a>.</p> 
 <div class='constraint' id='start-precedes-end'>
-  <!--
-  The
-<a title="activity start event">start event</a> of any
-activity <a>precedes</a> its <a title="activity end event">end
-  event</a>.-->
 <span class="conditional">IF</span>
 <span class="name">wasStartedBy(start,a,-,-)</span> 
 and
@@ -1221,15 +1149,7 @@
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (b) and  expressed by constraint <a href="#usage-within-activity">usage-within-activity</a>.</p>
 
 <div class='constraint' id='usage-within-activity'>
-  <!--
-  Given an activity with identifier <span class="name">a</span>, an entity with identifier <span class="name">e</span>, a set
-of attribute-value pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, <span class='conditional'>IF</span>
-  <span class="name">used(a,e,attrs,t)</span> holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
- the <a title="entity usage event">usage</a> of the entity  denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a> of
-activity denoted by <span class="name">a</span> and <a>follows</a> its
-  <a title="activity start event">start</a>.
-  -->
- <ol>
+<ol>
     <li>
   <span class="conditional">IF</span>
 <span class="name">used(use,a,e,-,-)</span> 
@@ -1260,16 +1180,7 @@
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (c) and  expressed by constraint <a href="#generation-within-activity">generation-within-activity</a>.</p> 
 
 <div class='constraint' id='generation-within-activity'>
-  <!--
-  Given an activity with identifier <span class="name">a</span>, an entity with identifier <span class="name">e</span>, a set
-of attribute-value pairs <span class="name">attrs</span>, and optional time <span class="name">t</span>, <span class='conditional'>IF</span>  <span
-class="name">wasGeneratedBy(e,a,attrs,t)</span> holds, <span class='conditional'>THEN</span> the following ordering constraint also holds: the <a title="entity generation
-event">generation</a> of the entity denoted by <span class="name">e</span> <a>precedes</a> the <a title="activity end event">end</a>
-of activity <span class="name">a</span> and <a>follows</a> the <a
-  title="activity start event">start</a> of <span
-  class="name">a</span>.
-   -->
-    <ol>
+   <ol>
     <li>
   <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen,a,e,-,-)</span> 
@@ -1301,14 +1212,7 @@
 illustrated by Subfigure <a href="#ordering-activity-fig">ordering-activity-fig</a> (d) and  expressed by constraint <a href="#wasInformedBy-ordering">wasInformedBy-ordering</a>.</p>
 
 <div class='constraint' id='wasInformedBy-ordering'>
-  <!--
-Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class='conditional'>IF</span> <span
-class="name">wasInformedBy(a2,a1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
-the <a title="activity start event">start event</a> of the activity denoted by <span class="name">a1</span> <a>precedes</a> the <a title="activity end event">end event</a> of
-the activity denoted by <span class="name">a2</span>.
--->
-  <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
 <span class="name">wasInformedBy(a2,a1)</span> 
 and
 <span class="name">wasStartedBy(start,a1,-,-)</span> 
@@ -1329,14 +1233,7 @@
 
 
 <div class='constraint' id='wasStartedByActivity-ordering'>
-  <!--
-Given two activities denoted by <span class="name">a1</span> and <span class="name">a2</span>, <span class='conditional'>IF</span> <span
-class="name">wasStartedBy(a2,a1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds: the
-<a title="activity start event">start</a> event of the activity denoted by <span class="name">a1</span> <a>precedes</a> the <a title="activity start event">start event</a> of
-the activity denoted by <span class="name">a2</span>.
-  -->
-    <span class="conditional">IF</span>
+   <span class="conditional">IF</span>
 <span class="name">wasStartedByActivity(a2,a1)</span> 
 and
 <span class="name">wasStartedBy(start1,a1,-,-)</span> 
@@ -1378,12 +1275,7 @@
 invalidated without being used.)</p>
 
 <div class='constraint' id='generation-precedes-invalidation'>
-  <!--The <a
-  title="entity generation event">generation</a> of an entity always
-<a>precedes</a> its <a title="entity invalidation
-  event">invalidation</a>.
-  -->
-  <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen,e,_,_)</span> 
 and
 <span class="name">wasInvalidatedBy(inv,e,-,-)</span> 
@@ -1399,10 +1291,7 @@
 illustrated by Subfigure <a href="#ordering-entity-fig">ordering-entity-fig</a> (a) and  expressed by constraint <a href="#generation-precedes-usage">generation-precedes-usage</a>.</p>
 
 <div class='constraint' id='generation-precedes-usage'>
-  <!--
-  The <a title="entity generation event">generation</a> of an entity always
-<a>precedes</a> any of its <a title="entity usage event">usages</a>.-->
-   <span class="conditional">IF</span>
+  <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen,e,_,_)</span> 
 and
 <span class="name">used(use,_,e,-)</span> 
@@ -1417,11 +1306,7 @@
 <p>All usages of an entity precede its invalidation, which is captured by constraint <a href="#usage-precedes-invalidation">usage-precedes-invalidation</a> (without any explicit graphical representation).</p> 
 
 <div class='constraint' id='usage-precedes-invalidation'>
-  <!--
-  Any <a title="entity usage event">usage</a> of an entity always
-<a>precedes</a> its <a title="entity invalidation
-  event">invalidation</a>.-->
-     <span class="conditional">IF</span>
+    <span class="conditional">IF</span>
 <span class="name">used(use,_,e,-)</span> 
 and
 <span class="name">wasInvalidatedBy(inv,e,_,_)</span> 
@@ -1450,16 +1335,7 @@
 
 
 <div class='constraint' id='derivation-usage-generation-ordering'>
-  <!--
-  Given an activity with identifier <span class="name">a</span>,  entities with identifier <span
-class="name">e1</span> and <span class="name">e2</span>, a generation identified by <span class="name">g2</span>, and a usage identified by <span class="name">u1</span>, <span
-class='conditional'>IF</span> <span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span>
- holds, <span class='conditional'>THEN</span>
-the following ordering constraint holds:
-the <a title="entity usage event">usage</a>
-of entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation</a> of
-the entity denoted by <span class="name">e2</span>.-->
-       <span class="conditional">IF</span>
+      <span class="conditional">IF</span>
 <span class="name">wasDerivedFrom(d,e2,e1,a,g2,u1,-)</span> 
 <span class="conditional">THEN</span>
 <span class="name">u1</span> 
@@ -1476,15 +1352,7 @@
 
 <div class='constraint'
   id='derivation-generation-generation-ordering'>
-  <!--
-Given two entities denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>IF</span> <span
-class="name">wasDerivedFrom(e2,e1, attrs)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraint holds:
-the <a title="entity generation event">generation event</a> of the entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation event</a>
-of
-the entity  denoted by <span class="name">e2</span>.
-  -->
-  <span class="conditional">IF</span>
+ <span class="conditional">IF</span>
 <span class="name">wasDerivedFrom(e2,e1,attrs)</span>
   and
 <span class="name">wasGeneratedBy(gen1,e1,_,_)</span>
@@ -1509,15 +1377,7 @@
 
 
 <div class='constraint' id='wasStartedBy-ordering'>
-<!--Given an activity denoted by <span class="name">a</span> and an entity
-denoted by   <span class="name">e</span>, <span class='conditional'>IF</span>  <span
-class="name">wasStartedBy(a,e)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity start event">start</a> event of the activity  denoted by <span class="name">a</span> <a>follows</a> the <a title="entity generation event">generation event</a> for entity <span class="name">e</span>, and
-<a>precedes</a> the invalidation event of 
-the same entity.-->
-
-  <ol>
+ <ol>
     <li>
     <span class="conditional">IF</span>
 <span class="name">wasStartedBy(start,a,e,-)</span> 
@@ -1545,14 +1405,7 @@
 
 
 <div class='constraint' id='wasEndedBy-ordering'>
-  <!--
-Given an activity denoted by <span class="name">a</span> and an entity denoted by   <span class="name">e</span>, <span class='conditional'>IF</span>  <span
-class="name">wasEndedBy(a,e)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity end event">end</a> event of the activity  denoted by <span class="name">a</span> <a>follows</a> the <a title="entity generation event">generation event</a> for entity <span class="name">e</span>, and
-<a>precedes</a> the invalidation event of 
-the same entity.-->
-  <ol>
+ <ol>
       <li>
     <span class="conditional">IF</span>
 <span class="name">wasEndedBy(end,a,e,-)</span> 
@@ -1612,16 +1465,7 @@
 
 
 <div class='constraint' id='wasAssociatedWith-ordering'>
-<!--Given an activity denoted by <span class="name">a</span> and an agent denoted by   <span class="name">ag</span>, <span class='conditional'>IF</span> <span
-class="name">wasAssociatedWith(a,ag)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="activity start event">start</a> event of the activity  denoted by <span class="name">a</span>
-precedes the invalidation event of 
-the agent denoted by <span class="name">ag</span>, and 
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag</span>
-<a>precedes</a> the activity <a title="activity end event">end</a>
-  event.-->
-   <ol>    <li>
+  <ol>    <li>
     <span class="conditional">IF</span>
 <span class="name">wasAssociatedWith(a,ag)</span> 
 and
@@ -1659,16 +1503,7 @@
 
  
 <div class='constraint' id='wasAttributedTo-ordering'>
-<!--Given an entity denoted by <span class="name">e</span> and an agent denoted by   <span class="name">ag</span>, <span class='conditional'>IF</span> <span
-class="name">wasAttributedTo(e,ag)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="entity generation event">generation</a> event of the entity  denoted by <span class="name">e</span>
-precedes the invalidation event of 
-the agent denoted by <span class="name">ag</span>, and 
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag</span>
-<a>precedes</a> the entity <a title="entity invalidation
-  event">invalidation</a> event.-->
-       <ol> <li>
+      <ol> <li>
     <span class="conditional">IF</span>
 <span class="name">wasAttributedTo(e,ag)</span> 
 and
@@ -1700,17 +1535,7 @@
 
 
 <div class='constraint' id='actedOnBehalfOf-ordering'>
-  <!--
-Given two agents <span class="name">ag1</span> and <span class="name">ag2</span>, <span class='conditional'>IF</span> <span
-class="name">actedOnBehalfOf(ag2,ag1)</span>
- holds, <span class='conditional'>THEN</span> the following ordering constraints hold: the
-<a title="entity generation event">generation</a> event of the agent  denoted by <span class="name">ag2</span>
-precedes the invalidation event of 
-agent <span class="name">ag1</span>, and 
- the <a title="entity generation event">generation event</a> for agent denoted by <span class="name">ag1</span>
-<a>precedes</a>  <a title="entity invalidation event">invalidation</a>
-  event for <span class="name">ag2</span>.-->
-   <span class="conditional">IF</span>
+  <span class="conditional">IF</span>
 <span class="name">actedOnBehalfOf(ag2,ag1)</span> 
 and
 <span class="name">wasGeneratedBy(gen,ag1,-,-)</span> 
@@ -2025,7 +1850,7 @@
     application MAY apply the inferences and definitions in <a
     href="#inferences" class='sectionRef'></a>.</li>
     <li>An application SHOULD process <a>equivalent</a> PROV-DM instances in the same way, described in <a href="#equivalence" class="sectionRef"></a>
-    <li>When determining whether a <a>PROV instance</a> is <a>valid</a>, an
+    <li>When determining whether a PROV description is <a>valid</a>, an
     application MUST check that all of the
     constraints of <a href="#constraints" class="sectionRef"></a> are
   satisfied  on the <a>normal form</a> of the instance.</li>
@@ -2033,7 +1858,7 @@
     use, the application SHOULD produce <a>valid</a> provenance. </li>
   </ul>
   <div class="note">
-    Should we specify a way for <a title="PROV instance">PROV instances</a> to say whether they
+    Should we specify a way for PROV descriptions to say whether they
     are meant to be validated or not?  Seems outside the scope of this document.
   </div>
   
@@ -2065,11 +1890,6 @@
 </p>
 
 <p>
-<!--From a provenance viewpoint, it is important to identify a
-<em>partial state</em> of something, i.e. something with some aspects
-that have been fixed, so that it becomes possible to express its
-provenance, and what causes that thing, with these specific
-aspects.-->
 To describe the provenance of things that can change over
 time, PROV-DM uses the concept of <i>entities</i> with fixed
 attributes.  From a provenance viewpoint, it is important to identify
@@ -2081,11 +1901,6 @@
 thing with some associated partial state.
 Attributes in PROV-DM are used to fix certain aspects of entities.</p>
 
-<!--<p>Attributes in PROV-DM describe some aspects of entities.
-Indeed, we previously defined 
-entities as things one wants to provide provenance for;
-we refine this definition as follows, using attribute-values to describe entities' partial states, and linking them to the very existence of entities.</p>
--->
 
 <p>
 An <dfn>entity</dfn> is a thing one wants to provide provenance for
@@ -2100,8 +1915,7 @@
 created and describe the entity's situation and (partial) state
 during an entity's lifetime.</p>
 
-<p><!--An entity fixes some aspects of a thing and its situation in the
-world.-->
+<p>
 A different entity (perhaps representing a different user or
 system perspective) may fix other aspects of the same thing, and its provenance
 may be different.  Different entities that are aspects of the same
@@ -2290,14 +2104,6 @@
 designed to minimize assumptions about time.  </p>
 
 
-<!--<p>Furthermore, consider two activities that started at the same time
-instant. Just by referring to that instant, we cannot distinguish
-which activity start we refer to. This is particularly relevant if we
-try to explain that the start of these activities had different
-reasons.  We need to be able to refer to the start of an activity as a
-first class concept, so that we can talk about it and about its
-relation with respect to other similar starts. </p>
--->
 
 <p>Hence, to talk about the constraints on valid PROV-DM data, we
 refer to <a title="instantaneous event">instantaneous events</a> that correspond to interactions
@@ -2493,13 +2299,15 @@
  -->
 <!--  LocalWords:  QName derivedByRemovalFrom EmptyCollection wasVersionOf dm
  -->
-<!--  LocalWords:  RecsWD formedness workflow ness operability CSP
+<!--  LocalWords:  RecsWD formedness workflow ness operability CSP versa hyp YY
  -->
 <!--  LocalWords:  disambiguating lifecycle conformant minimalistic Lamport fo
  -->
-<!--  LocalWords:  reflexivity antisymmetry timelines timespan WG
+<!--  LocalWords:  reflexivity antisymmetry timelines timespan WG concl inv
  -->
 <!--  LocalWords:  continuant occurrent modalities toyota womanInRedDress
  -->
 <!--  LocalWords:  customerInChairAt manWithGlasses customerInChair
  -->
+<!--  LocalWords:  wasStartedByActivity antisymmetric wasInvalidatedBy
+ -->