merge
authorTim L <lebot@rpi.edu>
Sun, 11 Nov 2012 14:20:14 -0500
changeset 4727 a288d7e681a5
parent 4726 a1dd4072c376 (current diff)
parent 4725 309f90ed1d68 (diff)
child 4729 123b86217c6d
merge
--- a/model/Makefile	Sun Nov 11 14:20:01 2012 -0500
+++ b/model/Makefile	Sun Nov 11 14:20:14 2012 -0500
@@ -39,8 +39,8 @@
 	xpath $(WORKDIR)/out01 .//div[@class] >> $(WORKDIR)/all-divs.html
 	xpath $(WORKDIR)/out01 .//span[@class] >> $(WORKDIR)/all-divs.html
 	echo "</html>" >> $(WORKDIR)/all-divs.html
-	cat $(WORKDIR)/all-divs.html | sed -e "s/\d039/\\\'/g" > $(WORKDIR)/all-divs2.html
-#	cat $(WORKDIR)/all-divs.html | sed -e "s/\'/\\\'/g" > $(WORKDIR)/all-divs2.html
+#	cat $(WORKDIR)/all-divs.html | sed -e "s/\d039/\\\'/g" > $(WORKDIR)/all-divs2.html
+	cat $(WORKDIR)/all-divs.html | sed -e "s/\'/\\\'/g" > $(WORKDIR)/all-divs2.html
 	$(MAKE) make.all-divs.js
 
 make.all-divs.js: $(WORKDIR)/all-divs2.html Makefile
@@ -52,9 +52,10 @@
 make.divs.js: 
 	@$(MAKE) OUT.JS=$(OUT.JS) documentation
 	@$(MAKE) OUT.JS=$(OUT.JS) hgDivsId
-	@echo "divs_string= " >> $(OUT.JS)
+	@echo "x=''; " >> $(OUT.JS)
 #	cat $(IN.HTML) | sed -e "s/\d039/\\\'/g" | awk '{ print "'\''"  $$0 " '\'' + " }' >> $(OUT.JS)
-	cat $(IN.HTML)  | awk '{ print "'\''"  $$0 " '\'' + " }' >> $(OUT.JS)
+	cat $(IN.HTML) | sed -e "s/\d039/\\\'/g"  | awk '{ print "x=x+ '\''"  $$0 "\\n'\'' ; " }' >> $(OUT.JS)
+	@echo "divs_string= x" >> $(OUT.JS)
 	echo "' ' ;" >> $(OUT.JS)
 
 
--- a/model/all-divs.js	Sun Nov 11 14:20:01 2012 -0500
+++ b/model/all-divs.js	Sun Nov 11 14:20:14 2012 -0500
@@ -3,4313 +3,4134 @@
 //  with <script src="all-divs.js" class="remove"></script>
 //Insert glossary definitions with the following 
 // <div class="glossary-ref" ref="glossary-generation"></div>
-divs_hg='http://dvcs.w3.org/hg/prov/file/458418092b96/model/prov-dm.html';
-divs_string= 
-'<html> ' + 
-'<div style="text-align: left;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="namespace-table"> ' + 
-'          Prefix and Namespaces used in this specification ' + 
-'        </caption> ' + 
-'        <!--  Table 1 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a><b>prefix</b></a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>namespace uri</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>definition</b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>prov</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            http://www.w3.org/ns/prov# ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            The PROV namespace (see <a class="section-ref" href="#term-NamespaceDeclaration"><span>TBD</span></a>) ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>xsd</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            http://www.w3.org/2000/10/XMLSchema# ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            XML Schema Namespace [[!XMLSCHEMA11-2]] ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>rdf</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            http://www.w3.org/1999/02/22-rdf-syntax-ns# ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            The RDF namespace [[!RDF-CONCEPTS]] ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>(others)</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            (various) ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            All other namespace prefixes are used in examples only. <br /> In ' + 
-'            particular, URIs starting with "http://example.com" represent<br /> ' + 
-'            some application-dependent URI [[!URI]] ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div style="text-align: center; "> ' + 
-'      <img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; " /><br /> PROV Core Structures (Informative) ' + 
-'    </div><div style="text-align: left;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="overview-types-and-relations"> ' + 
-'          Mapping of PROV core concepts to types and relations ' + 
-'        </caption> ' + 
-'        <!--  Table 2 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a><b>PROV Concepts</b></a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>PROV-DM types or relations</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Name</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Overview</b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Entity</a> ' + 
-'          </td> ' + 
-'          <td rowspan="3" style="text-align: center;"> ' + 
-'            PROV-DM Types ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-Entity">Entity</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-Activity">Activity</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Agent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-agent">Agent</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Generation</a> ' + 
-'          </td> ' + 
-'          <td rowspan="7" style="text-align: center;"> ' + 
-'            PROV-DM Relations ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasGeneratedBy">WasGeneratedBy</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Usage</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="used">Used</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Communication</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasInformedBy">WasInformedBy</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Derivation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasDerivedFrom">WasDerivedFrom</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-derivation"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Attribution</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasAttributedTo">WasAttributedTo</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Association</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasAssociatedWith">WasAssociatedWith</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a>Delegation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="actedOnBehalfOf">ActedOnBehalfOf</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: center;"> ' + 
-'            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="anexample conceptexample" id="entity-example"> ' + 
-'      <p> ' + 
-'        An entity may be the document at URI <a href="http://www.bbc.co.uk/news/science-environment-17526723">http://www.bbc.co.uk/news/science-environment-17526723</a>, ' + 
-'        a file in a file system, a car, or an idea. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="activity-example"> ' + 
-'      <p> ' + 
-'        An activity may be the publishing of a document on the Web, sending a ' + 
-'        twitter message, extracting metadata embedded in a file, driving a car ' + 
-'        from Boston to Cambridge, assembling a data set based on a set of ' + 
-'        measurements, performing a statistical analysis over a data set, sorting ' + 
-'        news items according to some criteria, running a SPARQL query over a ' + 
-'        triple store, or editing a file. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="generation-example"> ' + 
-'      <p> ' + 
-'        Examples of generation are the completed creation of a file by a ' + 
-'        program, the completed creation of a linked data set, and the completed ' + 
-'        publication of a new version of a document. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="usage-example"> ' + 
-'      <p> ' + 
-'        Usage examples include a procedure beginning to consume an argument, a ' + 
-'        service starting to read a value on a port, a program beginning to read ' + 
-'        a configuration file, or the point at which an ingredient, such as eggs, ' + 
-'        is being added in a baking activity. Usage may entirely consume an ' + 
-'        entity (e.g. eggs are no longer available after being added to the mix); ' + 
-'        in contrast, the same entity may be used multiple times, possibly by ' + 
-'        different activities (e.g. a file on a file system can be read ' + 
-'        indefinitely). ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="driving-a-car"> ' + 
-'      <p> ' + 
-'        Let us consider the activity of driving a car from Boston to Cambridge. ' + 
-'        One might reasonably ask what entities are used and generated by this ' + 
-'        activity. This is answered by considering that a single artifact may ' + 
-'        correspond to several entities; in this case, a car in Boston may be a ' + 
-'        different entity from a car in Cambridge. Thus, among other things, an ' + 
-'        entity "car in Boston" would be used, and a new entity "car in ' + 
-'        Cambridge" would be generated by this activity of driving. The ' + 
-'        provenance trace of the car might include: designed in Japan, ' + 
-'        manufactured in Korea, shipped to Boston USA, purchased by customer, ' + 
-'        driven to Cambridge, serviced by engineer in Cambridge, etc., all of ' + 
-'        which might be important information when deciding whether or not it ' + 
-'        represents a sensible second-hand purchase. Or some of it might ' + 
-'        alternatively be relevant when trying to determine the truth of a web ' + 
-'        page reporting a traffic violation involving that car. This breadth of ' + 
-'        provenance allows descriptions of interactions between physical and ' + 
-'        digital artifacts. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="communication-example"> ' + 
-'      <p> ' + 
-'        The activity of writing a celebrity article was informed by (a ' + 
-'        communication instance) the activity of intercepting voicemails. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="derivation-example"> ' + 
-'      <p> ' + 
-'        Examples of derivation include the transformation of a relational table ' + 
-'        into a linked data set, the transformation of a canvas into a painting, ' + 
-'        the transportation of a work of art from London to New York, and a ' + 
-'        physical transformation such as the melting of ice into water. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="agent-example"> ' + 
-'      <p> ' + 
-'        Software for checking the use of grammar in a document may be defined as ' + 
-'        an agent of a document preparation activity; one can also describe its ' + 
-'        provenance, including for instance the vendor and the version history. A ' + 
-'        site selling books on the Web, the services involved in the processing ' + 
-'        of orders, and the companies hosting them are also agents. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="attribution-example"> ' + 
-'      <p> ' + 
-'        A blog post can be attributed to an author, a mobile phone to its ' + 
-'        manufacturer. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="association-example"> ' + 
-'      <p> ' + 
-'        Examples of association between an activity and an agent are: ' + 
-'      </p> ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          creation of a web page under the guidance of a designer; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          various forms of participation in a panel discussion, including ' + 
-'          audience member, panelist, or panel chair; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          a public event, sponsored by a company, and hosted by a museum; ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample conceptexample" id="delegation-example"> ' + 
-'      <p> ' + 
-'        A student publishing a web page describing an academic department could ' + 
-'        result in both the student and the department being agents associated ' + 
-'        with the activity. It may not matter which actual student published a ' + 
-'        web page, but it may matter significantly that the department told the ' + 
-'        student to put up the web page. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="association-example2"> ' + 
-'      <p> ' + 
-'        An example of association between an activity and an agent involving a ' + 
-'        plan is: an XSLT transform (an activity) launched by a user (an agent) ' + 
-'        based on an XSL style sheet (a plan). ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="identifier-example"> ' + 
-'      <p> ' + 
-'        A service may read a same configuration file on two different occasions. ' + 
-'        Each usage can be identifed by its own identifier, allowing them to be ' + 
-'        distinguished. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="bundle-example"> ' + 
-'      <p> ' + 
-'        In a decision making situation, decision makers may be presented with ' + 
-'        the same piece of knowledge, issued by multiple sources. In order to ' + 
-'        validate this piece of knowledge, decision makers can consider its ' + 
-'        provenance, but also the provenance of their provenance, which may help ' + 
-'        determine whether it can be trusted. ' + 
-'      </p> ' + 
-'    </div><div class="anexample conceptexample" id="collection-example"> ' + 
-'      <p> ' + 
-'        An example of collection is an archive of documents. Each document has ' + 
-'        its own provenance, but the archive itself also has some provenance: who ' + 
-'        maintained it, which documents it contained at which point in time, how ' + 
-'        it was assembled, etc. ' + 
-'      </p> ' + 
-'    </div><div id="components-overview-div" style="text-align: center;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="components-overview"> ' + 
-'          Components Overview ' + 
-'        </caption> ' + 
-'        <!--  Table 3: --> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td> ' + 
-'            Component ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Core <br />Structures ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Overview ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Specification ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Description ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style=" padding: 8px;"> ' + 
-'            1 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Entities and Activities ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            ✔ ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#section-entity-activity">2.1.1</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component1">5.1</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about entities and activities, and their interrelations ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            2 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Derivation ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            ✔ ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#section-derivation">2.1.2</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component3">5.2</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about derivations and its subtypes ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            3 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Agent and Responsibility ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            ✔ ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#section-agents-attribution-association-delegation">2.1.3</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component2">5.3</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about agents and concepts ascribing responsibility to them ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            4 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Bundles ' + 
-'          </td> ' + 
-'          <td /> ' + 
-'          <td> ' + 
-'            <a href="#section-provenance-of-provnance">2.2.2</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component4">5.4</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about bundles, a mechanism to support provenance of provenance ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            5 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Alternate ' + 
-'          </td> ' + 
-'          <td /> ' + 
-'          <td> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component5">5.5</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about relations linking entities referring the same thing ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            6 ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            Collections ' + 
-'          </td> ' + 
-'          <td /> ' + 
-'          <td> ' + 
-'            <a href="#section-collections">2.2.3</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="#component6">5.6</a> ' + 
-'          </td> ' + 
-'          <td style="text-align: left;"> ' + 
-'            about collections ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="anexample" id="anexample-prov-n"> ' + 
-'      <p> ' + 
-'        An activity with identifier <span class="name">a1</span> and an ' + 
-'        attribute <span class="name">type</span> with value <span class="name">createFile</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(a1, [ prov:type="createFile" ]) ' + 
-'</pre> ' + 
-'      Two entities with identifiers <span class="name">e1</span> and <span class="name">e2</span>. ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(e1) ' + 
-'entity(e2) ' + 
-'</pre> ' + 
-'      The activity <span class="name">a1</span> used <span class="name">e1</span>, ' + 
-'      and <span class="name">e2</span> was generated by <span class="name">a1</span>. ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'used(a1, e1) ' + 
-'wasGeneratedBy(e2, a1) ' + 
-'</pre> ' + 
-'      The same descriptions, but with an explicit identifier <span class="name">u1</span> ' + 
-'      for the usage, and the syntactic marker \'<span class="name">-</span>\' to ' + 
-'      mark the absence of identifier in the generation. Both are followed by \'<span class="name">;</span>\'. ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'used(u1; a1, e1) ' + 
-'wasGeneratedBy(-; e2, a1) ' + 
-'</pre> ' + 
-'    </div><div style="text-align: center; "> ' + 
-'      <img src="images/dm/w3c-publication1.png" alt="Provenance of a Document (1)" style="max-width: 98%; " /><br /> ' + 
-'      Provenance of a Document (part 1) (Informative) ' + 
-'       <!--  Figure 2 --> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="images/dm/w3c-publication2.png" alt="Provenance of a Document (2)" style="max-width: 90%; " /><br /> ' + 
-'      Provenance of a Document (part 2) (Informative) ' + 
-'       <!--  figure 3 --> ' + 
-'    </div><div id="prov-dm-components-ul"> ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <b>Component 1: entities and activities.</b> The first component ' + 
-'          consists of entities, activities, and concepts linking them, such as ' + 
-'          generation, usage, start, end. The first component is the only one ' + 
-'          comprising time-related concepts. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <b>Component 2: derivations.</b> The second component is formed with ' + 
-'          derivations and derivation subtypes. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <b>Component 3: agents, responsibility, and influence.</b> The third ' + 
-'          component consists of agents and concepts ascribing responsibility to ' + 
-'          agents. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <b>Component 4: bundles.</b> The fourth component is concerned with ' + 
-'          bundles, a mechanism to support provenance of provenance. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <b>Component 5: alternate.</b> The fifth component consists of ' + 
-'          relations linking entities referring to the same thing. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <b>Component 6: collections.</b> The sixth component is about ' + 
-'          collections. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="images/dm/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; " /> <map id="componentMap"> ' + 
-'      <area title="agents/responsibility" href="#component3" coords="0,0,67,268" alt="agents/responsibility" shape="rect" /> ' + 
-'      <area title="agents/responsibility" href="#component3" coords="67,0,134,201" alt="agents/responsibility" shape="rect" /> ' + 
-'      <area title="agents/responsibility" href="#component3" coords="134,0,201,67" alt="agents/responsibility" shape="rect" /> ' + 
-'      <area title="derivations" href="#component2" coords="201,0,268,201" alt="derivations" shape="rect" /> ' + 
-'      <area title="derivations" href="#component2" coords="134,67,201,201" alt="derivations" shape="rect" /> ' + 
-'      <area title="alternate" href="#component5" coords="268,0,335,67" alt="alternate" shape="rect" /> ' + 
-'      <area title="alternate" href="#component5" coords="335,0,402,201" alt="alternate" shape="rect" /> ' + 
-'      <area title="collections" href="#component6" coords="402,0,469,201" alt="collections" shape="rect" /> ' + 
-'      <area title="activities/entities" href="#component1" coords="67,201,469,268" alt="activities/entities" shape="rect" /> ' + 
-'      <area title="bundles" href="#component4" coords="268,67,402,201" alt="bundles" shape="rect" /></map> ' + 
-'      <br /> PROV-DM Components (Informative) ' + 
-'       <!--  Figure 4 --> ' + 
-'    </div><div id="relations-at-a-glance-div" style="text-align: center;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="relations-at-a-glance"> ' + 
-'          PROV-DM Relations At a Glance ' + 
-'        </caption> ' + 
-'        <!--  Table 4 --> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td colspan="6"> ' + 
-'            Object ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td colspan="2"> ' + 
-'            Entity ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'            Activity ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'            Agent ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td rowspan="3"> ' + 
-'            Subject ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Entity ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'            <div class="component2-color"> ' + 
-'              <a class="essential">WasDerivedFrom</a><br /><a>Revision</a><br /><a>Quotation</a><br /><a>PrimarySource</a> ' + 
-'            </div> ' + 
-'            <div class="component5-color"> ' + 
-'              <a>AlternateOf</a><br /><a>SpecializationOf</a><br /><a>MentionOf</a> ' + 
-'            </div> ' + 
-'          </td> ' + 
-'          <td class="component1-color"> ' + 
-'            <a class="essential" title="wasGeneratedBy">WasGeneratedBy</a><br /><a title="wasInvalidatedBy">WasInvalidatedBy</a> ' + 
-'          </td> ' + 
-'          <td class="component1-color" style="font-style: italic; "> ' + 
-'            <a title="role">R</a><br /><a title="time">T</a><br /><a title="location">L</a><br /> ' + 
-'          </td> ' + 
-'          <td class="component3-color" colspan="2"> ' + 
-'            <a class="essential">WasAttributedTo</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            Activity ' + 
-'          </td> ' + 
-'          <td class="component1-color"> ' + 
-'            <a class="essential">Used</a><br /><a>WasStartedBy</a><br /><a>WasEndedBy</a> ' + 
-'          </td> ' + 
-'          <td class="component1-color" style="font-style: italic; "> ' + 
-'            <a title="role">R</a><br /><a title="time">T</a><br /><a title="location">L</a><br /> ' + 
-'          </td> ' + 
-'          <td colspan="2" class="component1-color"> ' + 
-'            <a class="essential">WasInformedBy</a> ' + 
-'          </td> ' + 
-'          <td class="component3-color"> ' + 
-'            <a class="essential">WasAssociatedWith</a> ' + 
-'          </td> ' + 
-'          <td class="component3-color" style="font-style: italic; "> ' + 
-'            <a title="role">R</a><br /> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            Agent ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'          </td> ' + 
-'          <td class="component3-color" colspan="2"> ' + 
-'            <a class="essential">ActedOnBehalfOf</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="component2-color"> ' + 
-'              <a class="essential">WasDerivedFrom</a><br /><a>Revision</a><br /><a>Quotation</a><br /><a>PrimarySource</a> ' + 
-'            </div><div class="component5-color"> ' + 
-'              <a>AlternateOf</a><br /><a>SpecializationOf</a><br /><a>MentionOf</a> ' + 
-'            </div><div id="secondary-elements-relations-at-a-glance-div" style="text-align: center;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="secondary-elements-relations-at-a-glance"> ' + 
-'          Secondary optional elements in PROV-DM Relations ' + 
-'        </caption> ' + 
-'        <!--  Table 4 --> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px;§&gt; " /> ' + 
-'          <td colspan="6"> ' + 
-'            Secondary Object ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td> ' + 
-'            Entity ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Activity ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Agent ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td rowspan="3"> ' + 
-'            Subject ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            Entity ' + 
-'          </td> ' + 
-'          <td class="component5-color"> ' + 
-'            <a>MentionOf</a> (<a href="#mention.bundle">bundle</a>) ' + 
-'          </td> ' + 
-'          <td class="component2-color"> ' + 
-'            <a>WasDerivedFrom</a> (<a href="#derivation.activity">activity</a>) ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            Activity ' + 
-'          </td> ' + 
-'          <td class="component3-color"> ' + 
-'            <a>WasAssociatedWith</a> (<a href="#association.plan">plan</a>) ' + 
-'          </td> ' + 
-'          <td class="component1-color"> ' + 
-'            <a>WasStartedBy</a> (<a href="#start.starter">starter</a>)<br /><a>WasEndedBy</a> ' + 
-'            (<a href="#end.ender">ender</a>) ' + 
-'          </td> ' + 
-'          <td colspan="2"> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            Agent ' + 
-'          </td> ' + 
-'          <td> ' + 
-'          </td> ' + 
-'          <td class="component3-color"> ' + 
-'            <a>ActedOnBehalfOf</a> (<a href="#delegation.activity">activity</a>) ' + 
-'          </td> ' + 
-'          <td> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div id="prov-dm-types-and-relations-fig" style="text-align: left;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="prov-dm-types-and-relations"> ' + 
-'          PROV-DM Types and Relations ' + 
-'        </caption> ' + 
-'        <!--  Table 6 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a><b>Type or Relation Name</b></a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Representation in the PROV-N notation</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Component</b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-Entity" class="essential">entity(id, [ attr1=val1, ' + 
-'            ...])</a> ' + 
-'          </td> ' + 
-'          <td rowspan="8"> ' + 
-'            <a href="#component1">Component 1: Entities/Activities</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-Activity" class="essential">activity(id, st, et, [ ' + 
-'            attr1=val1, ...])</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Generation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasGeneratedBy"><span class="essential">wasGeneratedBy(</span>id;<span class="essential">e,a</span>,t,attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Usage</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="used"><span class="essential">used(</span>id;<span class="essential">a,e</span>,t,attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Communication</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasInformedBy"><span class="essential">wasInformedBy(</span>id;<span class="essential">a2,a1</span>,attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Start</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasStartedBy">wasStartedBy(id;a2,e,a1,t,attrs)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasEndedBy">wasEndedBy(id;a2,e,a1,t,attrs)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Invalidation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasInvalidatedBy">wasInvalidatedBy(id;e,a,t,attrs)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Derivation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasDerivedFrom"><span class="essential">wasDerivedFrom(</span>id; ' + 
-'            <span class="essential">e2, e1</span>, a, g2, u1, attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'          <td rowspan="4"> ' + 
-'            <a href="#component2">Component 2: Derivations</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Revision</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-revision">... prov:type=\'prov:Revision\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Quotation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-quotation">... prov:type=\'prov:Quotation\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Primary Source</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-primary-source">... prov:type=\'prov:PrimarySource\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color" style="border-collapse: collapse; "> ' + 
-'          <td class="essential"> ' + 
-'            <a>Agent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-agent" class="essential">agent(id, [ attr1=val1, ...])</a> ' + 
-'          </td> ' + 
-'          <td rowspan="9"> ' + 
-'            <a href="#component3">Component 3: Agents, Responsibility, Influence</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Attribution</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasAttributedTo"><span class="essential">wasAttributedTo(</span>id;<span class="essential">e,ag</span>,attr<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Association</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasAssociatedWith"><span class="essential">wasAssociatedWith(</span>id;<span class="essential">a,ag</span>,pl,attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="essential"> ' + 
-'            <a>Delegation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="actedOnBehalfOf"><span class="essential">actedOnBehalfOf(</span>id;<span class="essential">ag2,ag1</span>,a,attrs<span class="essential">)</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Plan</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="plan">... prov:type=\'prov:Plan\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Person</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="person">... prov:type=\'prov:Person\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Organization</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="organization">... prov:type=\'prov:Organization\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="software-agent">SoftwareAgent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="software-agent">... prov:type=\'prov:SoftwareAgent\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a>Influence</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="wasInfluencedBy">wasInfluencedBy(id;e2,e1,attrs)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component4-color"> ' + 
-'          <td> ' + 
-'            <a title="bundle">Bundle constructor</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="dfn-bundle">bundle id description_1 ... description_n ' + 
-'            endBundle</a> ' + 
-'          </td> ' + 
-'          <td rowspan="2"> ' + 
-'            <a href="#component5">Component 4: Bundles</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component4-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="bundle">Bundle type</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="bundle">... prov:type=\'prov:Bundle\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a>Alternate</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="alternateOf">alternateOf(alt1, alt2)</a> ' + 
-'          </td> ' + 
-'          <td rowspan="3"> ' + 
-'            <a href="#component4">Component 5: Alternate</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a>Specialization</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="specializationOf">specializationOf(infra, supra)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a>Mention</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="mentionOf">mentionOf(infra, supra,bundle)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a>Collection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="collection">... prov:type=\'prov:Collection\' ...</a> ' + 
-'          </td> ' + 
-'          <td rowspan="3"> ' + 
-'            <a href="#component6">Component 6: Collections</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="empty collection">EmptyCollection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="empty collection">... prov:type=\'prov:EmptyCollection\' ...</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td> ' + 
-'            <a>Membership</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a title="hadMember">hadMember(c,e)</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component1.png" alt="entities and activities" /><br /> ' + 
-'      Entities and Activities Component Overview (Informative) ' + 
-'       <!--  Figure 5 --> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-entity"> ' + 
-'      An <dfn title="dfn-Entity" id="dfn-entity">entity</dfn><span class="withPn">, ' + 
-'      written <span class="pnExpression" id="pn-entity">entity(id, [attr1=val1, ' + 
-'      ...])</span> in PROV-N, </span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="entity.id">id</span>: an identifier for an ' + 
-'          entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="entity.attributes">attributes</span>: an ' + 
-'          OPTIONAL set of attribute-value pairs ((<span class="name">attr1</span>, ' + 
-'          <span class="name">val1</span>), ...) representing additional ' + 
-'          information about the fixed aspects of this entity. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-entity"> ' + 
-'      <p> ' + 
-'        The following expression ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ]) ' + 
-'</pre> ' + 
-'      states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>, ' + 
-'      with type <span class="name">document</span> and version number <span class="name">2</span>. The attribute <span class="name">ex:version</span> ' + 
-'      is application specific, whereas the attribute <span class="name">type</span> ' + 
-'      (see <a href="#term-attribute-type">Section 5.7.4.4</a>) is reserved in ' + 
-'      the <a title="prov-namespace">PROV namespace</a>. ' + 
-'       <!-- The following expression</p> <pre class="codeexample"> ' + 
-'        entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ]) ' + 
-'        entity(e0, [ prov:type="File", ex:path="/shared/crime.txt", ' + 
-'        ex:creator="Alice" ]) </pre> states the existence of an entity, denoted ' + 
-'        by identifier <span class="name">e0</span>, with type <span ' + 
-'        class="name">File</span> and path <span ' + 
-'        class="name">/shared/crime.txt</span> in the file system, and creator ' + 
-'        alice. The attributes <span class="name">path</span> and <span ' + 
-'        class="name">creator</span> are application specific, whereas the ' + 
-'        attribute <span class="name">type</span> is reserved in the PROV ' + 
-'        namespace. --> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-activity"> ' + 
-'      An <dfn title="dfn-Activity" id="dfn-activity">activity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-activity">activity(id, ' + 
-'      st, et, [attr1=val1, ...])</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="activity.id">id</span>: an identifier for ' + 
-'          an activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="activity.startTime">startTime</span>: an ' + 
-'          OPTIONAL time (<span class="name">st</span>) for the start of the ' + 
-'          activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="activity.endTime">endTime</span>: an ' + 
-'          OPTIONAL time (<span class="name">et</span>) for the end of the ' + 
-'          activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="activity.attributes">attributes</span>: an ' + 
-'          OPTIONAL set of attribute-value pairs ((<span class="name">attr1</span>, ' + 
-'          <span class="name">val1</span>), ...) representing additional ' + 
-'          information about this activity. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-activity"> ' + 
-'      <p> ' + 
-'        The following expression ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(a1, 2011-11-16T16:05:00, 2011-11-16T16:06:00, ' + 
-'        [ ex:host="server.example.org", prov:type=\'ex:edit\' ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        states the existence of an activity with identifier <span class="name">a1</span>, ' + 
-'        start time <span class="name">2011-11-16T16:05:00</span>, and end time ' + 
-'        <span class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>. ' + 
-'        The attribute <span class="name">host</span> is application specific ' + 
-'        (declared in some namespace with prefix <span class="name">ex</span>). ' + 
-'        The attribute <span class="name">type</span> is a reserved attribute of ' + 
-'        PROV-DM, allowing for sub-typing to be expressed (see <a href="#term-attribute-type">Section 5.7.4.4</a>). ' + 
-'      </p> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-generation"> ' + 
-'      <dfn title="wasGeneratedBy">Generation</dfn><span class="withPn">, written ' + 
-'      <span class="pnExpression">wasGeneratedBy(id; e, a, t, attrs)</span> in ' + 
-'      PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="generation.id">id</span>: an OPTIONAL ' + 
-'          identifier for a generation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="generation.entity">entity</span>: an ' + 
-'          identifier (<span class="name">e</span>) for a created entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="generation.activity">activity</span>: an ' + 
-'          OPTIONAL identifier (<span class="name">a</span>) for the activity ' + 
-'          that creates the entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="generation.time">time</span>: an OPTIONAL ' + 
-'          "generation time" (<span class="name">t</span>), the time at which the ' + 
-'          entity was completely created; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="generation.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this generation. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-generation1"> ' + 
-'      <p> ' + 
-'        The following expressions ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'  wasGeneratedBy(e1, a1, 2001-10-26T21:32:52, [ ex:port="p1" ]) ' + 
-'  wasGeneratedBy(e2, a1, 2001-10-26T10:00:00, [ ex:port="p2" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        state the existence of two generations (with respective times <span class="name">2001-10-26T21:32:52</span> and <span class="name">2001-10-26T10:00:00</span>), ' + 
-'        at which new entities, identified by <span class="name">e1</span> and ' + 
-'        <span class="name">e2</span>, are created by an activity, identified by ' + 
-'        <span class="name">a1</span>. The first one is available on port <span class="name">p1</span>, whereas the other is available on port <span class="name">p2</span>. The semantics of <span class="name">port</span> ' + 
-'        are application specific. ' + 
-'      </p> ' + 
-'    </div><div class="anexample" id="anexample-generation2"> ' + 
-'      <p> ' + 
-'        In some cases, we may want to record the time at which an entity was ' + 
-'        generated without having to specify the activity that generated it. To ' + 
-'        support this requirement, the activity element in generation is ' + 
-'        optional. Hence, the following expression indicates the time at which an ' + 
-'        entity is generated, without naming the activity that did it. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'  wasGeneratedBy(e, -, 2001-10-26T21:32:52) ' + 
-'</pre> ' + 
-'    </div><div class="attributes" id="attributes-usage"> ' + 
-'      <dfn title="used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id; a, e, t, attrs)</span> in PROV-N,</span> ' + 
-'      has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="usage.id">id</span>: an OPTIONAL ' + 
-'          identifier for a usage; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="usage.activity">activity</span>: an ' + 
-'          identifier (<span class="name">a</span>) for the activity that used an ' + 
-'          entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="usage.entity">entity</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">e</span>) for the entity being used; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="usage.time">time</span>: an OPTIONAL ' + 
-'          "usage time" (<span class="name">t</span>), the time at which the ' + 
-'          entity started to be used; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="usage.attributes">attributes</span>: an ' + 
-'          OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this usage. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-usage"> ' + 
-'      <p> ' + 
-'        The following usages ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'  used(a1, e1, 2011-11-16T16:00:00, [ ex:parameter="p1" ]) ' + 
-'  used(a1, e2, 2011-11-16T16:00:01, [ ex:parameter="p2" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        state that the activity identified by <span class="name">a1</span> used ' + 
-'        two entities identified by <span class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> ' + 
-'        and <span class="name">2011-11-16T16:00:01</span>, respectively; the ' + 
-'        first one was found as the value of parameter <span class="name">p1</span>, ' + 
-'        whereas the second was found as value of parameter <span class="name">p2</span>. ' + 
-'        The semantics of <span class="name">parameter</span> is application ' + 
-'        specific. ' + 
-'      </p> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-wasInformedBy"> ' + 
-'      A <dfn title="wasInformedBy">communication</dfn><span class="withPn">, ' + 
-'      written as <span class="pnExpression">wasInformedBy(id; a2, a1, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="communication.id">id</span>: an OPTIONAL ' + 
-'          identifier identifying the relation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="communication.informed">informed</span>: ' + 
-'          the identifier (<span class="name">a2</span>) of the informed ' + 
-'          activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="communication.informant">informant</span>: ' + 
-'          the identifier (<span class="name">a1</span>) of the informant ' + 
-'          activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="communication.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this communication. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-communication"> ' + 
-'      <p> ' + 
-'        Consider two activities <span class="name">a1</span> and <span class="name">a2</span>, the former performed by a government agency, and ' + 
-'        the latter by a driver caught speeding. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(a1, [ prov:type="traffic regulations enforcing" ]) ' + 
-'activity(a2, [ prov:type="fine paying" ]) ' + 
-'wasInformedBy(a2, a1) ' + 
-'</pre> ' + 
-'      The last line indicates that some implicit entity was generated by <span class="name">a1</span> and used by <span class="name">a2</span>; this ' + 
-'      entity may be a traffic ticket that had a notice of fine, amount, and ' + 
-'      payment mailing details. ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-start"> ' + 
-'      An activity <dfn title="wasStartedBy">start</dfn><span class="withPn">, ' + 
-'      written <span class="pnExpression">wasStartedBy(id; a2, e, a1, t, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.id">id</span>: an OPTIONAL ' + 
-'          identifier for the activity start; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.activity">activity</span>: an ' + 
-'          identifier (<span class="name">a2</span>) for the started activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.trigger">trigger</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">e</span>) for the entity triggering the ' + 
-'          activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.starter">starter</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">a1</span>) for the activity that ' + 
-'          generated the (possibly unspecified) entity (<span class="name">e</span>); ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.time">time</span>: the OPTIONAL time ' + 
-'          (<span class="name">t</span>) at which the activity was started; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="start.attributes">attributes</span>: an ' + 
-'          OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this activity start. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-start1"> ' + 
-'      <p> ' + 
-'        The following example contains the description of an activity <span class="name">a1</span> (a discussion), which was started at a specific ' + 
-'        time, and was triggered by an email message <span class="name">e1</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(e1, [ prov:type="email message"] ) ' + 
-'activity(a1, [ prov:type="Discuss" ]) ' + 
-'wasStartedBy(a1, e1, -, 2011-11-16T16:05:00) ' + 
-'</pre> ' + 
-'      Furthermore, if the message is also an input to the activity, this can be ' + 
-'      described as follows: ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'used(a1, e1, -) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        Alternatively, one can also describe the activity that generated the ' + 
-'        email message. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(a0, [ prov:type="Write" ]) ' + 
-'wasGeneratedBy(e1, a0) ' + 
-'wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        If <span class="name">e1</span> is not known, it would also be valid to ' + 
-'        write: ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'wasStartedBy(a1, -, a0, 2011-11-16T16:05:00) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-start2"> ' + 
-'      <p> ' + 
-'        In the following example, a race is started by a bang, and ' + 
-'        responsibility for this trigger is attributed to an agent <span class="name">ex:Bob</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(ex:foot_race) ' + 
-'entity(ex:bang) ' + 
-'wasStartedBy(ex:foot_race, ex:bang, -, 2012-03-09T08:05:08-05:00) ' + 
-'agent(ex:Bob) ' + 
-'wasAttributedTo(ex:bang, ex:Bob) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-start3"> ' + 
-'      <p> ' + 
-'        In this example, filling fuel was started as a consequence of observing ' + 
-'        low fuel. The trigger entity is unspecified, it could for instance have ' + 
-'        been the low fuel warning light, the fuel tank indicator needle ' + 
-'        position, or the engine not running properly. ' + 
-'      </p> ' + 
-'<pre class="codeexample" id="anexample-start4" xml:space="preserve"> ' + 
-'activity(ex:filling-fuel) ' + 
-'activity(ex:observing-low-fuel) ' + 
-' ' + 
-'agent(ex:driver, [ prov:type=\'prov:Person\'  ) ' + 
-'wasAssociatedWith(ex:filling-fuel, ex:driver) ' + 
-'wasAssociatedWith(ex:observing-low-fuel, ex:driver) ' + 
-' ' + 
-'wasStartedBy(ex:filling-fuel, -, ex:observing-low-fuel, -) ' + 
-'</pre> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-end"> ' + 
-'      An activity <dfn title="wasEndedBy">end</dfn><span class="withAsn">, ' + 
-'      written <span class="pnExpression">wasEndedBy(id; a2, e, a1, t, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.id">id</span>: an OPTIONAL identifier ' + 
-'          for the activity end; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.activity">activity</span>: an ' + 
-'          identifier (<span class="name">a2</span>) for the ended activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.trigger">trigger</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">e</span>) for the entity triggering the ' + 
-'          activity ending; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.ender">ender</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">a1</span>) for the activity that ' + 
-'          generated the (possibly unspecified) entity (<span class="name">e</span>); ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.time">time</span>: the OPTIONAL time (<span class="name">t</span>) at which the activity was ended; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="end.attributes">attributes</span>: an ' + 
-'          OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this activity end. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-end"> ' + 
-'      <p> ' + 
-'        The following example is a description of an activity <span class="name">a1</span> ' + 
-'        (editing) that was ended following an approval document <span class="name">e1</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(e1, [ prov:type="approval document" ]) ' + 
-'activity(a1, [ prov:type="Editing" ]) ' + 
-'wasEndedBy(a1, e1) ' + 
-'</pre> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-invalidation"> ' + 
-'      <dfn title="wasInvalidatedBy">Invalidation</dfn><span class="withPn">, ' + 
-'      written <span class="pnExpression">wasInvalidatedBy(id; e, a, t, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="invalidation.id">id</span>: an OPTIONAL ' + 
-'          identifier for a invalidation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="invalidation.entity">entity</span>: an ' + 
-'          identifier for the invalidated entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="invalidation.activity">activity</span>: an ' + 
-'          OPTIONAL identifier for the activity that invalidated the entity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="invalidation.time">time</span>: an ' + 
-'          OPTIONAL "invalidation time", the time at which the entity began to be ' + 
-'          invalidated; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="invalidation.attributes">attributes</span>: ' + 
-'          an OPTIONAL set of attribute-value pairs representing additional ' + 
-'          information about this invalidation. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-invalidation1"> ' + 
-'      <p> ' + 
-'        <em>The Painter</em>, a Picasso painting, is known to have been ' + 
-'        destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane ' + 
-'        accident</a>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(ex:The-Painter) ' + 
-'agent(ex:Picasso) ' + 
-'wasAttributedTo(ex:The-Painter, ex:Picasso) ' + 
-'activity(ex:crash) ' + 
-'wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-03T01:31:00, [ ex:circumstances="plane accident" ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-invalidation2"> ' + 
-'      <p> ' + 
-'        The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span> ' + 
-'        contained a reference to a given news item <a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>, ' + 
-'        but the BBC news home page on the next day did not. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(ex:bbcNews2012-04-03) ' + 
-'hadMember(ex:bbcNews2012-04-03, bbc:news/uk-17595024) ' + 
-'wasGeneratedBy  (ex:bbcNews2012-04-03, -, 2012-04-03T00:00:01) ' + 
-'wasInvalidatedBy(ex:bbcNews2012-04-03, -, 2012-04-03T23:59:59) ' + 
-'</pre> ' + 
-'      We refer to example <a href="#anexample-specialization" class="anexample-ref"><span>Example REF</span></a> for further ' + 
-'      descriptions of the BBC Web site, and to <a href="#term-membership">Section ' + 
-'      5.6.2</a> for a description of the relation <a title="hadMember">hadMember</a>. ' + 
-'    </div><div class="anexample" id="anexample-invalidation3"> ' + 
-'      <p> ' + 
-'        In this example, the "buy one beer, get one free" offer expired at the ' + 
-'        end of the happy hour. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(buy_one_beer_get_one_free_offer_during_happy_hour) ' + 
-'wasAttributedTo(buy_one_beer_get_one_free_offer_during_happy_hour, proprietor) ' + 
-'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour, ' + 
-'                 -,2012-03-10T18:00:00) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        In contrast, in the following descriptions, Bob redeemed the offer 45 ' + 
-'        minutes before it expired, and got two beers. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(buy_one_beer_get_one_free_offer_during_happy_hour) ' + 
-'wasAttributedTo(buy_one_beer_get_one_free_offer_during_happy_hour, proprietor) ' + 
-'activity(redeemOffer) ' + 
-'entity(twoBeers) ' + 
-' ' + 
-'wasAssociatedWith(redeemOffer, bob) ' + 
-'used(redeemOffer, ' + 
-'     buy_one_beer_get_one_free_offer_during_happy_hour,  ' + 
-'     2012-03-10T17:15:00) ' + 
-'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour, ' + 
-'                 redeemOffer, ' + 
-'                 2012-03-10T17:15:00) ' + 
-'wasGeneratedBy(twoBeers,redeemOffer) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        We see that the offer was both used to be converted into <span class="name">twoBeers</span> and invalidated by the <span class="name">redeemOffer</span> ' + 
-'        activity: in other words, the combined usage and invalidation indicate ' + 
-'        consumption of the offer. ' + 
-'      </p> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component2.png" alt="derivation" /><br /> Derivation Component ' + 
-'      Overview (Informative) ' + 
-'       <!--  Figure 6 --> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-derivation"> ' + 
-'      A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">, ' + 
-'      written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id; ' + 
-'      e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.id">id</span>: an OPTIONAL ' + 
-'          identifier for a derivation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.generatedEntity">generatedEntity</span>: ' + 
-'          the identifier (<span class="name">e2</span>) of the entity generated ' + 
-'          by the derivation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.usedEntity">usedEntity</span>: ' + 
-'          the identifier (<span class="name">e1</span>) of the entity used by ' + 
-'          the derivation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.activity">activity</span>: an ' + 
-'          OPTIONAL identifier (<span class="name">a</span>) for the activity ' + 
-'          using and generating the above entities; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.generation">generation</span>: ' + 
-'          an OPTIONAL identifier (<span class="name">g2</span>) for the ' + 
-'          generation involving the generated entity (<span class="name">e2</span>) ' + 
-'          and activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.usage">usage</span>: an ' + 
-'          OPTIONAL identifier (<span class="name">u1</span>) for the usage ' + 
-'          involving the used entity (<span class="name">e1</span>) and activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="derivation.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this derivation. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-derivation"> ' + 
-'      <p> ' + 
-'        The following descriptions are about derivations between <span class="name">e2</span> and <span class="name">e1</span>, but no ' + 
-'        information is provided as to the identity of the activity (and usage ' + 
-'        and generation) underpinning the derivation. In the second line, a type ' + 
-'        attribute is also provided. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'wasDerivedFrom(e2, e1) ' + 
-'wasDerivedFrom(e2, e1, [ prov:type="physical transform" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The following description expresses that activity <span class="name">a</span>, ' + 
-'        using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>, derived the entity <span class="name">e2</span> ' + 
-'        and generated it according to generation <span class="name">g2</span>. ' + 
-'        It is followed by descriptions for generation <span class="name">g2</span> ' + 
-'        and usage <span class="name">u1</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'wasDerivedFrom(e2, e1, a, g2, u1) ' + 
-'wasGeneratedBy(g2; e2, a, -) ' + 
-'used(u1; a, e1, -) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        With such a comprehensive description of derivation, a program that ' + 
-'        analyzes provenance can identify the activity underpinning the ' + 
-'        derivation, it can identify how the original entity <span class="name">e1</span> ' + 
-'        was used by the activity (e.g. for instance, which argument it was ' + 
-'        passed as, if the activity is the result of a function invocation), and ' + 
-'        which output the derived entity <span class="name">e2</span> was ' + 
-'        obtained from (say, for a function returning multiple results). ' + 
-'      </p> ' + 
-'    </div><div class="anexample" id="anexample-revision"> ' + 
-'      <p> ' + 
-'        Revisiting the example of <a href="#section-example-two">Section 4.2</a>, ' + 
-'        we can now state that the report <span class="name">tr:WD-prov-dm-20111215</span> ' + 
-'        was a revision of the report <span class="name">tr:WD-prov-dm-20111018</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(tr:WD-prov-dm-20111215, [ prov:type=\'rec54:WD\'  ]) ' + 
-'entity(tr:WD-prov-dm-20111018, [ prov:type=\'rec54:WD\'  ]) ' + 
-'wasDerivedFrom(tr:WD-prov-dm-20111215,  ' + 
-'               tr:WD-prov-dm-20111018,  ' + 
-'               [ prov:type=\'prov:Revision\' ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-quotation"> ' + 
-'      <p> ' + 
-'        The following paragraph is a quote from one of <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the ' + 
-'        author\'s blogs</a>. ' + 
-'      </p> ' + 
-'      <blockquote id="bl-dagstuhl" /> ' + 
-'      <em> "During the workshop, it became clear to me that the consensus based ' + 
-'      models (which are often graphical in nature) can not only be formalized ' + 
-'      but also be directly connected to these database focused formalizations. I ' + 
-'      just needed to get over the differences in syntax. This could imply that ' + 
-'      we could have nice way to trace provenance across systems and through ' + 
-'      databases and be able to understand the mathematical properties of this ' + 
-'      interconnection."</em> ' + 
-'      <p> ' + 
-'        If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a> ' + 
-'        denotes the original blog by agent <span class="name">ex:Paul</span>, ' + 
-'        and <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a> ' + 
-'        denotes the above paragraph, then the following descriptions express ' + 
-'        that the above paragraph was copied by agent <span class="name">ex:Luc</span> ' + 
-'        from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/) ' + 
-'entity(dm:bl-dagstuhl) ' + 
-'agent(ex:Luc) ' + 
-'agent(ex:Paul) ' + 
-'wasDerivedFrom(dm:bl-dagstuhl, ' + 
-'               wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ' + 
-'               [ prov:type=\'prov:Quotation\' ]) ' + 
-'wasAttributedTo(dm:bl-dagstuhl, ex:Luc) ' + 
-'wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-primary-source1"> ' + 
-'      <p> ' + 
-'        Let us consider Charles Joseph Minard\'s flow map of Napoleon\'s March in ' + 
-'        1812, which was published in 1869. Although the map is not a primary ' + 
-'        source, Minard probably used the journal of Pierre-Irénée Jacob, ' + 
-'        pharmacist to Napoleon\'s army during the Russian campaign. This primary ' + 
-'        source relation can be encoded as follows. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(ex:la-campagne-de-Russie-1812-1813, [ prov:type="map" ]) ' + 
-'entity(ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII, [ prov:type="journal" ]) ' + 
-'wasDerivedFrom(ex:la-campagne-de-Russie-1812-1813, ' + 
-'               ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII, ' + 
-'               [ prov:type=\'prov:PrimarySource\' ]) ' + 
-'</pre> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component3.png" alt="agents and responsibilities" /><br /> ' + 
-'      Agents and Responsibility Overview (Informative) ' + 
-'       <!--  Figure 7 --> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/Component3b.png" alt="Influence Overview" /><br /> Influence ' + 
-'      Overview (Informative) ' + 
-'       <!--  Figure 8 --> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-agent"> ' + 
-'      An <dfn title="dfn-agent" id="dfn-agent">agent</dfn><span class="withPn">, ' + 
-'      written <span class="pnExpression" id="pn-agent">agent(id, [attr1=val1, ' + 
-'      ...])</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="agent.id">id</span>: an identifier for an ' + 
-'          agent; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="agent.attributes">attributes</span>: a set ' + 
-'          of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information ' + 
-'          about this agent. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="glossary-ref" /><div class="glossary-ref" /><div class="glossary-ref" /><div class="anexample"> ' + 
-'      <p> ' + 
-'        The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee ' + 
-'        number 1234. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'agent(e1, [ex:employee="1234", ex:name="Alice", prov:type=\'prov:Person\' ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        It is optional to specify the type of an agent. When present, it is ' + 
-'        expressed using the <span class="name">prov:type</span> attribute. ' + 
-'      </p> ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-attribution"> ' + 
-'      An <dfn title="wasAttributedTo">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression">wasAttributedTo(id; e, ' + 
-'      ag, attrs)</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="attribution.id">id</span>: an OPTIONAL ' + 
-'          identifier for the relation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="attribution.entity">entity</span>: an ' + 
-'          entity identifier (<span class="name">e</span>); ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="attribution.agent">agent</span>: the ' + 
-'          identifier (<span class="name">ag</span>) of the agent whom the entity ' + 
-'          is ascribed to, and therefore bears some responsibility for its ' + 
-'          existence; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="attribution.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this attribution. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-attribution"> ' + 
-'      <p> ' + 
-'        Revisiting the example of <a class="section-ref" href="#section-example-one"><span>TBD</span></a>, we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without an ' + 
-'        explicit activity. The reserved attribute <span class="name">role</span> ' + 
-'        (see <a class="section-ref" href="#term-attribute-role"><span>TBD</span></a>) ' + 
-'        allows for role of the agent in the attribution to be specified. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'agent(ex:Paolo, [ prov:type=\'prov:Person\' ]) ' + 
-'agent(ex:Simon, [ prov:type=\'prov:Person\' ]) ' + 
-'entity(tr:WD-prov-dm-20111215, [ prov:type=\'rec54:WD\' ]) ' + 
-'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:type="editorship" ]) ' + 
-'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:type="authorship" ]) ' + 
-'</pre> ' + 
-'    </div><div class="glossary-ref" /><div class="glossary-ref" /><div class="attributes" id="attributes-activity-association"> ' + 
-'      An <dfn title="wasAssociatedWith">activity association</dfn><span class="withPn">, written <span class="pnExpression">wasAssociatedWith(id; ' + 
-'      a, ag, pl, attrs)</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="association.id">id</span>: an OPTIONAL ' + 
-'          identifier for the association between an activity and an agent; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="association.activity">activity</span>: an ' + 
-'          identifier (<span class="name">a</span>) for the activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="association.agent">agent</span>: an ' + 
-'          OPTIONAL identifier (<span class="name">ag</span>) for the agent ' + 
-'          associated with the activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="association.plan">plan</span>: an OPTIONAL ' + 
-'          identifier (<span class="name">pl</span>) for the plan the agent ' + 
-'          relied on in the context of this activity; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="association.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this association of ' + 
-'          this activity with this agent. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-wasAssociatedWith"> ' + 
-'      <p> ' + 
-'        In the following example, a designer agent and an operator agent are ' + 
-'        associated with an activity. The designer\'s goals are achieved by a ' + 
-'        workflow <span class="name">ex:wf</span>, described as an an entity of ' + 
-'        type <span class="name"><a>plan</a></span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(ex:a, [ prov:type="workflow execution" ]) ' + 
-'agent(ex:ag1,  [ prov:type="operator" ]) ' + 
-'agent(ex:ag2,  [ prov:type="designer" ]) ' + 
-'wasAssociatedWith(ex:a, ex:ag1, -,     [ prov:role="loggedInUser", ex:how="webapp" ]) ' + 
-'wasAssociatedWith(ex:a, ex:ag2, ex:wf, [ prov:role="designer", ex:context="project1" ]) ' + 
-'entity(ex:wf, [ prov:type=\'prov:Plan\' ,  ' + 
-'                ex:label="Workflow 1",  ' + 
-'                prov:location="http://example.org/workflow1.bpel" %% xsd:anyURI ]) ' + 
-'</pre> ' + 
-'      Since the workflow <span class="name">ex:wf</span> is itself an entity, ' + 
-'      its provenance can also be expressed in PROV-DM: it can be generated by ' + 
-'      some activity and derived from other entities, for instance. ' + 
-'    </div><div class="anexample" id="anexample-wasAssociatedWith-2"> ' + 
-'      <p> ' + 
-'        In some cases, one wants to indicate a plan was followed, without having ' + 
-'        to specify which agent was involved. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(ex:a, [ prov:type="workflow execution" ]) ' + 
-'wasAssociatedWith(ex:a, -, ex:wf) ' + 
-'entity(ex:wf, [ prov:type=\'prov:Plan\',  ' + 
-'                ex:label="Workflow 1",  ' + 
-'                ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI]) ' + 
-'</pre> ' + 
-'      In this case, it is assumed that an agent exists, but it has not been ' + 
-'      specified. ' + 
-'    </div><div class="glossary-ref" /><div class="attributes" id="attributes-delegation"> ' + 
-'      A <dfn title="actedOnBehalfOf">delegation</dfn> link<span class="withPn">, ' + 
-'      written <span class="pnExpression">actedOnBehalfOf(id; ag2, ag1, a, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="delegation.id">id</span>: an OPTIONAL ' + 
-'          identifier for the delegation link between delegate and responsible; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="delegation.delegate">delegate</span>: an ' + 
-'          identifier (<span class="name">ag2</span>) for the agent associated ' + 
-'          with an activity, acting on behalf of the responsible agent; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="delegation.responsible">responsible</span>: ' + 
-'          an identifier (<span class="name">ag1</span>) for the agent, on behalf ' + 
-'          of which the delegate agent acted; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="delegation.activity">activity</span>: an ' + 
-'          OPTIONAL identifier (<span class="name">a</span>) of an activity for ' + 
-'          which the delegation link holds; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="delegation.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this delegation link. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample"> ' + 
-'      <p> ' + 
-'        The following fragment describes three agents: a programmer, a ' + 
-'        researcher, and a funder. The programmer and researcher are associated ' + 
-'        with a workflow activity. The programmer acts on behalf of the ' + 
-'        researcher (line-management) encoding the commands specified by the ' + 
-'        researcher; the researcher acts on behalf of the funder, who has a ' + 
-'        contractual agreement with the researcher. The terms \'line-management\' ' + 
-'        and \'contract\' used in this example are domain specific. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'activity(a,[ prov:type="workflow" ]) ' + 
-'agent(ag1, [ prov:type="programmer" ]) ' + 
-'agent(ag2, [ prov:type="researcher" ]) ' + 
-'agent(ag3, [ prov:type="funder" ]) ' + 
-'wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ]) ' + 
-'wasAssociatedWith(a, ag2) ' + 
-'wasAssociatedWith(a, ag3) ' + 
-'actedOnBehalfOf(ag1, ag2, a, [ prov:type="line-management" ]) ' + 
-'actedOnBehalfOf(ag2, ag3, a, [ prov:type="contract" ]) ' + 
-'</pre> ' + 
-'    </div><div class="attributes" id="attributes-influence"> ' + 
-'      A <dfn title="wasInfluencedBy">Influence</dfn> relation<span class="withPn">, ' + 
-'      written <span class="pnExpression">wasInfluencedBy(id; o2, o1, attrs)</span> ' + 
-'      in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="influence.id">id</span>: an OPTIONAL ' + 
-'          identifier identifying the relation; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="influence.influencee">influencee</span>: ' + 
-'          an identifier (<span class="name">o2</span>) for an entity, activity, ' + 
-'          or agent; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="influence.influencer">influencer</span>: ' + 
-'          an identifier (<span class="name">o1</span>) for an ancestor entity, ' + 
-'          activity, or agent that the former depends on; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="influence.attributes">attributes</span>: ' + 
-'          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value ' + 
-'          pairs representing additional information about this relation. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div id="mapping-relations-to-influence-table" style="text-align: left;"> ' + 
-'      The following table establishes the correspondence between the attributes ' + 
-'      <a class="attribute" href="#influence.influencee">influencee</a> and <a class="attribute" href="#influence.influencer">influencer</a>, and ' + 
-'      attributes of <a>usage</a>, <a>start</a>, <a>end</a>, <a>generation</a>, ' + 
-'      <a>invalidation</a>, <a>communication</a>, <a>derivation</a>, <a>attribution</a>, ' + 
-'      <a>association</a>, and <a>delegation</a>. ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="mapping-relations-to-influence-table_"> ' + 
-'          Mapping Relations to Influence ' + 
-'        </caption> ' + 
-'        <!--  Table 7 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a><b>Relation Name</b></a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b><a class="attribute" href="#influence.influencee">influencee</a></b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b><a class="attribute" href="#influence.influencer">influencer</a></b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Generation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#generation.entity">entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#generation.activity">activity</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Usage</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#usage.activity">activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#usage.entity">entity</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Communication</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#communication.informed">informed</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#communication.informant">informant</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Start</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#start.activity">activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#start.trigger">trigger</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#end.activity">activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#end.trigger">trigger</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a>Invalidation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#invalidation.entity">entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#invalidation.activity">activity</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td> ' + 
-'            <a>Derivation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#derivation.generatedEntity">generatedEntity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#derivation.usedEntity">usedEntity</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a>Attribution</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#attribution.entity">entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#attribution.agent">agent</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a>Association</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#association.activity">activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#association.agent">agent</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a>Delegation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#delegation.delegate">delegate</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="attribute" href="#delegation.responsible">responsible</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="anexample" id="influence-example"> ' + 
-'      <p> ' + 
-'        We refer to the example of <a class="section-ref" href="#section-example-two"><span>TBD</span></a>, and specifically to <a href="#prov-a-document2-top">Figure 3</a>. We could have expressed that ' + 
-'        the influence of <span class="name">w3:Consortium</span> on <span class="name">tr:WD-prov-dm-20111215</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' wasInfluencedBy(tr:WD-prov-dm-20111215, w3:Consortium) ' + 
-'</pre> ' + 
-'      Instead, it is recommended to express the more specific description: ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' wasAttributedTo(tr:WD-prov-dm-20111215, w3:Consortium) ' + 
-'</pre> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component4.png" alt="bundles" /><br /> Bundle Component ' + 
-'      Overview (Informative) ' + 
-'    </div><div class="attributes" id="attributes-bundle"> ' + 
-'      A <dfn title="dfn-bundle" id="dfn-bundle-constructor">bundle constructor</dfn> ' + 
-'      allows the content and the name of a bundle to be specified; it is written ' + 
-'      <span class="pnExpression">bundle id description_1 ... description_n ' + 
-'      endBundle</span> and consists of: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="bundle.constructor.id">id</span>: an ' + 
-'          identifier for the bundle; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="bundle.constructor.descriptions">descriptions</span>: ' + 
-'          a set of provenance descriptions <span class="name"> description_1</span>, ' + 
-'          ..., <span class="name">description_n</span>. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'      <p> ' + 
-'        A bundle\'s identifier <span class="name">id</span> identifies a unique ' + 
-'        set of descriptions. ' + 
-'      </p> ' + 
-'    </div><div class="anexample" id="anexample-provenance-of-provenance"> ' + 
-'      <p> ' + 
-'        Let us consider two entities <span class="name">ex:report1</span> and ' + 
-'        <span class="name">ex:report2</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'entity(ex:report1, [ prov:type="report", ex:version=1 ]) ' + 
-'wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01) ' + 
-'entity(ex:report2, [ prov:type="report", ex:version=2]) ' + 
-'wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01) ' + 
-'wasDerivedFrom(ex:report2, ex:report1) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        Let us assume that Bob observed the creation of <span class="name">ex:report1</span>. ' + 
-'        A first bundle can be expressed. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'bundle bob:bundle1 ' + 
-'  entity(ex:report1, [ prov:type="report", ex:version=1 ]) ' + 
-'  wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01) ' + 
-'endBundle ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        In contrast, Alice observed the creation of <span class="name">ex:report2</span> ' + 
-'        and its derivation from <span class="name">ex:report1</span>. A separate ' + 
-'        bundle can also be expressed. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'bundle alice:bundle2 ' + 
-'  entity(ex:report1) ' + 
-'  entity(ex:report2, [ prov:type="report", ex:version=2 ]) ' + 
-'  wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01) ' + 
-'  wasDerivedFrom(ex:report2, ex:report1) ' + 
-'endBundle ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The first bundle contains the descriptions corresponding to Bob ' + 
-'        observing the creation of <span class="name">ex:report1</span>. Its ' + 
-'        provenance can be described as follows. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'entity(bob:bundle1, [ prov:type=\'prov:Bundle\' ]) ' + 
-'wasGeneratedBy(bob:bundle1, -, 2012-05-24T10:30:00) ' + 
-'wasAttributedTo(bob:bundle1, ex:Bob) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        In contrast, the second bundle is attributed to Alice who observed the ' + 
-'        derivation of <span class="name">ex:report2</span> from <span class="name">ex:report1</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'entity(alice:bundle2, [ prov:type=\'prov:Bundle\' ]) ' + 
-'wasGeneratedBy(alice:bundle2, -, 2012-05-25T11:15:00) ' + 
-'wasAttributedTo(alice:bundle2, ex:Alice) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-provenance-aggregation"> ' + 
-'      <p> ' + 
-'        A provenance aggregator could merge two bundles, resulting in a novel ' + 
-'        bundle, whose provenance is described as follows. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'bundle agg:bundle3 ' + 
-'  entity(ex:report1, [ prov:type="report", ex:version=1 ]) ' + 
-'  wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01) ' + 
-' ' + 
-'  entity(ex:report2, [ prov:type="report", ex:version=2 ]) ' + 
-'  wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01) ' + 
-'  wasDerivedFrom(ex:report2, ex:report1) ' + 
-'endBundle ' + 
-' ' + 
-'entity(agg:bundle3, [ prov:type=\'prov:Bundle\' ]) ' + 
-'agent(ex:aggregator01, [ prov:type=\'ex:Aggregator\' ]) ' + 
-'wasAttributedTo(agg:bundle3, ex:aggregator01) ' + 
-'wasDerivedFrom(agg:bundle3, bob:bundle1) ' + 
-'wasDerivedFrom(agg:bundle3, alice:bundle2) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The new bundle is given a new identifier <span class="name">agg:bundle3</span> ' + 
-'        and is attributed to the <span class="name">ex:aggregator01</span> ' + 
-'        agent. ' + 
-'      </p> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component5.png" alt="alternates" /><br /> Alternates Component ' + 
-'      Overview (Informative) ' + 
-'    </div><div class="anexample" id="entity-example1"> ' + 
-'      <p> ' + 
-'        User Alice writes an article. In its provenance, she wishes to refer to ' + 
-'        the precise version of the article with a date-specific IRI, as she ' + 
-'        might edit the article later. Alternatively, user Bob refers to the ' + 
-'        article in general, independently of its variants over time. ' + 
-'      </p> ' + 
-'    </div><div class="attributes" id="attributes-specialization"> ' + 
-'      A <dfn title="specializationOf">specialization</dfn> relation<span class="withPn">, written <span class="pnExpression">specializationOf(infra, ' + 
-'      supra)</span> in PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="specialization.specificEntity">specificEntity</span>: ' + 
-'          an identifier (<span class="name">infra</span>) of the entity that is ' + 
-'          a specialization of the general entity (<span class="name">supra</span>); ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="specialization.generalEntity">generalEntity</span>: ' + 
-'          an identifier (<span class="name">supra</span>) of the entity that is ' + 
-'          being specialized. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-specialization"> ' + 
-'      <p> ' + 
-'        The BBC news home page on 2012-03-23 <span class="name">ex:bbcNews2012-03-23</span> ' + 
-'        is a specialization of the BBC news page in general <a href="http://www.bbc.co.uk/news/">bbc:news/</a>. This can be expressed ' + 
-'        as follows. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'specializationOf(ex:bbcNews2012-03-23, bbc:news/) ' + 
-'</pre> ' + 
-'      We have created a new qualified name, <span class="name">ex:bbcNews2012-03-23</span>, ' + 
-'      in the namespace <span class="name">ex</span>, to identify the specific ' + 
-'      page carrying this day\'s news, which would otherwise be the generic <span class="name">bbc:news/</span> page. ' + 
-'    </div><div class="attributes" id="attributes-alternate"> ' + 
-'      An <dfn title="alternateOf">alternate</dfn> relation<span class="withPn">, ' + 
-'      written <span class="pnExpression">alternateOf(e1, e2)</span> in PROV-N,</span> ' + 
-'      has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="alternate.alternate1">alternate1</span>: ' + 
-'          an identifier (<span class="name">e1</span>) of the first of the two ' + 
-'          entities; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="alternate.alternate2">alternate2</span>: ' + 
-'          an identifier (<span class="name">e2</span>) of the second of the two ' + 
-'          entities. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-alternate"> ' + 
-'      <p> ' + 
-'        A given news item on the BBC News site <a href="http://www.bbc.co.uk/news/science-environment-17526723">bbc:news/science-environment-17526723</a> ' + 
-'        for desktop is an alternate of a <a href="http://www.bbc.co.uk/news/mobile/science-environment-17526723">bbc:news/mobile/science-environment-17526723</a> ' + 
-'        for mobile devices. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(bbc:news/science-environment-17526723,  ' + 
-'       [ prov:type="a news item for desktop"]) ' + 
-'entity(bbc:news/mobile/science-environment-17526723,  ' + 
-'       [ prov:type="a news item for mobile devices"]) ' + 
-'alternateOf(bbc:news/science-environment-17526723,  ' + 
-'            bbc:news/mobile/science-environment-17526723) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-alternate2"> ' + 
-'      <p> ' + 
-'        Considering again the two versions of the technical report <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span> ' + 
-'        (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span> ' + 
-'        (first working draft). They are alternate of each other. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(tr:WD-prov-dm-20111018) ' + 
-'entity(tr:WD-prov-dm-20111215) ' + 
-'alternateOf(tr:WD-prov-dm-20111018, tr:WD-prov-dm-20111215) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        They are both specialization of the page <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>. ' + 
-'      </p> ' + 
-'    </div><div class="note"> ' + 
-'      <p> ' + 
-'        This feature is "<a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">at risk</a>" ' + 
-'        and may be removed from this specification based on feedback. Please ' + 
-'        send feedback to public-prov-comments@w3.org. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        The "Mention" construct might be removed from PROV if implementation ' + 
-'        experience reveals problems with supporting this construct. ' + 
-'      </p> ' + 
-'    </div><div class="attributes" id="attributes-mention"> ' + 
-'      A <dfn title="mentionOf">mention</dfn> relation<span class="withPn">, ' + 
-'      written <span class="pnExpression">mentionOf(infra, supra, b)</span> in ' + 
-'      PROV-N,</span> has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="mention.specificEntity">specificEntity</span>: ' + 
-'          an identifier (<span class="name">infra</span>) of the entity that is ' + 
-'          a mention of the general entity (<span class="name">supra</span>); ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="mention.generalEntity">generalEntity</span>: ' + 
-'          an identifier (<span class="name">supra</span>) of the entity that is ' + 
-'          being mentioned. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="mention.bundle">bundle</span>: an ' + 
-'          identifier (<span class="name">b</span>) of a bundle that contains a ' + 
-'          description of <span class="name">supra</span> and further constitutes ' + 
-'          one additional aspect presented by <span class="name">infra</span>. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample" id="anexample-mention-rating"> ' + 
-'      <p> ' + 
-'        This example is concerned with a performance rating tool that reads and ' + 
-'        processes provenance to determine the performance of agents. To keep the ' + 
-'        example simple, an agent\'s performance is determined by the duration of ' + 
-'        the activities it is associated with. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        As an illustration, we consider that two bundles <span class="name">ex:run1</span> ' + 
-'        and <span class="name">ex:run2</span> refer to an agent <span class="name">ex:Bob</span> that controlled two activities <span class="name">ex:a1</span> and <span class="name">ex:a2</span>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'bundle ex:run1 ' + 
-'    activity(ex:a1, 2011-11-16T16:00:00, 2011-11-16T17:00:00)  //duration: 1hour ' + 
-'    wasAssociatedWith(ex:a1, ex:Bob, [prov:role="controller"]) ' + 
-'endBundle ' + 
-' ' + 
-'bundle ex:run2 ' + 
-'    activity(ex:a2, 2011-11-17T10:00:00, 2011-11-17T17:00:00)  //duration: 7hours ' + 
-'    wasAssociatedWith(ex:a2, ex:Bob, [prov:role="controller"]) ' + 
-'endBundle ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The performance rating tool reads these bundles, and rates the ' + 
-'        performance of the agent described in these bundles. The performance ' + 
-'        rating tool creates a new bundle <span class="name">tool:analysis01</span> ' + 
-'        containing the following. A new agent <span class="name">tool:Bob-2011-11-16</span> ' + 
-'        is declared as a mention of <span class="name">ex:Bob</span> as ' + 
-'        described in bundle <span class="name">ex:run1</span>, and likewise for ' + 
-'        <span class="name">tool:Bob-2011-11-17</span> with respect to <span class="name">ex:run2</span>. The tool adds a domain-specific performance ' + 
-'        attribute to each of these specialized entities as follows: the ' + 
-'        performance of the agent in the first bundle is judged to be good since ' + 
-'        the duration of <span class="name">ex:a1</span> is one hour, whereas it ' + 
-'        is judged to be bad in the second bundle since <span class="name">ex:a2</span>\'s ' + 
-'        duration is seven hours. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'bundle tool:analysis01 ' + 
-'    agent(tool:Bob-2011-11-16, [perf:rating="good"]) ' + 
-'    mentionOf(tool:Bob-2011-11-16, ex:Bob, ex:run1) ' + 
-' ' + 
-'    agent(tool:Bob-2011-11-17, [perf:rating="bad"]) ' + 
-'    mentionOf(tool:Bob-2011-11-17, ex:Bob, ex:run2) ' + 
-'endBundle ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="aexample-mention-viz"> ' + 
-'      <p> ' + 
-'        Consider the following bundle of descriptions, in which derivation and ' + 
-'        generations have been identified. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'bundle obs:bundle1 ' + 
-'  entity(ex:report1, [ prov:type="report", ex:version=1 ]) ' + 
-'  wasGeneratedBy(ex:g1; ex:report1, -, 2012-05-24T10:00:01) ' + 
-'  entity(ex:report2, [ prov:type="report", ex:version=2 ]) ' + 
-'  wasGeneratedBy(ex:g2; ex:report2, -, 2012-05-25T11:00:01) ' + 
-'  wasDerivedFrom(ex:report2, ex:report1) ' + 
-'endBundle ' + 
-'entity(obs:bundle1, [ prov:type=\'prov:Bundle\' ]) ' + 
-'wasAttributedTo(obs:bundle1, ex:observer01) ' + 
-'</pre> ' + 
-'      Bundle <span class="name">obs:bundle1</span> is rendered by a ' + 
-'      visualisation tool. It may useful for the visualization layout of this ' + 
-'      bundle to be shared along with the provenance descriptions, so that other ' + 
-'      users can render provenance as it was originally rendered. The original ' + 
-'      bundle obviously cannot be changed. However, one can create a new bundle, ' + 
-'      as follows. ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'bundle tool:bundle2 ' + 
-'  entity(tool:bundle2, [ prov:type=\'viz:Configuration\', prov:type=\'prov:Bundle\' ]) ' + 
-'  wasAttributedTo(tool:bundle2, viz:Visualizer) ' + 
-' ' + 
-'  entity(tool:report1, [ viz:color="orange" ]) ' + 
-'  mentionOf(tool:report1, ex:report1, obs:bundle1) ' + 
-' ' + 
-'  entity(tool:report2, [ viz:color="blue" ])               ' + 
-'  mentionOf(tool:report2, ex:report2, obs:bundle1) ' + 
-'endBundle ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        In bundle <span class="name">tool:bundle2</span>, the prefix <span class="name">viz</span> is used for naming visualisation-specific ' + 
-'        attributes, types or values. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        Bundle <span class="name">tool:bundle2</span> is given type <span class="name">viz:Configuration</span> to indicate that it consists of ' + 
-'        descriptions that pertain to the configuration of the visualisation ' + 
-'        tool. This type attribute can be used for searching bundles containing ' + 
-'        visualization-related descriptions. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        The visualisation tool created new identifiers <span class="name">tool:report1</span> ' + 
-'        and <span class="name">tool:report2</span>. They denote entities which ' + 
-'        are specializations of <span class="name">ex:report1</span> and <span class="name">ex:report2</span>, described in bundle <span class="name">obs:bundle1</span>, ' + 
-'        with visualization attribute for the color to be used when rendering ' + 
-'        these entities. ' + 
-'      </p> ' + 
-'    </div><div style="text-align: center;"> ' + 
-'      <img src="uml/component6.png" alt="collection" /><br /> Collections ' + 
-'      Component Overview (Informative) ' + 
-'    </div><div class="anexample"> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(c0, [ prov:type=\'prov:EmptyCollection\' ])  // c0 is an empty collection ' + 
-'entity(c1, [ prov:type=\'prov:Collection\'  ])      // c1 is a collection, with unknown content ' + 
-'</pre> ' + 
-'    </div><div class="attributes" id="attributes-hadMember"> ' + 
-'      A <dfn title="hadMember">membership</dfn> relation, written <span class="pnExpression">hadMember(c, e)</span>, has: ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="membership.collection">collection</span>: ' + 
-'          an identifier (<span class="name">c</span>) for the collection whose ' + 
-'          member is asserted; ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="attribute" id="membership.entity">entity</span>: the ' + 
-'          identifier <span class="name">e</span> of an entity that is member of ' + 
-'          the collection. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="anexample"> ' + 
-'      <p> ' + 
-'        In this example, <span class="name">c</span> is a collection known to ' + 
-'        have <span class="name">e0</span>, <span class="name">e1</span>, and ' + 
-'        <span class="name">e2</span> as members, and may have other members. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(e0) ' + 
-'entity(e1) ' + 
-'entity(e2) ' + 
-' ' + 
-'entity(c, [prov:type=\'prov:Collection\'  ])      // c is a collection, with unknown content ' + 
-'hadMember(c, e0) ' + 
-'hadMember(c, e1) ' + 
-'hadMember(c, e2) ' + 
-'</pre> ' + 
-'    </div><div id="attributes-at-a-glance-divz" style="text-align: left;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="attributes-at-a-glance"> ' + 
-'          PROV-DM Attributes At a Glance ' + 
-'        </caption> ' + 
-'        <!--  Table 8 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <b>Attribute</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Allowed In</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>value</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Section</b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a title="label">prov:label</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <em>any construct</em> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            A <a>Value</a> of type <a class="section-ref" href="http://www.w3.org/TR/xmlschema11-2/#string">xsd:string</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="section-ref" href="#term-attribute-label"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a title="location">prov:location</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a>Entity</a>, <a>Activity</a>, <a>Agent</a>, <a>Usage</a>, <a>Generation</a>, ' + 
-'            <a>Invalidation</a>, <a>Start</a>, and <a>End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            A <a title="value">Value</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="section-ref" href="#term-attribute-location"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a title="role">prov:role</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Association</a>, ' + 
-'            <a>Start</a>, and <a>End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            A <a title="value">Value</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="section-ref" href="#term-attribute-role"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a title="type">prov:type</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <em>any construct</em> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            A <a title="value">Value</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="section-ref" href="#term-attribute-type"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a title="value-attribute">prov:value</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a>Entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            A <a title="value">Value</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a class="section-ref" href="#term-attribute-value"><span>TBD</span></a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="anexample"> ' + 
-'      <p> ' + 
-'        The following entity is provided with a label attribute. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' entity(ex:e1, [ prov:label="This is a human-readable label" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The following entity has two label attributes, in French and English. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' entity(ex:car01, [ prov:label="Voiture 01"@fr, prov:label="Car 01"@en ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="example-location"> ' + 
-'      <p> ' + 
-'        The following expression describes entity Mona Lisa, a painting, with a ' + 
-'        location attribute. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' entity(ex:MonaLisa, [ prov:location="Le Louvre, Paris", prov:type="StillImage" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The following expression describes a cell, at coordinates (5,5), with ' + 
-'        value 10. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' entity(ex:cell, [ prov:location="(5,5)", prov:value="10" %% xsd:integer ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-role"> ' + 
-'      <p> ' + 
-'        The following activity is associated with an agent acting as the ' + 
-'        operator. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-' wasAssociatedWith(a, ag, [ prov:role="operator" ]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        In the following expression, the activity <span class="name">ex:div01</span> ' + 
-'        used entity <span class="name">ex:cell</span> in the role of divisor. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'used(ex:div01, ex:cell, [ prov:role="divisor" ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample"> ' + 
-'      <p> ' + 
-'        The following describes an agent of type software agent. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'   agent(ag, [ prov:type=\'prov:SoftwareAgent\' ]) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-value1"> ' + 
-'      <p> ' + 
-'        The following example illustrates the provenance of the number <span class="name">4</span> obtained by an activity that computed the length ' + 
-'        of an input string <span class="name">"abcd"</span>. The input and the ' + 
-'        output are expressed as entities <span class="name">ex:in</span> and ' + 
-'        <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the ' + 
-'        corresponding value. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(ex:in, [ prov:value="abcd" ])  ' + 
-'entity(ex:out, [ prov:value=4 ])  ' + 
-'activity(ex:len, [ prov:type="string-length" ]) ' + 
-'used(ex:len, ex:in) ' + 
-'wasGeneratedBy(ex:out, ex:len) ' + 
-'wasDerivedFrom(ex:out, ex:in) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-value2"> ' + 
-'      <p> ' + 
-'        <a href="#anexample-value1" class="anexample-ref"><span>Example REF</span></a> ' + 
-'        illustrates an entity with a given value <span class="name">4</span>. ' + 
-'        This examples shows that another entity with the same value may be ' + 
-'        computed differently (by an addition). ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'entity(ex:in1, [ prov:value=3 ])  ' + 
-'entity(ex:in2, [ prov:value=1 ])  ' + 
-'entity(ex:out2, [ prov:value=4 ])      // ex:out2 also has value 4 ' + 
-'activity(ex:add1, [ prov:type="addition" ]) ' + 
-'used(ex:add1, ex:in1) ' + 
-'used(ex:add1, ex:in2) ' + 
-'wasGeneratedBy(ex:out2, ex:add1) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-value"> ' + 
-'      <p> ' + 
-'        The following examples respectively are the string "abc", the integer ' + 
-'        number 1, and the IRI "http://example.org/foo". ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'  "abc" ' + 
-'  "1" %% xsd:integer ' + 
-'  "http://example.org/foo" %% xsd:anyURI ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        The following example shows a value of type <span class="name">prov:QUALIFIED_NAME</span> ' + 
-'        (see <span class="name"><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME">prov:QUALIFIED_NAME</a></span> ' + 
-'        [[PROV-N]]). The prefix <span class="name">ex</span> must be bound to a ' + 
-'        <a>namespace</a> declared in a <a>namespace declaration</a>. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  "ex:value" %% prov:QUALIFIED_NAME ' + 
-'</pre> ' + 
-'      Alternatively, the same value can be expressed using the following ' + 
-'      convenience notation. ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  \'ex:value\' ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-time"> ' + 
-'      <p> ' + 
-'        In the following example, the generation time of entity <span class="name">e1</span> is expressed according to <a href="http://www.w3.org/TR/xmlschema11-2/#dateTime">xsd:dateTime</a> ' + 
-'        [[!XMLSCHEMA11-2]]. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  wasGeneratedBy(e1,a1, 2001-10-26T21:32:52) ' + 
-'</pre> ' + 
-'    </div><div class="anexample" id="anexample-sub-relation"> ' + 
-'          <p> ' + 
-'            In the following example, <span class="name">e2</span> is a ' + 
-'            translation of <span class="name">e1</span>, expressed as a sub-type ' + 
-'            of derivation. ' + 
-'          </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  wasDerivedFrom(e2,e1, [prov:type=\'ex:Translation\' ]) ' + 
-'</pre> ' + 
-'        </div><div class="anexample" id="anexample-sub-type"> ' + 
-'          <p> ' + 
-'            In the following example, <span class="name">e</span> is described ' + 
-'            as a Car, a type of entity. ' + 
-'          </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  entity(e, [prov:type=\'ex:Car\' ]) ' + 
-'</pre> ' + 
-'        </div><div class="anexample" id="anexample-usage-with-role"> ' + 
-'          <p> ' + 
-'            In the following example, two computers <span class="name">ex:laptop4</span> ' + 
-'            and <span class="name">ex:desktop9</span> are used in different ' + 
-'            roles in a work activity. ' + 
-'          </p> ' + 
-'<pre class="codeexample" xml:space="preserve">  ' + 
-'  activity(ex:work) ' + 
-'  entity(ex:laptop4) ' + 
-'  entity(ex:desktop9) ' + 
-'  used(ex:work, ex:laptop4,  [prov:role="day-to-day machine"]) ' + 
-'  used(ex:work, ex:desktop9, [prov:role="backup machine"]) ' + 
-'</pre> ' + 
-'        </div><div id="glossary_div" class="remove"> ' + 
-'      <!--  glossary loaded from glossary.js will be hooked up here, class ' + 
-'        remove, will remove this element from the final output. --> ' + 
-'    </div><div id="prov-dm-to-prov-o-and-prov-n-fig" style="text-align: left;"> ' + 
-'      <table class="thinborder" style="margin-left: auto; margin-right: auto;"> ' + 
-'        <caption id="prov-dm-to-prov-o-and-prov-n"> ' + 
-'          Cross-References to PROV-O and PROV-N ' + 
-'        </caption> ' + 
-'        <!--  Table 10 --> ' + 
-'        <tr> ' + 
-'          <td> ' + 
-'            <a><b>PROV-DM</b></a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>PROV-O</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>PROV-N</b> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <b>Component</b> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Entity">Entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Entity">Entity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-entityExpression">entityExpression</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="8"> ' + 
-'            <a href="#component1">Component 1:<br /> Entities/Activities</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Activity">Activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Entity">Activity</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-activityExpression">activityExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Generation">Generation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasGeneratedBy">wasGeneratedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Generation">Generation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-generationExpression">generationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Usage">Usage</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#used">used</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Usage">Usage</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-usageExpression">usageExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Communication">Communication</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasInformedBy">wasInformedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Communication">Communication</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-communicationExpression">communicationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Start">Start</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasStartedBy">wasStartedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Start">Start</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-startExpression">startExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="End">End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasEndedBy">wasEndedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#End">End</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-endExpression">endExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component1-color"> ' + 
-'          <td> ' + 
-'            <a title="Invalidation">Invalidation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasInvalidatedBy">wasInvalidatedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Invalidation">Invalidation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-invalidationExpression">invalidationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td> ' + 
-'            <a title="Derivation">Derivation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasDerivedFrom">wasDerivedFrom</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Derivation">Derivation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-derivationExpression">derivationExpression</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="4"> ' + 
-'            <a href="#component2">Component 2:<br /> Derivations</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="Revision">Revision</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasRevisionOf">wasRevisionOf</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Revision">Revision</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Revision">Revision</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="Quotation">Quotation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasQuotedFrom">wasQuotedFrom</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Quotation">Quotation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Quotation">Quotation</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component2-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="Primary Source">Primary Source</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#hadPrimarySource">hadPrimarySource</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Source">Source</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Primary-Source">PrimarySource</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color" style="border-collapse: collapse; "> ' + 
-'          <td> ' + 
-'            <a title="Agent">Agent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Agent">Agent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-agentExpression">agentExpression</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="9"> ' + 
-'            <a href="#component3">Component 3: <br />Agents, Responsibility, ' + 
-'            <br />Influence</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Attribution">Attribution</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasAttributedTo">wasAttributedTo</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Attribution">Attribution</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-attributionExpression">attributionExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Association">Association</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasAssociatedWith">wasAssociatedWith</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Association">Association</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-associationExpression">associationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Delegation">Delegation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#actedOnBehalfOf">actedOnBehalfOf</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Delegation">Delegation</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-delegationExpression">delegationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Plan">Plan</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Plan">Plan</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Plan">Plan</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Person">Person</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Person">Person</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Person">Person</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Organization">Organization</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Organization">Organization</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Organization">Organization</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="software-agent">SoftwareAgent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#SoftwareAgent">SoftwareAgent</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-SoftwareAgent">SoftwareAgent</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component3-color"> ' + 
-'          <td> ' + 
-'            <a title="Influence">Influence</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#wasInfluencedBy">wasInfluencedBy</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Influence">Influence</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-influenceExpression">influenceExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component4-color"> ' + 
-'          <td> ' + 
-'            <a title="bundle">Bundle constructor</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#description-bundle">bundle ' + 
-'            description</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-namedBundle">namedBundle</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="2"> ' + 
-'            <a href="#component5">Component 4: <br /> Bundles</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component4-color"> ' + 
-'          <td class="provType"> ' + 
-'            <a title="bundle">Bundle type</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Bundle">Bundle</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Bundle">Bundle</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a title="Alternate">Alternate</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#alternateOf">alternateOf</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-alternateExpression">alternateExpression</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="3"> ' + 
-'            <a href="#component4">Component 5: <br /> Alternate</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a title="Specialization">Specialization</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#specializationOf">specializationOf</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-specializationExpression">specializationExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component5-color"> ' + 
-'          <td> ' + 
-'            <a title="Mention">Mention</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#mentionOf">mentionOf</a>, ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#asInBundle">asInBundle</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-mentionExpression">mentionExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'          <td style="border-width: 0px; " /> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td> ' + 
-'            <a title="Collection">Collection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#Collection">Collection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-Collection">Collection</a></code> ' + 
-'          </td> ' + 
-'          <td rowspan="3"> ' + 
-'            <a href="#component6">Component 6: <br /> Collections</a> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td> ' + 
-'            <a title="Empty Collection">EmptyCollection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#EmptyCollection">EmptyCollection</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            type <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#provn-type-EmptyCollection">EmptyCollection</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'        <tr class="component6-color"> ' + 
-'          <td> ' + 
-'            <a title="Membership">Membership</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <a href="http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/last-call/2012-07-03-internal-review/Overview.html#hadMember">hadMember</a> ' + 
-'          </td> ' + 
-'          <td> ' + 
-'            <code><a href="http://dvcs.w3.org/hg/prov/raw-file/default/model/releases/WD-prov-n-20120724/Overview.html#prod-membershipExpression">membershipExpression</a></code> ' + 
-'          </td> ' + 
-'        </tr> ' + 
-'      </table> ' + 
-'    </div><div class="note"> ' + 
-'      Table: work in progress; these entries might change when the document is ' + 
-'      updated. ' + 
-'    </div><div class="definition-example" id="definition-example"> ' + 
-'      <p> ' + 
-'        <span class="name">defined_stmt</span> <span class="conditional">IF AND ' + 
-'        ONLY IF</span> there exists <span class="name">a<sub>1</sub></span>,..., ' + 
-'        <span class="name">a<sub>m</sub></span> such that <span class="name">defining_stmt<sub>1</sub></span> ' + 
-'        and ... and <span class="name">defining_stmt<sub>n</sub></span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      We use definitions primarily to expand the compact, concrete PROV-N ' + 
-'      syntax, including short forms and optional parameters to the abstract ' + 
-'      syntax implicitly used in PROV-DM. ' + 
-'    </div><div class="inference-example" id="inference-example"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span> ' + 
-'        and ... and <span class="name">hyp<sub>k</sub></span> <span class="conditional">THEN</span> there exists <span class="name">a<sub>1</sub></span> ' + 
-'        and ... and <span class="name">a<sub>m</sub></span> such that <span class="name">concl<sub>1</sub></span> and ... and <span class="name">concl<sub>n</sub></span>. ' + 
-'      </p> ' + 
-'    </div><div class="definition" id="optional-identifiers"> ' + 
-'      <p> ' + 
-'        For each <span class="name">r</span> in { <span class="name">used</span>, ' + 
-'        <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidatedBy</span>, ' + 
-'        <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>, ' + 
-'        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>, ' + 
-'        <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>, ' + 
-'        <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>}, ' + 
-'        the following definitional rules hold: ' + 
-'      </p> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="name">r(a<sub>1</sub>,...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">id</span> such that <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">r(-; a<sub>1</sub>,...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">id</span> such that <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="definition" id="optional-attributes"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          For each <span class="name">p</span> in {<span class="name">entity</span>, ' + 
-'          <span class="name">activity</span>, <span class="name">agent</span>}, ' + 
-'          if <span class="name">a<sub>n</sub></span> is not an attribute list ' + 
-'          parameter then the following definitional rule holds: ' + 
-'          <p> ' + 
-'            <span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>,[])</span>. ' + 
-'          </p> ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          For each <span class="name">r</span> in { <span class="name">used</span>, ' + 
-'          <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidated</span>, ' + 
-'          <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>, ' + 
-'          <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>, ' + 
-'          <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>, ' + 
-'          <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>}, ' + 
-'          if <span class="name">a<sub>n</sub></span> is not an attribute list ' + 
-'          parameter then the following definition holds: ' + 
-'          <p> ' + 
-'            <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span> ' + 
-'            <span class="conditional">IF AND ONLY IF</span> <span class="name">r(id; ' + 
-'            a<sub>1</sub>,...,a<sub>n</sub>,[])</span>. ' + 
-'          </p> ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        Definitions <a class="rule-ref" href="#optional-identifiers"><span>TBD</span></a> ' + 
-'        and <a class="rule-ref" href="#optional-attributes"><span>TBD</span></a>. ' + 
-'        do not apply to <span class="name">alternateOf</span>, <span class="name">specializationOf</span>, ' + 
-'        and <span class="name">mentionOf</span>, which do not have identifiers ' + 
-'        and attributes. ' + 
-'      </p> ' + 
-'    </div><div class="definition" id="definition-short-forms"> ' + 
-'      <p> ' + 
-'      </p> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="name">activity(id,attrs)</span> <span class="conditional">IF ' + 
-'          AND ONLY IF</span> <span class="name">activity(id,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasGeneratedBy(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasGeneratedBy(id; ' + 
-'          e,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">used(id; a,attrs)</span> <span class="conditional">IF ' + 
-'          AND ONLY IF</span> <span class="name">used(id; a,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasStartedBy(id; a,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasStartedBy(id; ' + 
-'          a,-,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasEndedBy(id; a,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasEndedBy(id; ' + 
-'          a,-,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasInvalidatedBy(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasInvalidatedBy(id; ' + 
-'          e,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasDerivedFrom(id; e2,e1,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasDerivedFrom(id; ' + 
-'          e2,e1,-,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">wasAssociatedWith(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasAssociatedWith(id; ' + 
-'          e,-,-,attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">actedOnBehalfOf(id; a2,a1,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">actedOnBehalfOf(id; ' + 
-'          a2,a1,-,attrs)</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="remark"> ' + 
-'      <!--  <p> Note that there is no expansion rule for <span ' + 
-'        class="name">wasDerivedFrom</span>. In a derivation of the form <span ' + 
-'        class="name">wasDerivedFrom(id; e1,e2,attr)</span>, the absence of the ' + 
-'        optional activity, generation and use identifiers means that the ' + 
-'        derivation relationship may encompass multiple activities, generations, ' + 
-'        and uses. Thus, it is not equivalent to <span ' + 
-'        class="name">wasDerivedFrom(id; e1,e2,a,g,u,attr)</span> where some ' + 
-'        activity, generation and use are given explicitly. The short form is not ' + 
-'        defined in terms of the long form in this case.</p> --> ' + 
-'      <p> ' + 
-'        There are no expansion rules for entity, agent, communication, ' + 
-'        attribution, influence, alternate, specialization, or mention relations, ' + 
-'        because these have no optional parameters aside from the identifier and ' + 
-'        attributes, which are expanded by the rules in <a class="rule-ref" href="#optional-identifiers"><span>TBD</span></a> and <a class="rule-ref" href="#optional-attributes"><span>TBD</span></a>. ' + 
-'      </p> ' + 
-'    </div><div class="definition" id="optional-placeholders"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="name">activity(id,-,t2,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">t1</span> such that <span class="name">activity(id,t1,t2,attrs)</span>. ' + 
-'          Here, <span class="name">t2</span> MAY be a placeholder. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="name">activity(id,t1,-,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">t2</span> such that <span class="name">activity(id,t1,t2,attrs)</span>. ' + 
-'          Here, <span class="name">t1</span> MUST NOT be a placeholder. ' + 
-'        </li> ' + 
-'        <!--  <li>For each <span class="name">r</span> in {<span ' + 
-'          class="name">entity</span>, <span class="name">activity</span>, <span ' + 
-'          class="name">agent</span>}, the following definition holds: <p> <span ' + 
-'          class="name">r(a<sub>0</sub>,...,a<sub>i-1</sub>, -, a<sub>i+1</sub>, ' + 
-'          ...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY ' + 
-'          IF</span> there exists <span class="name">a\'</span> such that <span ' + 
-'          class="name">r(a<sub>0</sub>,...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span>. ' + 
-'          </li> --> ' + 
-'        <li> ' + 
-'          For each <span class="name">r</span> in { <span class="name">used</span>, ' + 
-'          <span class="name">wasGeneratedBy</span>, ' + 
-'           <!-- <span class="name">wasInformedBy</span>, --> <span class="name">wasStartedBy</span>, ' + 
-'          <span class="name">wasEndedBy</span>, <span class="name">wasInvalidatedBy</span>, ' + 
-'           <!-- <span class="name">wasDerivedFrom</span>, --> ' + 
-'           <!-- <span class="name">wasAttributedTo</span>, --> <span class="name">wasAssociatedWith</span>, ' + 
-'          <span class="name">actedOnBehalfOf</span> ' + 
-'           <!-- <span class="name">wasInfluencedBy</span> --> }, if the <span class="name">i</span>th parameter of <span class="name">r</span> is an ' + 
-'          <a>expandable parameter</a> of <span class="name">r</span> as ' + 
-'          specified in <a href="#expandable-parameters-fig">Table 3</a> then the ' + 
-'          following definition holds: ' + 
-'          <p> ' + 
-'            <span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>, -, a<sub>i+1</sub>, ' + 
-'            ...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span> ' + 
-'            there exists <span class="name">a\'</span> such that <span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span>. ' + 
-'          </p> ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          If <span class="name">a</span> is not the placeholder <span class="name">-</span>, and <span class="name">u</span> is any term, ' + 
-'          then the following definition holds: ' + 
-'          <p> ' + 
-'            <span class="name">wasDerivedFrom(id;e2,e1,a,-,u,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">g</span> such that <span class="name">wasDerivedFrom(id; ' + 
-'            e2,e1,a,g,u,attrs)</span>. ' + 
-'          </p> ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          If <span class="name">a</span> is not the placeholder <span class="name">-</span>, and <span class="name">g</span> is any term, ' + 
-'          then the following definition holds: ' + 
-'          <p> ' + 
-'            <span class="name">wasDerivedFrom(id;e2,e1,a,g,-,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">u</span> such that <span class="name">wasDerivedFrom(id; ' + 
-'            e2,e1,a,g,u,attrs)</span>. ' + 
-'          </p> ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        In an association of the form <span class="name">wasAssociatedWith(id; ' + 
-'        a,ag,-,attr)</span>, the absence of a plan means: either no plan exists, ' + 
-'        or a plan exists but it is not identified. Thus, it is not equivalent to ' + 
-'        <span class="name">wasAssociatedWith(id; a,ag,p,attr)</span> where a ' + 
-'        plan <span class="name">p</span> is given. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        A derivation <span class="name">wasDerivedFrom(id; ' + 
-'        e2,e1,a,gen,use,attrs)</span> that specifies an activity explicitly ' + 
-'        indicates that this activity achieved the derivation, with a usage <span class="name">use</span> of entity <span class="name">e1</span>, and a ' + 
-'        generation <span class="name">gen</span> of entity <span class="name">e2</span>. ' + 
-'        It differs from a derivation of the form <span class="name">wasDerivedFrom(id; ' + 
-'        e2,e1,-,-,-,attrs)</span> with missing activity, generation, and usage. ' + 
-'        In the latter form, it is not specified if one or more activities are ' + 
-'        involved in the derivation. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        Let us consider a system, in which a derivation is underpinned by ' + 
-'        multiple activities. Conceptually, one could also model such a system ' + 
-'        with a new activity that encompasses the two original activities and ' + 
-'        underpins the derivation. The inferences defined in this specification ' + 
-'        do not allow the latter modelling to be inferred from the former. Hence, ' + 
-'        the two modellings of the same system are regarded as different in the ' + 
-'        context of this specification. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="communication-generation-use-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,_attrs)</span> <span class="conditional">THEN</span> there exist ' + 
-'        <span class="name">e</span>, <span class="name">_gen</span>, <span class="name">_t1</span>, <span class="name">_use</span>, and <span class="name">_t2</span>, such that <span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a1,_t1,[])</span> and <span class="name">used(_use; a2,e,_t2,[])</span> ' + 
-'        hold. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="generation-use-communication-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a1,_t1,_attrs1)</span> and <span class="name">used(_id2; ' + 
-'        a2,e,_t2,_attrs2)</span> hold <span class="conditional">THEN</span> ' + 
-'        there exists <span class="name">_id</span> such that <span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,[])</span> ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        The relationship <span class="name">wasInformedBy</span> is not <a>transitive</a>. ' + 
-'        Indeed, consider the following statements. ' + 
-'      </p> ' + 
-'<pre class="codeexample" xml:space="preserve"> ' + 
-'wasInformedBy(a2,a1) ' + 
-'wasInformedBy(a3,a2) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        We cannot infer <span class="name">wasInformedBy(a3,a1)</span> from ' + 
-'        these statements alone. Indeed, from <span class="name">wasInformedBy(a2,a1)</span>, ' + 
-'        we know that there exists <span class="name">e1</span> such that <span class="name">e1</span> was generated by <span class="name">a1</span> and ' + 
-'        used by <span class="name">a2</span>. Likewise, from <span class="name">wasInformedBy(a3,a2)</span>, ' + 
-'        we know that there exists <span class="name">e2</span> such that <span class="name">e2</span> was generated by <span class="name">a2</span> and ' + 
-'        used by <span class="name">a3</span>. The following illustration shows a ' + 
-'        counterexample to transitivity. The horizontal axis represents the event ' + 
-'        line. We see that <span class="name">e1</span> was generated after <span class="name">e2</span> was used. Furthermore, the illustration also ' + 
-'        shows that <span class="name">a3</span> completes before <span class="name">a1</span> started. So in this example (with no other ' + 
-'        information) it is impossible for <span class="name">a3</span> to have ' + 
-'        used an entity generated by <span class="name">a1</span>. This is ' + 
-'        illustrated in <a href="#counterexample-wasInformedBy">Figure 2</a>. ' + 
-'      </p> ' + 
-'      <div style="text-align: center;"> ' + 
-'        <img src="images/constraints/informedByNonTransitive.png" alt="non transitivity of wasInformedBy" /> <br /> Counter-example for ' + 
-'        transitivity of wasInformedBy ' + 
-'         <!--  <b>Figure 2:</b> --> ' + 
-'      </div> ' + 
-'    </div><div class="inference" id="entity-generation-invalidation-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">entity(e,_attrs)</span> ' + 
-'        <span class="conditional">THEN</span> there exist <span class="name">_gen</span>, ' + 
-'        <span class="name">_a1</span>, <span class="name">_t1</span>, <span class="name">_inv</span>, <span class="name">_a2</span>, and <span class="name">_t2</span> such that <span class="name">wasGeneratedBy(_gen; ' + 
-'        e,_a1,_t1,[])</span> and <span class="name">wasInvalidatedBy(_inv; ' + 
-'        e,_a2,_t2,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="activity-start-end-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">activity(a,t1,t2,_attrs)</span> ' + 
-'        <span class="conditional">THEN</span> there exist <span class="name">_start</span>, ' + 
-'        <span class="name">_e1</span>, <span class="name">_a1</span>, <span class="name">_end</span>, <span class="name">_a2</span>, and <span class="name">_e2</span> such that <span class="name">wasStartedBy(_start; ' + 
-'        a,_e1,_a1,t1,[])</span> and <span class="name">wasEndedBy(_end; ' + 
-'        a,_e2,_a2,t2,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="wasStartedBy-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasStartedBy(_id; ' + 
-'        a,e1,a1,_t,_attrs)</span>, <span class="conditional">THEN</span> there ' + 
-'        exist <span class="name">_gen</span> and <span class="name">_t1</span> ' + 
-'        such that <span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="wasEndedBy-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasEndedBy(_id; ' + 
-'        a,e1,a1,_t,_attrs)</span>, <span class="conditional">THEN</span> there ' + 
-'        exist <span class="name">_gen</span> and <span class="name">_t1</span> ' + 
-'        such that <span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="derivation-generation-use-inference"> ' + 
-'      <p> ' + 
-'        In this inference, none of <span class="name">a</span>, <span class="name">gen2</span> or <span class="name">use1</span> can be ' + 
-'        placeholders <span class="name">-</span>. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id; ' + 
-'        e2,e1,a,gen2,use1,_attrs)</span>, <span class="conditional">THEN</span> ' + 
-'        there exists <span class="name">_t1</span> and <span class="name">_t2</span> ' + 
-'        such that <span class="name">used(use1; a,e1,_t1,[])</span> and <span class="name">wasGeneratedBy(gen2; e2,a,_t2,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="revision-is-alternate-inference"> ' + 
-'      <p> ' + 
-'        In this inference, any of <span class="name">_a</span>, <span class="name">_g</span> or <span class="name">_u</span> MAY be ' + 
-'        placeholders. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id; ' + 
-'        e2,e1,_a,_g,_u,[prov:type=\'prov:Revision\'])</span>, <span class="conditional">THEN</span> <span class="name">alternateOf(e2,e1)</span>. ' + 
-'      </p> ' + 
-'      <!--  <li><span class=\'conditional\'>IF</span> <span ' + 
-'        class="name">wasDerivedFrom(_id; ' + 
-'        e2,e1,_act,_gen,_use,[prov:type=\'prov:Revision\'])</span>, <span ' + 
-'        class=\'conditional\'>THEN</span> <span ' + 
-'        class="name">alternateOf(e2,e1)</span>. </li> --> ' + 
-'    </div><div class="remark"> ' + 
-'      There is no inference stating that <span class="name">wasDerivedFrom</span> ' + 
-'      is transitive. ' + 
-'    </div><div class="inference" id="attribution-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasAttributedTo(_att; ' + 
-'        e,ag,_attrs)</span> ' + 
-'         <!-- holds for some identifiers <span class="name">e</span> and <span ' + 
-'          class="name">ag</span>, --> <span class="conditional">THEN</span> ' + 
-'        there exist <span class="name">a</span>, <span class="name">_t</span>, ' + 
-'        <span class="name">_gen</span>, <span class="name">_assoc</span>, <span class="name">_pl</span>, such that <span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a,_t,[])</span> and <span class="name">wasAssociatedWith(_assoc; ' + 
-'        a,ag,_pl,[])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      In the above inference, <span class="name">_pl</span> is an existential ' + 
-'      variable, so it can be unified with a constant identifier, another ' + 
-'      existential variable, or a placeholder <span class="name">-</span>, as ' + 
-'      explained in the definition of <a>unification</a>. ' + 
-'    </div><div class="inference" id="delegation-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_id; ' + 
-'        ag1, ag2, a, _attrs)</span> <span class="conditional">THEN</span> there ' + 
-'        exist <span class="name">_id1</span>, <span class="name">_pl1</span>, ' + 
-'        <span class="name">_id2</span>, and <span class="name">_pl2</span> such ' + 
-'        that <span class="name">wasAssociatedWith(_id1; a, ag1, _pl1, [])</span> ' + 
-'        and <span class="name">wasAssociatedWith(_id2; a, ag2, _pl2, [])</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      The two associations between the agents and the activity may have ' + 
-'      different identifiers, different plans, and different attributes. In ' + 
-'      particular, the plans of the two agents need not be the same, and one, ' + 
-'      both, or neither can be the placeholder <span class="name">-</span> ' + 
-'      indicating that there is no plan, because the existential variables <span class="name">_pl1</span> and <span class="name">_pl2</span> can be ' + 
-'      replaced with constant identifiers, existential variables, or placeholders ' + 
-'      <span class="name">-</span> independently, as explained in the definition ' + 
-'      of <a>unification</a>. ' + 
-'    </div><div class="inference" id="influence-inference"> ' + 
-'      <p> ' + 
-'      </p> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(id; ' + 
-'          e,a,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, a, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">used(id; ' + 
-'          a,e,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a, e, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasInformedBy(id; ' + 
-'          a2,a1,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, a1, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasStartedBy(id; ' + 
-'          a2,e,a1,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, e, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasEndedBy(id; ' + 
-'          a2,e,_a1,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, e, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, a, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g, u, attrs)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">wasInfluencedBy(id; e2, e1, attrs)</span>. Here, ' + 
-'          <span class="name">a</span>, <span class="name">g</span>, <span class="name">u</span> MAY be placeholders <span class="name">-</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, ag, attrs)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,_pl,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a, ag, attrs)</span>. Here, <span class="name">_pl</span> MAY be a placeholder <span class="name">-</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,_a,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; ag2, ag1, attrs)</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="remark"> ' + 
-'      The inferences above permit the use of same identifier for an influence ' + 
-'      relationship and a more specific relationship. ' + 
-'    </div><div class="inference" id="alternate-reflexive"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">entity(e)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="name">alternateOf(e,e)</span>. ' + 
-'      </p> ' + 
-'    </div><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><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> ' + 
-'    </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>. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="specialization-alternate-inference"> ' + 
-'      <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><div class="inference" id="specialization-attributes-inference"> ' + 
-'      <p> ' + 
-'        <!--  For any entities <span class=\'name\'>e1</span>, <span ' + 
-'          class=\'name\'>e2</span>, --> ' + 
-'        <span class="conditional">IF</span> <span class="name">entity(e1, attrs)</span> ' + 
-'         <!-- holds for some attributes <span class=\'name\'>attrs</span> --> and ' + 
-'        <span class="name">specializationOf(e2,e1)</span>, <span class="conditional">THEN </span> <span class="name">entity(e2, attrs)</span>. ' + 
-'      </p> ' + 
-'    </div><div class="note"> ' + 
-'      <p> ' + 
-'        Note: The following inference is associated with a feature "<a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">at risk</a>" ' + 
-'        and may be removed from this specification based on feedback. Please ' + 
-'        send feedback to public-prov-comments@w3.org. ' + 
-'      </p> ' + 
-'    </div><div class="inference" id="mention-specialization-inference"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">mentionOf(e2,e1,b)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="name">specializationOf(e2,e1)</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      Unification is analogous to unification in logic programming and theorem ' + 
-'      proving, restricted to flat terms with constants and variables but no ' + 
-'      function symbols. No occurs check is needed because there are no function ' + 
-'      symbols. ' + 
-'    </div><div class="constraint-example" id="uniqueness-example"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span> ' + 
-'        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="name">t<sub>1</sub></span> ' + 
-'        = <span class="name">u<sub>1</sub></span> and ... and <span class="name">t<sub>n</sub></span> ' + 
-'        = <span class="name">u<sub>n</sub></span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint-example" id="key-example"> ' + 
-'      <p> ' + 
-'        The <span class="name">a<sub>k</sub></span> field is a <span class="conditional">KEY</span> for relation <span class="name">r(a<sub>0</sub>; ' + 
-'        a<sub>1</sub>,...,a<sub>n</sub>)</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="key-object"> ' + 
-'      <p /> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#entity.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">entity(id,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#activity.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">activity(id,t1,t2,attrs)</span> ' + 
-'          statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#agent.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">agent(id,attrs)</span> statement. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="key-properties"> ' + 
-'      <p /> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#generation.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasGeneratedBy(id; ' + 
-'          e,a,t,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#usage.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">used(id; a,e,t,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#communication.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">wasInformedBy(id; a2,a1,attrs)</span> ' + 
-'          statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#start.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">wasStartedBy(id; a2,e,a1,t,attrs)</span> ' + 
-'          statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#end.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> ' + 
-'          for the <span class="name">wasEndedBy(id; a2,e,a1,t,attrs)</span> ' + 
-'          statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#invalidation.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,t,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#derivation.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g2, u1, attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#attribution.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attr)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#association.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,pl,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#association.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,-,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#delegation.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,a,attrs)</span> statement. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          The identifier field <a href="http://www.w3.org/TR/prov-dm/#influence.id"><span class="name">id</span></a> ' + 
-'          is a <span class="conditional">KEY</span> for the <span class="name">wasInfluencedBy(id; ' + 
-'          o2,o1,attrs)</span> statement. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="unique-generation"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen1; ' + 
-'        e,a,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2; ' + 
-'        e,a,_t2,_attrs2)</span>, <span class="conditional">THEN</span> <span class="name">gen1</span> = <span class="name">gen2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-invalidation"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(inv1; ' + 
-'        e,a,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2; ' + 
-'        e,a,_t2,_attrs2)</span>, <span class="conditional">THEN</span> <span class="name">inv1</span> = <span class="name">inv2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        It follows from the above uniqueness and key constraints that the ' + 
-'        generation and invalidation events linking an entity and activity are ' + 
-'        unique, if specified. However, because we apply the constraints by ' + 
-'        merging, it is possible for a valid PROV instance to contain multiple ' + 
-'        statements about the same generation or invalidation event, for example: ' + 
-'      </p> ' + 
-'<pre xml:space="preserve"> ' + 
-'wasGeneratedBy(id1; e,a,-,[prov:location="Paris"]) ' + 
-'wasGeneratedBy(-; e,a,-,[color="Red"]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        When the uniqueness and key constraints are applied, the instance is <a title="normal form">normalized</a> to the following form: ' + 
-'      </p> ' + 
-'<pre xml:space="preserve"> ' + 
-'wasGeneratedBy(id1; e,a,_t,[prov:location="Paris",color="Red"]) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        where <span class="name">_t</span> is a new existential variable. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-wasStartedBy"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasStartedBy(start1; ' + 
-'        a,_e1,a0,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start2; ' + 
-'        a,_e2,a0,_t2,_attrs2)</span>, <span class="conditional">THEN</span> ' + 
-'        <span class="name">start1</span> = <span class="name">start2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-wasEndedBy"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasEndedBy(end1; ' + 
-'        a,_e1,a0,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'        a,_e2,a0,_t2,_attrs2)</span>, <span class="conditional">THEN</span> ' + 
-'        <span class="name">end1</span> = <span class="name">end2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-startTime"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">activity(a2,t1,_t2,_attrs)</span> ' + 
-'        and <span class="name">wasStartedBy(_start; a2,_e,_a1,t,_attrs)</span>, ' + 
-'        <span class="conditional">THEN</span> <span class="name">t1</span>=<span class="name">t</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-endTime"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">activity(a2,_t1,t2,_attrs)</span> ' + 
-'        and <span class="name">wasEndedBy(_end; a2,_e,_a1,t,_attrs1)</span>, ' + 
-'        <span class="conditional">THEN</span> <span class="name">t2</span> = ' + 
-'        <span class="name">t</span>. ' + 
-'      </p> ' + 
-'    </div><div class="note"> ' + 
-'      <p> ' + 
-'        Note: The following constraint is associated with a feature "<a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">at risk</a>" ' + 
-'        and may be removed from this specification based on feedback. Please ' + 
-'        send feedback to public-prov-comments@w3.org. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="unique-mention"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">mentionOf(e, e1, ' + 
-'        b1)</span> and <span class="name">mentionOf(e, e2, b2)</span>, <span class="conditional">THEN</span> <span class="name">e1</span>=<span class="name">e2</span> and <span class="name">b1</span>=<span class="name">b2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint-example" id="ordering-example"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span> ' + 
-'        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="name">evt1</span> <a>precedes</a>/<a>strictly ' + 
-'        precedes</a> <span class="name">evt2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="note"> ' + 
-'      Miscellaneous suggestions about figures (originally from Tim Lebo): ' + 
-'      <ul> ' + 
-'        <li> ' + 
-'          I think it would help if the "corresponding edges between entities and ' + 
-'          activities" where the same visual style as the vertical line marking ' + 
-'          the time the Usage, generation and derivation occurred. A matching ' + 
-'          visual style provides a Gestalt that matches the concept. I am looking ' + 
-'          at subfigures b and c in 5.2. ' + 
-'        </li> ' + 
-'      </ul> ' + 
-'    </div><div class="constraint" id="start-precedes-end"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasStartedBy(start; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'        <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">end</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="start-start-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasStartedBy(start1; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start2; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'        <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">start2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="end-end-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasEndedBy(end1; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'        <span class="name">end1</span> <a title="precedes">precedes</a> <span class="name">end2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="usage-within-activity"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasStartedBy(start; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">used(use; ' + 
-'          a,_e2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">use</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">used(use; ' + 
-'          a,_e1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">use</span> <a title="precedes">precedes</a> <span class="name">end</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="generation-within-activity"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasStartedBy(start; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen; ' + 
-'          _e2,a,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">gen</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'          _e,a,_t,_attrs)</span> and <span class="name">wasEndedBy(end; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">end</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="wasInformedBy-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,_attrs)</span> and <span class="name">wasStartedBy(start; ' + 
-'        a1,_e1,_a1\',_t1,_attrs1)</span> and <span class="name">wasEndedBy(end; ' + 
-'        a2,_e2,_a2\',_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'        <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">end</span>. ' + 
-'      </p> ' + 
-'    </div><div class="note"> ' + 
-'      The figure(s) in this section should have vertical lines with visual ' + 
-'      styles that match the diagonal arrow that they go with. ' + 
-'    </div><div class="constraint" id="generation-precedes-invalidation"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'        e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv; ' + 
-'        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">inv</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="generation-precedes-usage"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'        e,_a1,_t1,_attrs1)</span> and <span class="name">used(use; ' + 
-'        _a2,e,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">use</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="usage-precedes-invalidation"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">used(use; ' + 
-'        _a1,e,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv; ' + 
-'        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">use</span> <a title="precedes">precedes</a> <span class="name">inv</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="generation-generation-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen1; ' + 
-'        e,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2; ' + 
-'        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="invalidation-invalidation-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(inv1; ' + 
-'        e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2; ' + 
-'        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">inv1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="derivation-usage-generation-ordering"> ' + 
-'      <p> ' + 
-'        In this constraint, <span class="name">_a</span>, <span class="name">gen2</span>, ' + 
-'        <span class="name">use1</span> MUST NOT be placeholders. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_d; ' + 
-'        _e2,_e1,_a,gen2,use1,_attrs)</span> <span class="conditional">THEN</span> ' + 
-'        <span class="name">use1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="derivation-generation-generation-ordering"> ' + 
-'      <p> ' + 
-'        In this constraint, any <span class="name">_a</span>, <span class="name">_g</span>, ' + 
-'        <span class="name">_u</span> MAY be placeholders. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_d; ' + 
-'        e2,e1,_a,_g,_u,attrs)</span> and <span class="name">wasGeneratedBy(gen1; ' + 
-'        e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2; ' + 
-'        e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a>strictly precedes</a> <span class="name">gen2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        This constraint requires the derived entity to be generated strictly ' + 
-'        following the generation of the original entity. This follows from the ' + 
-'        [[PROV-DM]] definition of derivation: <em>A derivation is a ' + 
-'        transformation of an entity into another, an update of an entity ' + 
-'        resulting in a new one, or the construction of a new entity based on a ' + 
-'        pre-existing entity</em>, thus the derived entity must be newer than the ' + 
-'        original entity. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        The event ordering is between generations of <span class="name">e1</span> ' + 
-'        and <span class="name">e2</span>, as opposed to derivation where usage ' + 
-'        is known, which implies ordering between the usage of <span class="name">e1</span> ' + 
-'        and generation of <span class="name">e2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="wasStartedBy-ordering"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'          e,_a1,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start; ' + 
-'          _a,e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">start</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasStartedBy(start; ' + 
-'          _a,e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv; ' + 
-'          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">inv</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="wasEndedBy-ordering"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'          e,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end; ' + 
-'          _a,e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">end</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasEndedBy(end; ' + 
-'          _a,e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv; ' + 
-'          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">end</span> <a title="precedes">precedes</a> <span class="name">inv</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="specialization-generation-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">specializationOf(e2,e1)</span> ' + 
-'        and <span class="name">wasGeneratedBy(gen1; e1,_a1,_t1,_attrs1)</span> ' + 
-'        and <span class="name">wasGeneratedBy(gen2; e2,_a2,_t2,_attrs2)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="name">gen1</span> <a>precedes</a> ' + 
-'        <span class="name">gen2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="specialization-invalidation-ordering"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">specializationOf(e1,e2)</span> ' + 
-'        and <span class="name">wasInvalidatedBy(inv1; e1,_a1,_t1,_attrs1)</span> ' + 
-'        and <span class="name">wasInvalidatedBy(inv2; e2,_a2,_t2,_attrs2)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="name">inv1</span> <a>precedes</a> ' + 
-'        <span class="name">inv2</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="wasAssociatedWith-ordering"> ' + 
-'      <p> ' + 
-'        In the following inferences, <span class="name">_pl</span> MAY be a ' + 
-'        placeholder <span class="name">-</span>. ' + 
-'      </p> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2; ' + 
-'          ag,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span> and <span class="name">wasGeneratedBy(gen1; ' + 
-'          ag,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">end2</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'          ag,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">start1</span> <a title="precedes">precedes</a> ' + 
-'          <span class="name">end2</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1; ' + 
-'          ag,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">start1</span> <a title="precedes">precedes</a> ' + 
-'          <span class="name">end2</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="wasAttributedTo-ordering"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAttributedTo(_at; ' + 
-'          e,ag,_attrs)</span> and <span class="name">wasGeneratedBy(gen1; ' + 
-'          ag,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2; ' + 
-'          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAttributedTo(_at; ' + 
-'          e,ag,_attrs)</span> and <span class="name">wasStartedBy(start1; ' + 
-'          ag,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2; ' + 
-'          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="actedOnBehalfOf-ordering"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_del; ' + 
-'          ag2,ag1,_a,_attrs)</span> and <span class="name">wasGeneratedBy(gen1; ' + 
-'          ag1,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2; ' + 
-'          ag2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_del; ' + 
-'          ag2,ag1,_a,_attrs)</span> and <span class="name">wasStartedBy(start1; ' + 
-'          ag1,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2; ' + 
-'          ag2,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">start1</span> <a title="precedes">precedes</a> ' + 
-'          <span class="name">end2</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="typing"> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">entity(e,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">agent(ag,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">activity(a,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">used(u; ' + 
-'          a,e,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen; ' + 
-'          e,a,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasInformedBy(id; ' + 
-'          a2,a1,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'activity\' ' + 
-'          isin; typeOf(a1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasStartedBy(id; ' + 
-'          a2,e,a1,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span> AND <span class="name">\'activity\' isin; ' + 
-'          typeOf(a1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasEndedBy(id; ' + 
-'          a2,e,a1,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span> AND <span class="name">\'activity\' isin; ' + 
-'          typeOf(a1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g2, u1, attrs)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">\'entity\' isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; typeOf(e1)</span> AND <span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span>. In this constraint, <span class="name">a</span>, ' + 
-'          <span class="name">g2</span>, and <span class="name">u1</span> MUST ' + 
-'          NOT be placeholders. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, -, -, -, attrs)</span> <span class="conditional">THEN</span> ' + 
-'          <span class="name">\'entity\' isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; typeOf(e1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attr)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,pl,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span> AND <span class="name">\'entity\' isin; ' + 
-'          typeOf(pl)</span>. In this constraint, <span class="name">pl</span> ' + 
-'          MUST NOT be a placeholder. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,-,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,a,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'agent\' isin; typeOf(ag2)</span> AND <span class="name">\'agent\' ' + 
-'          isin; typeOf(ag1)</span> AND <span class="name">\'activity\' isin; ' + 
-'          typeOf(a)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">alternateOf(e2, ' + 
-'          e1)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">specializationOf(e2, ' + 
-'          e1)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">mentionOf(e2,e1,b)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span> AND <span class="name">\'entity\' isin; typeOf(b)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">hadMember(c,e)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'prov:Collection\' ' + 
-'          isin; typeOf(c)</span> AND <span class="name">\'entity\' isin; ' + 
-'          typeOf(c)</span> AND <span class="name">\'entity\' isin; typeOf(e)</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">entity(c,[prov:type=\'prov:EmptyCollection\'])</span> ' + 
-'          <span class="conditional">THEN</span> <span class="name">\'entity\' ' + 
-'          isin; typeOf(c)</span> AND <span class="name">\'prov:Collection\' ' + 
-'          isin; typeOf(c)</span>AND <span class="name">\'prov:EmptyCollection\' ' + 
-'          isin; typeOf(c)</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint-example" id="impossible-example"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span> ' + 
-'        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="impossible-unspecified-derivation-generation-use"> ' + 
-'      <p> ' + 
-'        In the following rules, <span class="name">g</span> and <span class="name">u</span> MUST NOT be <span class="name">-</span>. ' + 
-'      </p> ' + 
-'      <ol> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,-,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,-,u,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'        </li> ' + 
-'        <li> ' + 
-'          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,u,attrs)</span> ' + 
-'          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'        </li> ' + 
-'      </ol> ' + 
-'    </div><div class="constraint" id="impossible-specialization-reflexive"> ' + 
-'      <!--  <p> For any entity <span class=\'name\'>e</span>, it is not the case ' + 
-'        that <span class=\'name\'>specializationOf(e,e)</span> holds.</p> --> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">specializationOf(e,e)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="impossible-property-overlap"> ' + 
-'      <p> ' + 
-'        For each <span class="name">r</span> and <span class="name">s</span> in ' + 
-'        { <span class="name">used</span>, <span class="name">wasGeneratedBy</span>, ' + 
-'        <span class="name">wasInvalidatedBy</span>, <span class="name">wasStartedBy</span>, ' + 
-'        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>, ' + 
-'        <span class="name">wasAttributedTo</span>, <span class="name">wasAssociatedWith</span>, ' + 
-'        <span class="name">actedOnBehalfOf</span>} such that <span class="name">r</span> ' + 
-'        and <span class="name">s</span> are different relation names, the ' + 
-'        following constraint holds: ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">r(id; a<sub>1</sub>,...,a<sub>m</sub>)</span> ' + 
-'        and <span class="name">s(id; b<sub>1</sub>,...,b<sub>n</sub>)</span> ' + 
-'        <span class="conditional">THEN INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      <p> ' + 
-'        Since <span class="name">wasInfluencedBy</span> is a superproperty of ' + 
-'        many other properties, it is excluded from the set of properties whose ' + 
-'        identifiers are required to be pairwise disjoint. The following example ' + 
-'        illustrates this observation: ' + 
-'      </p> ' + 
-'<pre xml:space="preserve"> ' + 
-'wasInfluencedBy(id;e2,e1) ' + 
-'wasDerivedFrom(id;e2,e1) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        This satisfies the disjointness constraint. ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        There is, however, no constraint requiring that every influence ' + 
-'        relationship is accompanied by a more specific relationship having the ' + 
-'        same identifier. The following valid example illustrates this ' + 
-'        observation: ' + 
-'      </p> ' + 
-'<pre xml:space="preserve"> ' + 
-'wasInfluencedBy(id; e2,e1) ' + 
-'</pre> ' + 
-'      <p> ' + 
-'        This is valid; there is no inferrable information about what kind of ' + 
-'        influence relates <span class="name">e2</span> and <span class="name">e1</span>, ' + 
-'        other than its identity. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="impossible-object-property-overlap"> ' + 
-'      <p> ' + 
-'        For each <span class="name">p</span> in {<span class="name">entity</span>, ' + 
-'        <span class="name">activity</span> or <span class="name">agent</span>} ' + 
-'        and for each <span class="name">r</span> in { <span class="name">used</span>, ' + 
-'        <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidatedBy</span>, ' + 
-'        <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>, ' + 
-'        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>, ' + 
-'        <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>, ' + 
-'        <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>}, ' + 
-'        the following impossibility constraint holds: ' + 
-'      </p> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">p(id,a<sub>1</sub>,...,a<sub>n</sub>)</span> ' + 
-'        and <span class="name">r(id; b<sub>1</sub>,...,b<sub>n</sub>)</span> ' + 
-'        <span class="conditional">THEN INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="constraint" id="entity-activity-disjoint"> ' + 
-'      <!--  <p>It is not the case that <span ' + 
-'        class="name">entity(id,_attrs1)</span> and <span ' + 
-'        class="name">activity(id,_t1,_t2,_attrs2)</span>. </p> --> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">\'entity\' isin; ' + 
-'        typeOf(id)</span> AND <span class="name">\'activity\' isin; typeOf(id)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      There is no disjointness between entities and agents. This is because one ' + 
-'      might want to make statements about the provenance of an agent, by making ' + 
-'      it an entity. For example, one can assert both <span class="name">entity(a1)</span> ' + 
-'      and <span class="name">agent(a1)</span> in a valid PROV instance. ' + 
-'      Similarly, there is no disjointness between activities and agents, and one ' + 
-'      can assert both <span class="name">activity(a1)</span> and <span class="name">agent(a1)</span> in a valid PROV instance. However, one ' + 
-'      should keep in mind that some specific types of agents may not be suitable ' + 
-'      as activities. For example, asserting statements such as <span class="name">agent(Bob, ' + 
-'      [type=prov:Person])</span> and <span class="name">activity(Bob)</span> is ' + 
-'      discouraged. In these cases, disjointness can be ensured by explicitly ' + 
-'      asserting the agent as both agent and entity, and applying <a class="rule-ref" href="#entity-activity-disjoint"><span>TBD</span></a>. ' + 
-'    </div><div class="constraint" id="membership-empty-collection"> ' + 
-'      <p> ' + 
-'        <span class="conditional">IF</span> <span class="name">hasMember(c,e)</span> ' + 
-'        and <span class="name">\'prov:EmptyCollection\' isin; typeOf(c)</span> ' + 
-'        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>. ' + 
-'      </p> ' + 
-'    </div><div class="remark"> ' + 
-'      Implementations should decide up front what reasoning about co-reference ' + 
-'      should be applied, and rewrite the instance (by replacing co-referent ' + 
-'      identifiers with a single common identifier) to make this explicit, before ' + 
-'      doing validation, equivalence checking, or normalization. All of the ' + 
-'      following definitions assume that the application has already determined ' + 
-'      which URIs in the PROV instance are co-referent (e.g. <span class="name">owl:sameAs</span> ' + 
-'      as a result of OWL reasoning). ' + 
-'    </div><div class="name"> ' + 
-'      document<br /> nbsp;nbsp;nbsp;B<sub>0</sub><br /> nbsp;nbsp;nbsp;bundle ' + 
-'      b<sub>1</sub><br /> nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;B<sub>1</sub><br /> ' + 
-'      nbsp;nbsp;nbsp;endBundle<br /> nbsp;nbsp;nbsp;...<br /> nbsp;nbsp;nbsp;bundle ' + 
-'      b<sub>n</sub><br /> nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;B<sub>n</sub><br /> ' + 
-'      nbsp;nbsp;nbsp;endBundle<br /> endDocument ' + 
-'    </div><span class="name">_</span><span class="name">specializationOf</span><span class="name">alternateOf</span><span class="name">alternateOf</span><span class="name">specializationOf</span><span class="name">entity</span><span class="name">typeOf(id)</span><span class="name">-</span><span class="math">t</span><span class="math">[x<sub>1</sub> ' + 
-'      = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span><span class="math">S = [x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span><span class="math">x<sub>i</sub></span><span class="math">S</span><span class="math">S(x<sub>i</sub>) = t<sub>i</sub></span><span class="math">c</span><span class="math">S(c) = c</span><span class="math">p(t<sub>1</sub>,...,t<sub>n</sub>)</span><span class="math">S(p(t<sub>1</sub>,...,t<sub>n</sub>)) ' + 
-'      = p(S(t<sub>1</sub>),...,S(t<sub>n</sub>))</span><span class="math">S</span><span class="math">I</span><span class="math">I</span><span class="math">S(I) ' + 
-'      = {S(A) | A ∈ I}</span><span class="math">t = t\'</span><span class="math">precedes(t,t\')</span><span class="math">strictly_precedes(t,t\')</span><span class="name">\'type\' ∈ typeOf(id)</span><span class="name">typeOf(id,\'type\')</span><span class="name">INVALID</span><span class="math">False</span><span class="name">A</span><span class="conditional">IF AND ONLY IF</span><span class="name">y<sub>1</sub></span><span class="name">y<sub>m</sub></span><span class="name">B<sub>1</sub></span><span class="name">B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub> ' + 
-'        . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub></span><span class="math">x<sub>n</sub></span><span class="conditional">IF</span><span class="name">A<sub>1</sub></span><span class="name">A<sub>l</sub></span><span class="conditional">THEN</span><span class="name">y<sub>1</sub></span><span class="name">y<sub>m</sub></span><span class="name">B<sub>1</sub></span><span class="name">B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A<sub>1</sub> ' + 
-'        ∧ ... ∧ A<sub>l</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ' + 
-'        ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub></span><span class="math">x<sub>n</sub></span><span class="conditional">IF</span><span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="conditional">THEN</span><span class="name">C</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. ' + 
-'        A<sub>1</sub> ∧ ... ∧ A<sub>l</sub> ⇒ C</span><span class="conditional">IF</span><span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="conditional">THEN INVALID</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub> ' + 
-'        ⇒ False</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub> ' + 
-'        . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A</span><span class="math">∃ y<sub>1</sub>...y<sub>m</sub>. ' + 
-'        B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A<sub>1</sub> ' + 
-'        ∧ ... ∧ A<sub>l</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ' + 
-'        ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math"> y<sub>1</sub>...y<sub>m</sub></span><span class="math">B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ' + 
-'        ∧ ... ∧ A<sub>l</sub> ⇒ C</span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">C</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub> ' + 
-'        ⇒ False</span><span class="math">∄ ' + 
-'        x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">x<sub>1</sub>...x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">t,t\'</span><span class="math">S</span><span class="math">S(t) ' + 
-'      = S(t\')</span><span class="math">t</span><span class="math">t\'</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. ' + 
-'        A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">A</span><span class="math"> B<sub>1</sub>, ..., B<sub>k</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math"> B<sub>1</sub>, ' + 
-'        ..., B<sub>k</sub></span><span class="math">A</span><span class="math">A</span><span class="math">A</span><span class="math">A</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. ' + 
-'        A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . ' + 
-'        B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math"> A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math">B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. ' + 
-'        A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ t = t\'</span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span><span class="math">t</span><span class="math">t\'</span><span class="math">R(x,y) ⇒ ∃z. R(x,z) ∧R(z,y)</span><span class="math">{R(a,b)}</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="name">\'agent\'</span><span class="name">entity(id)</span><span class="name">activity(id)</span><span class="name">agent(id)</span><span class="name">\'entity\' ' + 
-'      ∈ typeOf(id)</span><span class="name">entity(id)</span><span class="name">\'entity\' ∈ ' + 
-'      typeOf(id)</span><span class="name">entity(id)</span><span class="name">entity(id,attrs)</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. ' + 
-'          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ precedes(t,t\')</span><span class="math"> A<sub>1</sub> ' + 
-'          ∧ ... ∧ A<sub>p</sub></span><span class="math">precedes(t,t\')</span><span class="math">typeOf(id)</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. ' + 
-'          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ \'type\' ∈ typeOf(id) </span><span class="name">\'type\'</span><span class="math">typeOf(id)</span><span class="name">\'type\' ∈ typeOf(id)</span><span class="math">typeOf</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. ' + 
-'          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ False</span><span class="math">A<sub>1</sub> ∧ ... ∧ ' + 
-'          A<sub>p</sub></span><span class="math">I<sub>1</sub></span><span class="math">I<sub>2</sub></span><span class="math">S</span><span class="math">S(I<sub>1</sub>) = I<sub>2</sub></span><span class="name">defined_stmt</span><span class="conditional">IF AND ' + 
-'        ONLY IF</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">defining_stmt<sub>1</sub></span><span class="name">defining_stmt<sub>n</sub></span><span class="name">defined_stmt</span><span class="name">defined_stmt</span><span class="name">defining_stmt<sub>1</sub></span><span class="name">defining_stmt<sub>n</sub></span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>k</sub></span><span class="conditional">THEN</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">concl<sub>1</sub></span><span class="name">concl<sub>n</sub></span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>k</sub></span><span class="name">concl<sub>1</sub></span><span class="name">concl<sub>n</sub></span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">-</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>n</sub></span><span class="name">id</span><span class="name">start</span><span class="name">end</span><span class="name">e</span><span class="name">a</span><span class="name">attrs</span><span class="name">-</span><span class="math">S</span><span class="math">I</span><span class="math">x</span><span class="math">S(x)</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">r(a<sub>1</sub>,...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">id</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(-; a<sub>1</sub>,...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">id</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">p</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span><span class="name">a<sub>n</sub></span><span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="conditional">IF AND ONLY IF</span><span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>,[])</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidated</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">a<sub>n</sub></span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="conditional">IF AND ONLY IF</span><span class="name">r(id; ' + 
-'            a<sub>1</sub>,...,a<sub>n</sub>,[])</span><span class="name">alternateOf</span><span class="name">specializationOf</span><span class="name">mentionOf</span><span class="name">activity(id,attrs)</span><span class="conditional">IF ' + 
-'          AND ONLY IF</span><span class="name">activity(id,-,-,attrs)</span><span class="name">wasGeneratedBy(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasGeneratedBy(id; ' + 
-'          e,-,-,attrs)</span><span class="name">used(id; a,attrs)</span><span class="conditional">IF ' + 
-'          AND ONLY IF</span><span class="name">used(id; a,-,-,attrs)</span><span class="name">wasStartedBy(id; a,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasStartedBy(id; ' + 
-'          a,-,-,-,attrs)</span><span class="name">wasEndedBy(id; a,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasEndedBy(id; ' + 
-'          a,-,-,-,attrs)</span><span class="name">wasInvalidatedBy(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasInvalidatedBy(id; ' + 
-'          e,-,-,attrs)</span><span class="name">wasDerivedFrom(id; e2,e1,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasDerivedFrom(id; ' + 
-'          e2,e1,-,-,-,attrs)</span><span class="name">wasAssociatedWith(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasAssociatedWith(id; ' + 
-'          e,-,-,attrs)</span><span class="name">actedOnBehalfOf(id; a2,a1,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">actedOnBehalfOf(id; ' + 
-'          a2,a1,-,attrs)</span><span class="name">-</span><span class="name">-</span><span class="name">-</span><span class="name">wasDerivedFrom</span><span class="name">wasAssociatedWith</span><span class="name">-</span><span class="name">-</span><span class="name">a</span><span class="name">-</span><span class="name">wasDerivedFrom</span><span class="name">g,u</span><span class="name">a</span><span class="name">u</span><span class="name">g</span><span class="name">e1</span><span class="name">e2</span><span class="name">a</span><span class="name">a</span><span class="name">activity(id,-,t2,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">t1</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">t2</span><span class="name">activity(id,t1,-,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">t2</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">t1</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">i</span><span class="name">r</span><span class="name">r</span><span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>, -, a<sub>i+1</sub>, ' + 
-'            ...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">a\'</span><span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span><span class="name">a</span><span class="name">-</span><span class="name">u</span><span class="name">wasDerivedFrom(id;e2,e1,a,-,u,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">g</span><span class="name">wasDerivedFrom(id; ' + 
-'            e2,e1,a,g,u,attrs)</span><span class="name">a</span><span class="name">-</span><span class="name">g</span><span class="name">wasDerivedFrom(id;e2,e1,a,g,-,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">u</span><span class="name">wasDerivedFrom(id; ' + 
-'            e2,e1,a,g,u,attrs)</span><span class="name">wasAssociatedWith(id; ' + 
-'        a,ag,-,attr)</span><span class="name">wasAssociatedWith(id; a,ag,p,attr)</span><span class="name">p</span><span class="name">wasDerivedFrom(id; ' + 
-'        e2,e1,a,gen,use,attrs)</span><span class="name">use</span><span class="name">e1</span><span class="name">gen</span><span class="name">e2</span><span class="name">wasDerivedFrom(id; ' + 
-'        e2,e1,-,-,-,attrs)</span><span class="conditional">IF</span><span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,_attrs)</span><span class="conditional">THEN</span><span class="name">e</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">_use</span><span class="name">_t2</span><span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a1,_t1,[])</span><span class="name">used(_use; a2,e,_t2,[])</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a1,_t1,_attrs1)</span><span class="name">used(_id2; ' + 
-'        a2,e,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">_id</span><span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,[])</span><span class="name">wasInformedBy</span><span class="name">wasInformedBy(a3,a1)</span><span class="name">wasInformedBy(a2,a1)</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="name">a2</span><span class="name">wasInformedBy(a3,a2)</span><span class="name">e2</span><span class="name">e2</span><span class="name">a2</span><span class="name">a3</span><span class="name">e1</span><span class="name">e2</span><span class="name">a3</span><span class="name">a1</span><span class="name">a3</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">entity(e,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_a1</span><span class="name">_t1</span><span class="name">_inv</span><span class="name">_a2</span><span class="name">_t2</span><span class="name">wasGeneratedBy(_gen; ' + 
-'        e,_a1,_t1,[])</span><span class="name">wasInvalidatedBy(_inv; ' + 
-'        e,_a2,_t2,[])</span><span class="conditional">IF</span><span class="name">activity(a,t1,t2,_attrs)</span><span class="conditional">THEN</span><span class="name">_start</span><span class="name">_e1</span><span class="name">_a1</span><span class="name">_end</span><span class="name">_a2</span><span class="name">_e2</span><span class="name">wasStartedBy(_start; ' + 
-'        a,_e1,_a1,t1,[])</span><span class="name">wasEndedBy(_end; ' + 
-'        a,_e2,_a2,t2,[])</span><span class="name">a</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">wasStartedBy(_id; ' + 
-'        a,e1,a1,_t,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span><span class="name">a</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">wasEndedBy(_id; ' + 
-'        a,e1,a1,_t,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span><span class="name">a</span><span class="name">gen2</span><span class="name">use1</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id; ' + 
-'        e2,e1,a,gen2,use1,_attrs)</span><span class="conditional">THEN</span><span class="name">_t1</span><span class="name">_t2</span><span class="name">used(use1; a,e1,_t1,[])</span><span class="name">wasGeneratedBy(gen2; e2,a,_t2,[])</span><span class="name">_a</span><span class="name">_g</span><span class="name">_u</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id; ' + 
-'        e2,e1,_a,_g,_u,[prov:type=\'prov:Revision\'])</span><span class="conditional">THEN</span><span class="name">alternateOf(e2,e1)</span><span class="name">wasDerivedFrom</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_att; ' + 
-'        e,ag,_attrs)</span><span class="conditional">THEN</span><span class="name">a</span><span class="name">_t</span><span class="name">_gen</span><span class="name">_assoc</span><span class="name">_pl</span><span class="name">wasGeneratedBy(_gen; ' + 
-'        e,a,_t,[])</span><span class="name">wasAssociatedWith(_assoc; ' + 
-'        a,ag,_pl,[])</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_id; ' + 
-'        ag1, ag2, a, _attrs)</span><span class="conditional">THEN</span><span class="name">_id1</span><span class="name">_pl1</span><span class="name">_id2</span><span class="name">_pl2</span><span class="name">wasAssociatedWith(_id1; a, ag1, _pl1, [])</span><span class="name">wasAssociatedWith(_id2; a, ag2, _pl2, [])</span><span class="name">-</span><span class="name">_pl1</span><span class="name">_pl2</span><span class="name">-</span><span class="name">wasInfluencedBy</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(id; ' + 
-'          e,a,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, a, attrs)</span><span class="conditional">IF</span><span class="name">used(id; ' + 
-'          a,e,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a, e, attrs)</span><span class="conditional">IF</span><span class="name">wasInformedBy(id; ' + 
-'          a2,a1,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, a1, attrs)</span><span class="conditional">IF</span><span class="name">wasStartedBy(id; ' + 
-'          a2,e,a1,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, e, attrs)</span><span class="conditional">IF</span><span class="name">wasEndedBy(id; ' + 
-'          a2,e,_a1,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, e, attrs)</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, a, attrs)</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g, u, attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e2, e1, attrs)</span><span class="name">a</span><span class="name">g</span><span class="name">u</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, ag, attrs)</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,_pl,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a, ag, attrs)</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,_a,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; ag2, ag1, attrs)</span><span class="name">alternateOf</span><span class="conditional">IF</span><span class="name">entity(e)</span><span class="conditional">THEN</span><span class="name">alternateOf(e,e)</span><span class="conditional">IF</span><span class="name">alternateOf(e1,e2)</span><span class="name">alternateOf(e2,e3)</span><span class="conditional">THEN</span><span class="name">alternateOf(e1,e3)</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><span class="conditional">IF</span><span class="name">specializationOf(e1,e2)</span><span class="name">specializationOf(e2,e3)</span><span class="conditional">THEN</span><span class="name">specializationOf(e1,e3)</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><span class="conditional">IF</span><span class="name">entity(e1, attrs)</span><span class="name">specializationOf(e2,e1)</span><span class="conditional">THEN </span><span class="name">entity(e2, attrs)</span><span class="conditional">IF</span><span class="name">mentionOf(e2,e1,b)</span><span class="conditional">THEN</span><span class="name">specializationOf(e2,e1)</span><span class="name">id</span><span class="name">start</span><span class="name">end</span><span class="name">e</span><span class="name">a</span><span class="name">attrs</span><span class="name">activity(a,2011-11-16T16:00:00,_t1,[a=1])</span><span class="name">activity(a,_t2,2011-11-16T18:00:00,[b=2])</span><span class="name">_t1</span><span class="name">_t2</span><span class="name">a</span><span class="name">activity(a,2011-11-16T16:00:00,2011-11-16T18:00:00,[a=1,b=2])</span><span class="math">S</span><span class="math">S(t) ' + 
-'      = S(t\')</span><span class="name">t</span><span class="name">t\'</span><span class="name">-</span><span class="name">t ' + 
-'        = t\'</span><span class="name">x</span><span class="name">t\'</span><span class="name">-</span><span class="name">[x=t\']</span><span class="name">t\'=x</span><span class="name">t</span><span class="name">-</span><span class="name">x\'</span><span class="name">x</span><span class="name">t</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="name">t<sub>1</sub></span><span class="name">u<sub>1</sub></span><span class="name">t<sub>n</sub></span><span class="name">u<sub>n</sub></span><span class="math">I</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="name">t<sub>1</sub></span><span class="name">u<sub>1</sub></span><span class="name">t<sub>n</sub></span><span class="name">u<sub>n</sub></span><span class="math">I</span><span class="math">I</span><span class="math">S</span><span class="math">S</span><span class="math">I</span><span class="math">S(I)</span><span class="name">a<sub>k</sub></span><span class="conditional">KEY</span><span class="name">r(a<sub>0</sub>; ' + 
-'        a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span><span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span><span class="math">I</span><span class="name">a<sub>k</sub> = b<sub>k</sub></span><span class="name">a<sub>0</sub> ' + 
-'        = b<sub>0</sub> </span><span class="name">a<sub>n</sub> = b<sub>n</sub></span><span class="math">I</span><span class="math">S</span><span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span><span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span><span class="math">I</span><span class="math">I\'</span><span class="name">{r(S(a<sub>0</sub>); S(a<sub>1</sub>),...S(a<sub>n</sub>),attrs1 ' + 
-'        ∪ attrs2)}</span><span class="math">S(I\')</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">entity(id,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">agent(id,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasGeneratedBy(id; ' + 
-'          e,a,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">used(id; a,e,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInformedBy(id; a2,a1,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasStartedBy(id; a2,e,a1,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasEndedBy(id; a2,e,a1,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g2, u1, attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attr)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,pl,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,-,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,a,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInfluencedBy(id; ' + 
-'          o2,o1,attrs)</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen1; ' + 
-'        e,a,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; ' + 
-'        e,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(inv1; ' + 
-'        e,a,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; ' + 
-'        e,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">_t</span><span class="conditional">IF</span><span class="name">wasStartedBy(start1; ' + 
-'        a,_e1,a0,_t1,_attrs1)</span><span class="name">wasStartedBy(start2; ' + 
-'        a,_e2,a0,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">start2</span><span class="conditional">IF</span><span class="name">wasEndedBy(end1; ' + 
-'        a,_e1,a0,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'        a,_e2,a0,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">activity(a2,t1,_t2,_attrs)</span><span class="name">wasStartedBy(_start; a2,_e,_a1,t,_attrs)</span><span class="conditional">THEN</span><span class="name">t1</span><span class="name">t</span><span class="conditional">IF</span><span class="name">activity(a2,_t1,t2,_attrs)</span><span class="name">wasEndedBy(_end; a2,_e,_a1,t,_attrs1)</span><span class="conditional">THEN</span><span class="name">t2</span><span class="name">t</span><span class="conditional">IF</span><span class="name">mentionOf(e, e1, ' + 
-'        b1)</span><span class="name">mentionOf(e, e2, b2)</span><span class="conditional">THEN</span><span class="name">e1</span><span class="name">e2</span><span class="name">b1</span><span class="name">b2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="name">evt1</span><span class="name">evt2</span><span class="conditional">IF</span><span class="name">wasStartedBy(start; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasStartedBy(start1; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasStartedBy(start2; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">start2</span><span class="conditional">IF</span><span class="name">wasEndedBy(end1; ' + 
-'        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasStartedBy(start; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span><span class="name">used(use; ' + 
-'          a,_e2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">use</span><span class="conditional">IF</span><span class="name">used(use; ' + 
-'          a,_e1,_t1,_attrs1)</span><span class="name">wasEndedBy(end; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">use</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasStartedBy(start; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen; ' + 
-'          _e2,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">gen</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'          _e,a,_t,_attrs)</span><span class="name">wasEndedBy(end; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">end</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="conditional">IF</span><span class="name">wasInformedBy(_id; ' + 
-'        a2,a1,_attrs)</span><span class="name">wasStartedBy(start; ' + 
-'        a1,_e1,_a1\',_t1,_attrs1)</span><span class="name">wasEndedBy(end; ' + 
-'        a2,_e2,_a2\',_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'        e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv; ' + 
-'        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'        e,_a1,_t1,_attrs1)</span><span class="name">used(use; ' + 
-'        _a2,e,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">use</span><span class="conditional">IF</span><span class="name">used(use; ' + 
-'        _a1,e,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv; ' + 
-'        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">use</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen1; ' + 
-'        e,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; ' + 
-'        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(inv1; ' + 
-'        e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; ' + 
-'        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">e2</span><span class="name">e1</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">_a</span><span class="name">gen2</span><span class="name">use1</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_d; ' + 
-'        _e2,_e1,_a,gen2,use1,_attrs)</span><span class="conditional">THEN</span><span class="name">use1</span><span class="name">gen2</span><span class="name">_a</span><span class="name">_g</span><span class="name">_u</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_d; ' + 
-'        e2,e1,_a,_g,_u,attrs)</span><span class="name">wasGeneratedBy(gen1; ' + 
-'        e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; ' + 
-'        e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'          e,_a1,_t1,_attrs1)</span><span class="name">wasStartedBy(start; ' + 
-'          _a,e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">start</span><span class="conditional">IF</span><span class="name">wasStartedBy(start; ' + 
-'          _a,e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv; ' + 
-'          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'          e,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end; ' + 
-'          _a,e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasEndedBy(end; ' + 
-'          _a,e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv; ' + 
-'          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">specializationOf(e2,e1)</span><span class="name">wasGeneratedBy(gen1; e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">specializationOf(e1,e2)</span><span class="name">wasInvalidatedBy(inv1; e1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; ' + 
-'          ag,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">inv2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span><span class="name">wasGeneratedBy(gen1; ' + 
-'          ag,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1; ' + 
-'          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'          ag,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc; ' + 
-'          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1; ' + 
-'          ag,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_at; ' + 
-'          e,ag,_attrs)</span><span class="name">wasGeneratedBy(gen1; ' + 
-'          ag,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; ' + 
-'          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_at; ' + 
-'          e,ag,_attrs)</span><span class="name">wasStartedBy(start1; ' + 
-'          ag,_e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; ' + 
-'          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_del; ' + 
-'          ag2,ag1,_a,_attrs)</span><span class="name">wasGeneratedBy(gen1; ' + 
-'          ag1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; ' + 
-'          ag2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">inv2</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_del; ' + 
-'          ag2,ag1,_a,_attrs)</span><span class="name">wasStartedBy(start1; ' + 
-'          ag1,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2; ' + 
-'          ag2,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="name">typeOf</span><span class="name">typeOf(e)</span><span class="name">e</span><span class="name">typeOf</span><span class="name">id</span><span class="name">typeOf(id)</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="name">\'agent\'</span><span class="name">\'prov:Collection\'</span><span class="name">\'prov:EmptyCollection\'</span><span class="name">typeOf</span><span class="name">\'prov:EmptyCollection\'</span><span class="name">\'prov:Collection\'</span><span class="name">\'agent\'</span><span class="name">\'entity\'</span><span class="name">\'plan\'</span><span class="name">\'bundle\'</span><span class="name">wasAssociatedWith</span><span class="name">mentionOf</span><span class="conditional">IF</span><span class="name">entity(e,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">agent(ag,attrs)</span><span class="conditional">THEN</span><span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">activity(a,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">used(u; ' + 
-'          a,e,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen; ' + 
-'          e,a,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">wasInformedBy(id; ' + 
-'          a2,a1,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'activity\' ' + 
-'          isin; typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasStartedBy(id; ' + 
-'          a2,e,a1,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span><span class="name">\'activity\' isin; ' + 
-'          typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasEndedBy(id; ' + 
-'          a2,e,a1,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e)</span><span class="name">\'activity\' isin; ' + 
-'          typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(id; ' + 
-'          e,a,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, a, g2, u1, attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e2)</span><span class="name">\'entity\' isin; typeOf(e1)</span><span class="name">\'activity\' ' + 
-'          isin; typeOf(a)</span><span class="name">a</span><span class="name">g2</span><span class="name">u1</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id; ' + 
-'          e2, e1, -, -, -, attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e2)</span><span class="name">\'entity\' isin; typeOf(e1)</span><span class="conditional">IF</span><span class="name">wasAttributedTo(id; ' + 
-'          e,ag,attr)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,pl,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span><span class="name">\'entity\' isin; ' + 
-'          typeOf(pl)</span><span class="name">pl</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id; ' + 
-'          a,ag,-,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'agent\' ' + 
-'          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(id; ' + 
-'          ag2,ag1,a,attrs)</span><span class="conditional">THEN</span><span class="name">\'agent\' isin; typeOf(ag2)</span><span class="name">\'agent\' ' + 
-'          isin; typeOf(ag1)</span><span class="name">\'activity\' isin; ' + 
-'          typeOf(a)</span><span class="conditional">IF</span><span class="name">alternateOf(e2, ' + 
-'          e1)</span><span class="conditional">THEN</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span><span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span><span class="conditional">IF</span><span class="name">specializationOf(e2, ' + 
-'          e1)</span><span class="conditional">THEN</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span><span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span><span class="conditional">IF</span><span class="name">mentionOf(e2,e1,b)</span><span class="conditional">THEN</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(e2)</span><span class="name">\'entity\' isin; ' + 
-'          typeOf(e1)</span><span class="name">\'entity\' isin; typeOf(b)</span><span class="conditional">IF</span><span class="name">hadMember(c,e)</span><span class="conditional">THEN</span><span class="name">\'prov:Collection\' ' + 
-'          isin; typeOf(c)</span><span class="name">\'entity\' isin; ' + 
-'          typeOf(c)</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">entity(c,[prov:type=\'prov:EmptyCollection\'])</span><span class="conditional">THEN</span><span class="name">\'entity\' ' + 
-'          isin; typeOf(c)</span><span class="name">\'prov:Collection\' ' + 
-'          isin; typeOf(c)</span><span class="name">\'prov:EmptyCollection\' ' + 
-'          isin; typeOf(c)</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="math">I</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="math">I</span><span class="math">I</span><span class="name">wasDerivedFrom(id;e1,e2,-,g,u,attrs)</span><span class="name">g</span><span class="name">u</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,-,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,-,u,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,u,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">specializationOf(e,e)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">r</span><span class="name">s</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">r</span><span class="name">s</span><span class="conditional">IF</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>m</sub>)</span><span class="name">s(id; b<sub>1</sub>,...,b<sub>n</sub>)</span><span class="conditional">THEN INVALID</span><span class="name">wasInfluencedBy</span><span class="name">e2</span><span class="name">e1</span><span class="name">p</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="conditional">IF</span><span class="name">p(id,a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(id; b<sub>1</sub>,...,b<sub>n</sub>)</span><span class="conditional">THEN INVALID</span><span class="conditional">IF</span><span class="name">\'entity\' isin; ' + 
-'        typeOf(id)</span><span class="name">\'activity\' isin; typeOf(id)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">entity(a1)</span><span class="name">agent(a1)</span><span class="name">activity(a1)</span><span class="name">agent(a1)</span><span class="name">agent(Bob, ' + 
-'      [type=prov:Person])</span><span class="name">activity(Bob)</span><span class="conditional">IF</span><span class="name">hasMember(c,e)</span><span class="name">\'prov:EmptyCollection\' isin; typeOf(c)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">owl:sameAs</span><span class="math">I</span><span class="math">I<sub>1</sub></span><span class="math">I<sub>1</sub></span><span class="math">I<sub>2</sub></span><span class="math">I<sub>2</sub></span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I</span><span class="math">I</span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I</span><span class="math">I\'</span><span class="math">I</span><span class="math">I\'</span><span class="math">G</span><span class="math">G</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I\'</span><span class="math">S</span><span class="math">I</span><span class="math">I\'</span><span class="math">S(I) = I\'</span><span class="name">n</span><span class="name">b<sub>1</sub>...b<sub>n</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">B<sub>0</sub></span><span class="name">i</span><span class="name">B<sub>i</sub></span><span class="name">b<sub>i</sub></span><span class="name">b<sub>1</sub>...b<sub>n</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,[b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">(B\'<sub>0</sub>,[b<sub>1</sub>=B\'<sub>1</sub>,...,b<sub>n</sub>=B\'<sub>n</sub>])</span><span class="name">B\'<sub>i</sub></span><span class="name">B<sub>i</sub></span><span class="name">i</span><span class="name">n</span><span class="name">B<sub>0</sub></span><span class="name">B<sub>n</sub></span><span class="name">b<sub>i</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">(B\'<sub>0</sub>,[b<sub>1</sub>\'=B\'<sub>1</sub>,...,b\'<sub>m</sub>=B\'<sub>m</sub>])</span><span class="name">B<sub>0</sub></span><span class="name">B\'<sub>0</sub></span><span class="name">n = m</span><span class="name">P ' + 
-'      : {1..n} -> {1..n}</span><span class="name">i</span><span class="name">b<sub>i</sub> = b\'<sub>P(i)</sub></span><span class="name">B<sub>i</sub></span><span class="name">B\'<sub>P(i)</sub></span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">x = y</span><span class="math">R</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">R</span><span class="math">X</span><span class="math">x R x</span><span class="math">x</span><span class="math">X</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">X</span><span class="math">x R x</span><span class="math">x<sub>1</sub> ' + 
-'        R x<sub>2</sub> R ... R x<sub>n</sub> R x<sub>1</sub>.</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">z</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R z</span><span class="math">x R z</span><span class="math">φ(x<sub>1</sub>,...,x<sub>n</sub>) ' + 
-'            ⇒ ∃y<sub>1</sub>,...,y<sub>m</sub>. ψ(x<sub>1</sub>,...,x<sub>n</sub>,y<sub>1</sub>,...,y<sub>m</sub>)</span><span class="math">x</span><span class="math">ψ</span><span class="math">x</span><span class="math">φ</span><span class="math">r.i</span><span class="math">x</span><span class="math">s.j</span><span class="math">r.i</span><span class="math">s.j</span><span class="math">y</span><span class="math">y</span><span class="math">ψ</span><span class="math">t.k</span><span class="math">r.i</span><span class="math">t.k</span><span class="name">wasGeneratedBy.i</span><span class="name">wasInformedBy.i</span><span class="name">used.i</span><span class="math">i</span><span class="name">attribute(id,a,v)</span><span class="name">r(id;a1,...,a<sub>n</sub>,[(k<sub>1</sub>,v<sub>1</sub>),...,(k<sub>m</sub>,v<sub>m</sub>)])</span><span class="name">r(id;a1,...,a<sub>n</sub>),attribute(id,k<sub>1</sub>,v<sub>1</sub>),...,attribute(id,k<sub>m</sub>,v<sub>m</sub>)</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span></html> ' + 
+divs_hg='http://dvcs.w3.org/hg/prov/file/59973d91fdae/model/prov-dm.html';
+x=''; 
+x=x+ '<html>\n' ; 
+x=x+ '<div style="text-align: left;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="namespace-table">\n' ; 
+x=x+ '          Prefix and Namespaces used in this specification\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 1 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a><b>prefix</b></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>namespace uri</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>definition</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>prov</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            http://www.w3.org/ns/prov#\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            The PROV namespace (see <a class="section-ref" href="#term-NamespaceDeclaration"><span>TBD</span></a>)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>xsd</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            http://www.w3.org/2000/10/XMLSchema#\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            XML Schema Namespace [[!XMLSCHEMA11-2]]\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>rdf</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            http://www.w3.org/1999/02/22-rdf-syntax-ns#\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            The RDF namespace [[!RDF-CONCEPTS]]\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>(others)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            (various)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            All other namespace prefixes are used in examples only. <br /> In\n' ; 
+x=x+ '            particular, URIs starting with "http://example.com" represent<br />\n' ; 
+x=x+ '            some application-dependent URI [[!URI]]\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div style="text-align: center; ">\n' ; 
+x=x+ '      <img src="uml/essentials.png" alt="PROV Core Structures" style="max-width: 70%; " /><br /> PROV Core Structures (Informative)\n' ; 
+x=x+ '    </div><div style="text-align: left;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="overview-types-and-relations">\n' ; 
+x=x+ '          Mapping of PROV core concepts to types and relations\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 2 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a><b>PROV Concepts</b></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>PROV-DM types or relations</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Name</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Overview</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="3" style="text-align: center;">\n' ; 
+x=x+ '            PROV-DM Types\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-Entity">Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-Activity">Activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-agent">Agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Generation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="7" style="text-align: center;">\n' ; 
+x=x+ '            PROV-DM Relations\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasGeneratedBy">WasGeneratedBy</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Usage</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="used">Used</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Communication</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasInformedBy">WasInformedBy</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-entity-activity"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Derivation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasDerivedFrom">WasDerivedFrom</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-derivation"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Attribution</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasAttributedTo">WasAttributedTo</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Association</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasAssociatedWith">WasAssociatedWith</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Delegation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="actedOnBehalfOf">ActedOnBehalfOf</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: center;">\n' ; 
+x=x+ '            <a class="section-ref" href="#section-agents-attribution-association-delegation"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="entity-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        An entity may be the document at URI <a href="http://www.bbc.co.uk/news/science-environment-17526723">http://www.bbc.co.uk/news/science-environment-17526723</a>,\n' ; 
+x=x+ '        a file in a file system, a car, or an idea.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="activity-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        An activity may be the publishing of a document on the Web, sending a\n' ; 
+x=x+ '        twitter message, extracting metadata embedded in a file, driving a car\n' ; 
+x=x+ '        from Boston to Cambridge, assembling a data set based on a set of\n' ; 
+x=x+ '        measurements, performing a statistical analysis over a data set, sorting\n' ; 
+x=x+ '        news items according to some criteria, running a SPARQL query over a\n' ; 
+x=x+ '        triple store, or editing a file.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="generation-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Examples of generation are the completed creation of a file by a\n' ; 
+x=x+ '        program, the completed creation of a linked data set, and the completed\n' ; 
+x=x+ '        publication of a new version of a document.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="usage-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Usage examples include a procedure beginning to consume an argument, a\n' ; 
+x=x+ '        service starting to read a value on a port, a program beginning to read\n' ; 
+x=x+ '        a configuration file, or the point at which an ingredient, such as eggs,\n' ; 
+x=x+ '        is being added in a baking activity. Usage may entirely consume an\n' ; 
+x=x+ '        entity (e.g. eggs are no longer available after being added to the mix);\n' ; 
+x=x+ '        in contrast, the same entity may be used multiple times, possibly by\n' ; 
+x=x+ '        different activities (e.g. a file on a file system can be read\n' ; 
+x=x+ '        indefinitely).\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="driving-a-car">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Let us consider the activity of driving a car from Boston to Cambridge.\n' ; 
+x=x+ '        One might reasonably ask what entities are used and generated by this\n' ; 
+x=x+ '        activity. This is answered by considering that a single artifact may\n' ; 
+x=x+ '        correspond to several entities; in this case, a car in Boston may be a\n' ; 
+x=x+ '        different entity from a car in Cambridge. Thus, among other things, an\n' ; 
+x=x+ '        entity "car in Boston" would be used, and a new entity "car in\n' ; 
+x=x+ '        Cambridge" would be generated by this activity of driving. The\n' ; 
+x=x+ '        provenance trace of the car might include: designed in Japan,\n' ; 
+x=x+ '        manufactured in Korea, shipped to Boston USA, purchased by customer,\n' ; 
+x=x+ '        driven to Cambridge, serviced by engineer in Cambridge, etc., all of\n' ; 
+x=x+ '        which might be important information when deciding whether or not it\n' ; 
+x=x+ '        represents a sensible second-hand purchase. Or some of it might\n' ; 
+x=x+ '        alternatively be relevant when trying to determine the truth of a web\n' ; 
+x=x+ '        page reporting a traffic violation involving that car. This breadth of\n' ; 
+x=x+ '        provenance allows descriptions of interactions between physical and\n' ; 
+x=x+ '        digital artifacts.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="communication-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The activity of writing a celebrity article was informed by (a\n' ; 
+x=x+ '        communication instance) the activity of intercepting voicemails.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="derivation-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Examples of derivation include the transformation of a relational table\n' ; 
+x=x+ '        into a linked data set, the transformation of a canvas into a painting,\n' ; 
+x=x+ '        the transportation of a work of art from London to New York, and a\n' ; 
+x=x+ '        physical transformation such as the melting of ice into water.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="agent-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Software for checking the use of grammar in a document may be defined as\n' ; 
+x=x+ '        an agent of a document preparation activity; one can also describe its\n' ; 
+x=x+ '        provenance, including for instance the vendor and the version history. A\n' ; 
+x=x+ '        site selling books on the Web, the services involved in the processing\n' ; 
+x=x+ '        of orders, and the companies hosting them are also agents.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="attribution-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A blog post can be attributed to an author, a mobile phone to its\n' ; 
+x=x+ '        manufacturer.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="association-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Examples of association between an activity and an agent are:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          creation of a web page under the guidance of a designer;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          various forms of participation in a panel discussion, including\n' ; 
+x=x+ '          audience member, panelist, or panel chair;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          a public event, sponsored by a company, and hosted by a museum;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="delegation-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A student publishing a web page describing an academic department could\n' ; 
+x=x+ '        result in both the student and the department being agents associated\n' ; 
+x=x+ '        with the activity. It may not matter which actual student published a\n' ; 
+x=x+ '        web page, but it may matter significantly that the department told the\n' ; 
+x=x+ '        student to put up the web page.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="association-example2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        An example of association between an activity and an agent involving a\n' ; 
+x=x+ '        plan is: an XSLT transform (an activity) launched by a user (an agent)\n' ; 
+x=x+ '        based on an XSL style sheet (a plan).\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="identifier-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A service may read a same configuration file on two different occasions.\n' ; 
+x=x+ '        Each usage can be identifed by its own identifier, allowing them to be\n' ; 
+x=x+ '        distinguished.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="bundle-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In a decision making situation, decision makers may be presented with\n' ; 
+x=x+ '        the same piece of knowledge, issued by multiple sources. In order to\n' ; 
+x=x+ '        validate this piece of knowledge, decision makers can consider its\n' ; 
+x=x+ '        provenance, but also the provenance of their provenance, which may help\n' ; 
+x=x+ '        determine whether it can be trusted.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample conceptexample" id="collection-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        An example of collection is an archive of documents. Each document has\n' ; 
+x=x+ '        its own provenance, but the archive itself also has some provenance: who\n' ; 
+x=x+ '        maintained it, which documents it contained at which point in time, how\n' ; 
+x=x+ '        it was assembled, etc.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div id="components-overview-div" style="text-align: center;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="components-overview">\n' ; 
+x=x+ '          Components Overview\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 3: -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Component\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Core <br />Structures\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Overview\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Specification\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Description\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style=" padding: 8px;">\n' ; 
+x=x+ '            1\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Entities and Activities\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            ✔\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#section-entity-activity">2.1.1</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component1">5.1</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about entities and activities, and their interrelations\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            2\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Derivation\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            ✔\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#section-derivation">2.1.2</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component3">5.2</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about derivations and its subtypes\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            3\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Agent and Responsibility\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            ✔\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#section-agents-attribution-association-delegation">2.1.3</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component2">5.3</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about agents and concepts ascribing responsibility to them\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            4\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Bundles\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td />\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#section-provenance-of-provnance">2.2.2</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component4">5.4</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about bundles, a mechanism to support provenance of provenance\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            5\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Alternate\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td />\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component5">5.5</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about relations linking entities referring the same thing\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            6\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            Collections\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td />\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#section-collections">2.2.3</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="#component6">5.6</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td style="text-align: left;">\n' ; 
+x=x+ '            about collections\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-prov-n">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        An activity with identifier <span class="name">a1</span> and an\n' ; 
+x=x+ '        attribute <span class="name">type</span> with value <span class="name">createFile</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(a1, [ prov:type="createFile" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      Two entities with identifiers <span class="name">e1</span> and <span class="name">e2</span>.\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(e1)\n' ; 
+x=x+ 'entity(e2)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      The activity <span class="name">a1</span> used <span class="name">e1</span>,\n' ; 
+x=x+ '      and <span class="name">e2</span> was generated by <span class="name">a1</span>.\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'used(a1, e1)\n' ; 
+x=x+ 'wasGeneratedBy(e2, a1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      The same descriptions, but with an explicit identifier <span class="name">u1</span>\n' ; 
+x=x+ '      for the usage, and the syntactic marker \'<span class="name">-</span>\' to\n' ; 
+x=x+ '      mark the absence of identifier in the generation. Both are followed by \'<span class="name">;</span>\'.\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'used(u1; a1, e1)\n' ; 
+x=x+ 'wasGeneratedBy(-; e2, a1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div style="text-align: center; ">\n' ; 
+x=x+ '      <img src="images/dm/w3c-publication1.png" alt="Provenance of a Document (1)" style="max-width: 98%; " /><br />\n' ; 
+x=x+ '      Provenance of a Document (part 1) (Informative)\n' ; 
+x=x+ '       <!--  Figure 2 -->\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="images/dm/w3c-publication2.png" alt="Provenance of a Document (2)" style="max-width: 90%; " /><br />\n' ; 
+x=x+ '      Provenance of a Document (part 2) (Informative)\n' ; 
+x=x+ '       <!--  figure 3 -->\n' ; 
+x=x+ '    </div><div id="prov-dm-components-ul">\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 1: entities and activities.</b> The first component\n' ; 
+x=x+ '          consists of entities, activities, and concepts linking them, such as\n' ; 
+x=x+ '          generation, usage, start, end. The first component is the only one\n' ; 
+x=x+ '          comprising time-related concepts.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 2: derivations.</b> The second component is formed with\n' ; 
+x=x+ '          derivations and derivation subtypes.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 3: agents, responsibility, and influence.</b> The third\n' ; 
+x=x+ '          component consists of agents and concepts ascribing responsibility to\n' ; 
+x=x+ '          agents.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 4: bundles.</b> The fourth component is concerned with\n' ; 
+x=x+ '          bundles, a mechanism to support provenance of provenance.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 5: alternate.</b> The fifth component consists of\n' ; 
+x=x+ '          relations linking entities referring to the same thing.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <b>Component 6: collections.</b> The sixth component is about\n' ; 
+x=x+ '          collections.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="images/dm/components-dependencies.png" alt="PROV-DM Components" style="max-width: 90%; " /> <map id="componentMap">\n' ; 
+x=x+ '      <area title="agents/responsibility" href="#component3" coords="0,0,67,268" alt="agents/responsibility" shape="rect" />\n' ; 
+x=x+ '      <area title="agents/responsibility" href="#component3" coords="67,0,134,201" alt="agents/responsibility" shape="rect" />\n' ; 
+x=x+ '      <area title="agents/responsibility" href="#component3" coords="134,0,201,67" alt="agents/responsibility" shape="rect" />\n' ; 
+x=x+ '      <area title="derivations" href="#component2" coords="201,0,268,201" alt="derivations" shape="rect" />\n' ; 
+x=x+ '      <area title="derivations" href="#component2" coords="134,67,201,201" alt="derivations" shape="rect" />\n' ; 
+x=x+ '      <area title="alternate" href="#component5" coords="268,0,335,67" alt="alternate" shape="rect" />\n' ; 
+x=x+ '      <area title="alternate" href="#component5" coords="335,0,402,201" alt="alternate" shape="rect" />\n' ; 
+x=x+ '      <area title="collections" href="#component6" coords="402,0,469,201" alt="collections" shape="rect" />\n' ; 
+x=x+ '      <area title="activities/entities" href="#component1" coords="67,201,469,268" alt="activities/entities" shape="rect" />\n' ; 
+x=x+ '      <area title="bundles" href="#component4" coords="268,67,402,201" alt="bundles" shape="rect" /></map>\n' ; 
+x=x+ '      <br /> PROV-DM Components (Informative)\n' ; 
+x=x+ '       <!--  Figure 4 -->\n' ; 
+x=x+ '    </div><div id="relations-at-a-glance-div" style="text-align: center;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="relations-at-a-glance">\n' ; 
+x=x+ '          PROV-DM Relations At a Glance\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 4 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td colspan="6">\n' ; 
+x=x+ '            Object\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '            Entity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '            Activity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '            Agent\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td rowspan="3">\n' ; 
+x=x+ '            Subject\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Entity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '            <div class="component2-color">\n' ; 
+x=x+ '              <a class="essential">WasDerivedFrom</a><br /><a>Revision</a><br /><a>Quotation</a><br /><a>PrimarySource</a>\n' ; 
+x=x+ '            </div>\n' ; 
+x=x+ '            <div class="component5-color">\n' ; 
+x=x+ '              <a>AlternateOf</a><br /><a>SpecializationOf</a>\n' ; 
+x=x+ '            </div>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component1-color">\n' ; 
+x=x+ '            <a class="essential" title="wasGeneratedBy">WasGeneratedBy</a><br /><a title="wasInvalidatedBy">WasInvalidatedBy</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component1-color" style="font-style: italic; ">\n' ; 
+x=x+ '            <a title="role">R</a><br /><a title="time">T</a><br /><a title="location">L</a><br />\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color" colspan="2">\n' ; 
+x=x+ '            <a class="essential">WasAttributedTo</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Activity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component1-color">\n' ; 
+x=x+ '            <a class="essential">Used</a><br /><a>WasStartedBy</a><br /><a>WasEndedBy</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component1-color" style="font-style: italic; ">\n' ; 
+x=x+ '            <a title="role">R</a><br /><a title="time">T</a><br /><a title="location">L</a><br />\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2" class="component1-color">\n' ; 
+x=x+ '            <a class="essential">WasInformedBy</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color">\n' ; 
+x=x+ '            <a class="essential">WasAssociatedWith</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color" style="font-style: italic; ">\n' ; 
+x=x+ '            <a title="role">R</a><br />\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Agent\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color" colspan="2">\n' ; 
+x=x+ '            <a class="essential">ActedOnBehalfOf</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="component2-color">\n' ; 
+x=x+ '              <a class="essential">WasDerivedFrom</a><br /><a>Revision</a><br /><a>Quotation</a><br /><a>PrimarySource</a>\n' ; 
+x=x+ '            </div><div class="component5-color">\n' ; 
+x=x+ '              <a>AlternateOf</a><br /><a>SpecializationOf</a>\n' ; 
+x=x+ '            </div><div id="secondary-elements-relations-at-a-glance-div" style="text-align: center;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="secondary-elements-relations-at-a-glance">\n' ; 
+x=x+ '          Secondary optional elements in PROV-DM Relations\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 4 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px;§&gt; " />\n' ; 
+x=x+ '          <td colspan="6">\n' ; 
+x=x+ '            Secondary Object\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Entity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Activity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Agent\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td rowspan="3">\n' ; 
+x=x+ '            Subject\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Entity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component2-color">\n' ; 
+x=x+ '            <a>WasDerivedFrom</a> (<a href="#derivation.activity">activity</a>)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Activity\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color">\n' ; 
+x=x+ '            <a>WasAssociatedWith</a> (<a href="#association.plan">plan</a>)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component1-color">\n' ; 
+x=x+ '            <a>WasStartedBy</a> (<a href="#start.starter">starter</a>)<br /><a>WasEndedBy</a>\n' ; 
+x=x+ '            (<a href="#end.ender">ender</a>)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td colspan="2">\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            Agent\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td class="component3-color">\n' ; 
+x=x+ '            <a>ActedOnBehalfOf</a> (<a href="#delegation.activity">activity</a>)\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div id="prov-dm-types-and-relations-fig" style="text-align: left;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="prov-dm-types-and-relations">\n' ; 
+x=x+ '          PROV-DM Types and Relations\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 6 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a><b>Type or Relation Name</b></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Representation in the PROV-N notation</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Component</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-Entity" class="essential">entity(id, [ attr1=val1,\n' ; 
+x=x+ '            ...])</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="8">\n' ; 
+x=x+ '            <a href="#component1">Component 1: Entities/Activities</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-Activity" class="essential">activity(id, st, et, [\n' ; 
+x=x+ '            attr1=val1, ...])</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Generation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasGeneratedBy"><span class="essential">wasGeneratedBy(</span>id;<span class="essential">e,a</span>,t,attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Usage</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="used"><span class="essential">used(</span>id;<span class="essential">a,e</span>,t,attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Communication</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasInformedBy"><span class="essential">wasInformedBy(</span>id;<span class="essential">a2,a1</span>,attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Start</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasStartedBy">wasStartedBy(id;a2,e,a1,t,attrs)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasEndedBy">wasEndedBy(id;a2,e,a1,t,attrs)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Invalidation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasInvalidatedBy">wasInvalidatedBy(id;e,a,t,attrs)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Derivation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasDerivedFrom"><span class="essential">wasDerivedFrom(</span>id;\n' ; 
+x=x+ '            <span class="essential">e2, e1</span>, a, g2, u1, attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="4">\n' ; 
+x=x+ '            <a href="#component2">Component 2: Derivations</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Revision</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-revision">... prov:type=\'prov:Revision\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Quotation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-quotation">... prov:type=\'prov:Quotation\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Primary Source</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-primary-source">... prov:type=\'prov:PrimarySource\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color" style="border-collapse: collapse; ">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-agent" class="essential">agent(id, [ attr1=val1, ...])</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="9">\n' ; 
+x=x+ '            <a href="#component3">Component 3: Agents, Responsibility, Influence</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Attribution</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasAttributedTo"><span class="essential">wasAttributedTo(</span>id;<span class="essential">e,ag</span>,attr<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Association</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasAssociatedWith"><span class="essential">wasAssociatedWith(</span>id;<span class="essential">a,ag</span>,pl,attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="essential">\n' ; 
+x=x+ '            <a>Delegation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="actedOnBehalfOf"><span class="essential">actedOnBehalfOf(</span>id;<span class="essential">ag2,ag1</span>,a,attrs<span class="essential">)</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Plan</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="plan">... prov:type=\'prov:Plan\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Person</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="person">... prov:type=\'prov:Person\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Organization</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="organization">... prov:type=\'prov:Organization\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="software-agent">SoftwareAgent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="software-agent">... prov:type=\'prov:SoftwareAgent\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Influence</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="wasInfluencedBy">wasInfluencedBy(id;e2,e1,attrs)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component4-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="bundle">Bundle constructor</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="dfn-bundle">bundle id description_1 ... description_n\n' ; 
+x=x+ '            endBundle</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="2">\n' ; 
+x=x+ '            <a href="#component5">Component 4: Bundles</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component4-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="bundle">Bundle type</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="bundle">... prov:type=\'prov:Bundle\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component5-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Alternate</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="alternateOf">alternateOf(alt1, alt2)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="3">\n' ; 
+x=x+ '            <a href="#component4">Component 5: Alternate</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component5-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Specialization</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="specializationOf">specializationOf(infra, supra)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a>Collection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="collection">... prov:type=\'prov:Collection\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="3">\n' ; 
+x=x+ '            <a href="#component6">Component 6: Collections</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="empty collection">EmptyCollection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="empty collection">... prov:type=\'prov:EmptyCollection\' ...</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Membership</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="hadMember">hadMember(c,e)</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component1.png" alt="entities and activities" /><br />\n' ; 
+x=x+ '      Entities and Activities Component Overview (Informative)\n' ; 
+x=x+ '       <!--  Figure 5 -->\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-entity">\n' ; 
+x=x+ '      An <dfn title="dfn-Entity" id="dfn-entity">entity</dfn><span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression" id="pn-entity">entity(id, [attr1=val1,\n' ; 
+x=x+ '      ...])</span> in PROV-N, </span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="entity.id">id</span>: an identifier for an\n' ; 
+x=x+ '          entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="entity.attributes">attributes</span>: an\n' ; 
+x=x+ '          OPTIONAL set of attribute-value pairs ((<span class="name">attr1</span>,\n' ; 
+x=x+ '          <span class="name">val1</span>), ...) representing additional\n' ; 
+x=x+ '          information about the fixed aspects of this entity.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-entity">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expression\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      states the existence of an entity, denoted by identifier <span class="name">tr:WD-prov-dm-20111215</span>,\n' ; 
+x=x+ '      with type <span class="name">document</span> and version number <span class="name">2</span>. The attribute <span class="name">ex:version</span>\n' ; 
+x=x+ '      is application specific, whereas the attribute <span class="name">type</span>\n' ; 
+x=x+ '      (see <a href="#term-attribute-type">Section 5.7.4.4</a>) is reserved in\n' ; 
+x=x+ '      the <a title="prov-namespace">PROV namespace</a>.\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-activity">\n' ; 
+x=x+ '      An <dfn title="dfn-Activity" id="dfn-activity">activity</dfn><span class="withPn">, written <span class="pnExpression" id="pn-activity">activity(id,\n' ; 
+x=x+ '      st, et, [attr1=val1, ...])</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="activity.id">id</span>: an identifier for\n' ; 
+x=x+ '          an activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="activity.startTime">startTime</span>: an\n' ; 
+x=x+ '          OPTIONAL time (<span class="name">st</span>) for the start of the\n' ; 
+x=x+ '          activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="activity.endTime">endTime</span>: an\n' ; 
+x=x+ '          OPTIONAL time (<span class="name">et</span>) for the end of the\n' ; 
+x=x+ '          activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="activity.attributes">attributes</span>: an\n' ; 
+x=x+ '          OPTIONAL set of attribute-value pairs ((<span class="name">attr1</span>,\n' ; 
+x=x+ '          <span class="name">val1</span>), ...) representing additional\n' ; 
+x=x+ '          information about this activity.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-activity">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expression\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(a1, 2011-11-16T16:05:00, 2011-11-16T16:06:00,\n' ; 
+x=x+ '        [ ex:host="server.example.org", prov:type=\'ex:edit\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        states the existence of an activity with identifier <span class="name">a1</span>,\n' ; 
+x=x+ '        start time <span class="name">2011-11-16T16:05:00</span>, and end time\n' ; 
+x=x+ '        <span class="name">2011-11-16T16:06:00</span>, running on host <span class="name">server.example.org</span>, and of type <span class="name">edit</span>.\n' ; 
+x=x+ '        The attribute <span class="name">host</span> is application specific\n' ; 
+x=x+ '        (declared in some namespace with prefix <span class="name">ex</span>).\n' ; 
+x=x+ '        The attribute <span class="name">type</span> is a reserved attribute of\n' ; 
+x=x+ '        PROV-DM, allowing for sub-typing to be expressed (see <a href="#term-attribute-type">Section 5.7.4.4</a>).\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-generation">\n' ; 
+x=x+ '      <dfn title="wasGeneratedBy">Generation</dfn><span class="withPn">, written\n' ; 
+x=x+ '      <span class="pnExpression">wasGeneratedBy(id; e, a, t, attrs)</span> in\n' ; 
+x=x+ '      PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="generation.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for a generation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="generation.entity">entity</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">e</span>) for a created entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="generation.activity">activity</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier (<span class="name">a</span>) for the activity\n' ; 
+x=x+ '          that creates the entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="generation.time">time</span>: an OPTIONAL\n' ; 
+x=x+ '          "generation time" (<span class="name">t</span>), the time at which the\n' ; 
+x=x+ '          entity was completely created;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="generation.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this generation.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-generation1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expressions\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ '  wasGeneratedBy(e1, a1, 2001-10-26T21:32:52, [ ex:port="p1" ])\n' ; 
+x=x+ '  wasGeneratedBy(e2, a1, 2001-10-26T10:00:00, [ ex:port="p2" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        state the existence of two generations (with respective times <span class="name">2001-10-26T21:32:52</span> and <span class="name">2001-10-26T10:00:00</span>),\n' ; 
+x=x+ '        at which new entities, identified by <span class="name">e1</span> and\n' ; 
+x=x+ '        <span class="name">e2</span>, are created by an activity, identified by\n' ; 
+x=x+ '        <span class="name">a1</span>. The first one is available on port <span class="name">p1</span>, whereas the other is available on port <span class="name">p2</span>. The semantics of <span class="name">port</span>\n' ; 
+x=x+ '        are application specific.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-generation2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In some cases, we may want to record the time at which an entity was\n' ; 
+x=x+ '        generated without having to specify the activity that generated it. To\n' ; 
+x=x+ '        support this requirement, the activity element in generation is\n' ; 
+x=x+ '        optional. Hence, the following expression indicates the time at which an\n' ; 
+x=x+ '        entity is generated, without naming the activity that did it.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ '  wasGeneratedBy(e, -, 2001-10-26T21:32:52)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-usage">\n' ; 
+x=x+ '      <dfn title="used">Usage</dfn><span class="withPn">, written <span class="pnExpression">used(id; a, e, t, attrs)</span> in PROV-N,</span>\n' ; 
+x=x+ '      has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="usage.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for a usage;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="usage.activity">activity</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">a</span>) for the activity that used an\n' ; 
+x=x+ '          entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="usage.entity">entity</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">e</span>) for the entity being used;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="usage.time">time</span>: an OPTIONAL\n' ; 
+x=x+ '          "usage time" (<span class="name">t</span>), the time at which the\n' ; 
+x=x+ '          entity started to be used;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="usage.attributes">attributes</span>: an\n' ; 
+x=x+ '          OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this usage.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-usage">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following usages\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ '  used(a1, e1, 2011-11-16T16:00:00, [ ex:parameter="p1" ])\n' ; 
+x=x+ '  used(a1, e2, 2011-11-16T16:00:01, [ ex:parameter="p2" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        state that the activity identified by <span class="name">a1</span> used\n' ; 
+x=x+ '        two entities identified by <span class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span>\n' ; 
+x=x+ '        and <span class="name">2011-11-16T16:00:01</span>, respectively; the\n' ; 
+x=x+ '        first one was found as the value of parameter <span class="name">p1</span>,\n' ; 
+x=x+ '        whereas the second was found as value of parameter <span class="name">p2</span>.\n' ; 
+x=x+ '        The semantics of <span class="name">parameter</span> is application\n' ; 
+x=x+ '        specific.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-wasInformedBy">\n' ; 
+x=x+ '      A <dfn title="wasInformedBy">communication</dfn><span class="withPn">,\n' ; 
+x=x+ '      written as <span class="pnExpression">wasInformedBy(id; a2, a1, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="communication.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier identifying the relation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="communication.informed">informed</span>:\n' ; 
+x=x+ '          the identifier (<span class="name">a2</span>) of the informed\n' ; 
+x=x+ '          activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="communication.informant">informant</span>:\n' ; 
+x=x+ '          the identifier (<span class="name">a1</span>) of the informant\n' ; 
+x=x+ '          activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="communication.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this communication.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-communication">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Consider two activities <span class="name">a1</span> and <span class="name">a2</span>, the former performed by a government agency, and\n' ; 
+x=x+ '        the latter by a driver caught speeding.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(a1, [ prov:type="traffic regulations enforcing" ])\n' ; 
+x=x+ 'activity(a2, [ prov:type="fine paying" ])\n' ; 
+x=x+ 'wasInformedBy(a2, a1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      The last line indicates that some implicit entity was generated by <span class="name">a1</span> and used by <span class="name">a2</span>; this\n' ; 
+x=x+ '      entity may be a traffic ticket that had a notice of fine, amount, and\n' ; 
+x=x+ '      payment mailing details.\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-start">\n' ; 
+x=x+ '      An activity <dfn title="wasStartedBy">start</dfn><span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression">wasStartedBy(id; a2, e, a1, t, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for the activity start;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.activity">activity</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">a2</span>) for the started activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.trigger">trigger</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">e</span>) for the entity triggering the\n' ; 
+x=x+ '          activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.starter">starter</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">a1</span>) for the activity that\n' ; 
+x=x+ '          generated the (possibly unspecified) entity (<span class="name">e</span>);\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.time">time</span>: the OPTIONAL time\n' ; 
+x=x+ '          (<span class="name">t</span>) at which the activity was started;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="start.attributes">attributes</span>: an\n' ; 
+x=x+ '          OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this activity start.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-start1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following example contains the description of an activity <span class="name">a1</span> (a discussion), which was started at a specific\n' ; 
+x=x+ '        time, and was triggered by an email message <span class="name">e1</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(e1, [ prov:type="email message"] )\n' ; 
+x=x+ 'activity(a1, [ prov:type="Discuss" ])\n' ; 
+x=x+ 'wasStartedBy(a1, e1, -, 2011-11-16T16:05:00)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      Furthermore, if the message is also an input to the activity, this can be\n' ; 
+x=x+ '      described as follows:\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'used(a1, e1, -)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Alternatively, one can also describe the activity that generated the\n' ; 
+x=x+ '        email message.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(a0, [ prov:type="Write" ])\n' ; 
+x=x+ 'wasGeneratedBy(e1, a0)\n' ; 
+x=x+ 'wasStartedBy(a1, e1, a0, 2011-11-16T16:05:00)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        If <span class="name">e1</span> is not known, it would also be valid to\n' ; 
+x=x+ '        write:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'wasStartedBy(a1, -, a0, 2011-11-16T16:05:00)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-start2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following example, a race is started by a bang, and\n' ; 
+x=x+ '        responsibility for this trigger is attributed to an agent <span class="name">ex:Bob</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(ex:foot_race)\n' ; 
+x=x+ 'entity(ex:bang)\n' ; 
+x=x+ 'wasStartedBy(ex:foot_race, ex:bang, -, 2012-03-09T08:05:08-05:00)\n' ; 
+x=x+ 'agent(ex:Bob)\n' ; 
+x=x+ 'wasAttributedTo(ex:bang, ex:Bob)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-start3">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this example, filling fuel was started as a consequence of observing\n' ; 
+x=x+ '        low fuel. The trigger entity is unspecified, it could for instance have\n' ; 
+x=x+ '        been the low fuel warning light, the fuel tank indicator needle\n' ; 
+x=x+ '        position, or the engine not running properly.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" id="anexample-start4" xml:space="preserve">\n' ; 
+x=x+ 'activity(ex:filling-fuel)\n' ; 
+x=x+ 'activity(ex:observing-low-fuel)\n' ; 
+x=x+ '\n' ; 
+x=x+ 'agent(ex:driver, [ prov:type=\'prov:Person\'  )\n' ; 
+x=x+ 'wasAssociatedWith(ex:filling-fuel, ex:driver)\n' ; 
+x=x+ 'wasAssociatedWith(ex:observing-low-fuel, ex:driver)\n' ; 
+x=x+ '\n' ; 
+x=x+ 'wasStartedBy(ex:filling-fuel, -, ex:observing-low-fuel, -)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-end">\n' ; 
+x=x+ '      An activity <dfn title="wasEndedBy">end</dfn><span class="withAsn">,\n' ; 
+x=x+ '      written <span class="pnExpression">wasEndedBy(id; a2, e, a1, t, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.id">id</span>: an OPTIONAL identifier\n' ; 
+x=x+ '          for the activity end;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.activity">activity</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">a2</span>) for the ended activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.trigger">trigger</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">e</span>) for the entity triggering the\n' ; 
+x=x+ '          activity ending;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.ender">ender</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">a1</span>) for the activity that\n' ; 
+x=x+ '          generated the (possibly unspecified) entity (<span class="name">e</span>);\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.time">time</span>: the OPTIONAL time (<span class="name">t</span>) at which the activity was ended;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="end.attributes">attributes</span>: an\n' ; 
+x=x+ '          OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this activity end.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-end">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following example is a description of an activity <span class="name">a1</span>\n' ; 
+x=x+ '        (editing) that was ended following an approval document <span class="name">e1</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(e1, [ prov:type="approval document" ])\n' ; 
+x=x+ 'activity(a1, [ prov:type="Editing" ])\n' ; 
+x=x+ 'wasEndedBy(a1, e1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-invalidation">\n' ; 
+x=x+ '      <dfn title="wasInvalidatedBy">Invalidation</dfn><span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression">wasInvalidatedBy(id; e, a, t, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="invalidation.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for a invalidation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="invalidation.entity">entity</span>: an\n' ; 
+x=x+ '          identifier for the invalidated entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="invalidation.activity">activity</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier for the activity that invalidated the entity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="invalidation.time">time</span>: an\n' ; 
+x=x+ '          OPTIONAL "invalidation time", the time at which the entity began to be\n' ; 
+x=x+ '          invalidated;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="invalidation.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set of attribute-value pairs representing additional\n' ; 
+x=x+ '          information about this invalidation.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-invalidation1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <em>The Painter</em>, a Picasso painting, is known to have been\n' ; 
+x=x+ '        destroyed in a <a href="http://en.wikipedia.org/wiki/Lost_artworks#20th_century">plane\n' ; 
+x=x+ '        accident</a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(ex:The-Painter)\n' ; 
+x=x+ 'agent(ex:Picasso)\n' ; 
+x=x+ 'wasAttributedTo(ex:The-Painter, ex:Picasso)\n' ; 
+x=x+ 'activity(ex:crash)\n' ; 
+x=x+ 'wasInvalidatedBy(ex:The-Painter, ex:crash, 1998-09-03T01:31:00, [ ex:circumstances="plane accident" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-invalidation2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The BBC news home page on 2012-04-03 <span class="name">ex:bbcNews2012-04-03</span>\n' ; 
+x=x+ '        contained a reference to a given news item <a href="http://www.bbc.co.uk/news/uk-17595024">bbc:news/uk-17595024</a>,\n' ; 
+x=x+ '        but the BBC news home page on the next day did not.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(ex:bbcNews2012-04-03)\n' ; 
+x=x+ 'hadMember(ex:bbcNews2012-04-03, bbc:news/uk-17595024)\n' ; 
+x=x+ 'wasGeneratedBy  (ex:bbcNews2012-04-03, -, 2012-04-03T00:00:01)\n' ; 
+x=x+ 'wasInvalidatedBy(ex:bbcNews2012-04-03, -, 2012-04-03T23:59:59)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      We refer to example <a href="#anexample-specialization" class="anexample-ref"><span>Example REF</span></a> for further\n' ; 
+x=x+ '      descriptions of the BBC Web site, and to <a href="#term-membership">Section\n' ; 
+x=x+ '      5.6.2</a> for a description of the relation <a title="hadMember">hadMember</a>.\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-invalidation3">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this example, the "buy one beer, get one free" offer expired at the\n' ; 
+x=x+ '        end of the happy hour.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(buy_one_beer_get_one_free_offer_during_happy_hour)\n' ; 
+x=x+ 'wasAttributedTo(buy_one_beer_get_one_free_offer_during_happy_hour, proprietor)\n' ; 
+x=x+ 'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,\n' ; 
+x=x+ '                 -,2012-03-10T18:00:00)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In contrast, in the following descriptions, Bob redeemed the offer 45\n' ; 
+x=x+ '        minutes before it expired, and got two beers.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(buy_one_beer_get_one_free_offer_during_happy_hour)\n' ; 
+x=x+ 'wasAttributedTo(buy_one_beer_get_one_free_offer_during_happy_hour, proprietor)\n' ; 
+x=x+ 'activity(redeemOffer)\n' ; 
+x=x+ 'entity(twoBeers)\n' ; 
+x=x+ '\n' ; 
+x=x+ 'wasAssociatedWith(redeemOffer, bob)\n' ; 
+x=x+ 'used(redeemOffer,\n' ; 
+x=x+ '     buy_one_beer_get_one_free_offer_during_happy_hour, \n' ; 
+x=x+ '     2012-03-10T17:15:00)\n' ; 
+x=x+ 'wasInvalidatedBy(buy_one_beer_get_one_free_offer_during_happy_hour,\n' ; 
+x=x+ '                 redeemOffer,\n' ; 
+x=x+ '                 2012-03-10T17:15:00)\n' ; 
+x=x+ 'wasGeneratedBy(twoBeers,redeemOffer)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        We see that the offer was both used to be converted into <span class="name">twoBeers</span> and invalidated by the <span class="name">redeemOffer</span>\n' ; 
+x=x+ '        activity: in other words, the combined usage and invalidation indicate\n' ; 
+x=x+ '        consumption of the offer.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component2.png" alt="derivation" /><br /> Derivation Component\n' ; 
+x=x+ '      Overview (Informative)\n' ; 
+x=x+ '       <!--  Figure 6 -->\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-derivation">\n' ; 
+x=x+ '      A <dfn title="wasDerivedFrom">derivation</dfn><span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression" id="pn-wasDerivedFrom">wasDerivedFrom(id;\n' ; 
+x=x+ '      e2, e1, a, g2, u1, attrs)</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for a derivation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.generatedEntity">generatedEntity</span>:\n' ; 
+x=x+ '          the identifier (<span class="name">e2</span>) of the entity generated\n' ; 
+x=x+ '          by the derivation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.usedEntity">usedEntity</span>:\n' ; 
+x=x+ '          the identifier (<span class="name">e1</span>) of the entity used by\n' ; 
+x=x+ '          the derivation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.activity">activity</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier (<span class="name">a</span>) for the activity\n' ; 
+x=x+ '          using and generating the above entities;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.generation">generation</span>:\n' ; 
+x=x+ '          an OPTIONAL identifier (<span class="name">g2</span>) for the\n' ; 
+x=x+ '          generation involving the generated entity (<span class="name">e2</span>)\n' ; 
+x=x+ '          and activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.usage">usage</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier (<span class="name">u1</span>) for the usage\n' ; 
+x=x+ '          involving the used entity (<span class="name">e1</span>) and activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="derivation.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this derivation.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-derivation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following descriptions are about derivations between <span class="name">e2</span> and <span class="name">e1</span>, but no\n' ; 
+x=x+ '        information is provided as to the identity of the activity (and usage\n' ; 
+x=x+ '        and generation) underpinning the derivation. In the second line, a type\n' ; 
+x=x+ '        attribute is also provided.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'wasDerivedFrom(e2, e1)\n' ; 
+x=x+ 'wasDerivedFrom(e2, e1, [ prov:type="physical transform" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following description expresses that activity <span class="name">a</span>,\n' ; 
+x=x+ '        using the entity <span class="name">e1</span> according to usage <span class="name">u1</span>, derived the entity <span class="name">e2</span>\n' ; 
+x=x+ '        and generated it according to generation <span class="name">g2</span>.\n' ; 
+x=x+ '        It is followed by descriptions for generation <span class="name">g2</span>\n' ; 
+x=x+ '        and usage <span class="name">u1</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'wasDerivedFrom(e2, e1, a, g2, u1)\n' ; 
+x=x+ 'wasGeneratedBy(g2; e2, a, -)\n' ; 
+x=x+ 'used(u1; a, e1, -)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        With such a comprehensive description of derivation, a program that\n' ; 
+x=x+ '        analyzes provenance can identify the activity underpinning the\n' ; 
+x=x+ '        derivation, it can identify how the preceding entity <span class="name">e1</span>\n' ; 
+x=x+ '        was used by the activity (e.g. for instance, which argument it was\n' ; 
+x=x+ '        passed as, if the activity is the result of a function invocation), and\n' ; 
+x=x+ '        which output the derived entity <span class="name">e2</span> was\n' ; 
+x=x+ '        obtained from (say, for a function returning multiple results).\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-revision">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Revisiting the example of <a href="#section-example-two">Section 4.2</a>,\n' ; 
+x=x+ '        we can now state that the report <span class="name">tr:WD-prov-dm-20111215</span>\n' ; 
+x=x+ '        was a revision of the report <span class="name">tr:WD-prov-dm-20111018</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111215, [ prov:type=\'rec54:WD\'  ])\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111018, [ prov:type=\'rec54:WD\'  ])\n' ; 
+x=x+ 'wasDerivedFrom(tr:WD-prov-dm-20111215, \n' ; 
+x=x+ '               tr:WD-prov-dm-20111018, \n' ; 
+x=x+ '               [ prov:type=\'prov:Revision\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-quotation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following paragraph is a quote from one of <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/">the\n' ; 
+x=x+ '        author\'s blogs</a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <blockquote id="bl-dagstuhl" />\n' ; 
+x=x+ '      <em> "During the workshop, it became clear to me that the consensus based\n' ; 
+x=x+ '      models (which are often graphical in nature) can not only be formalized\n' ; 
+x=x+ '      but also be directly connected to these database focused formalizations. I\n' ; 
+x=x+ '      just needed to get over the differences in syntax. This could imply that\n' ; 
+x=x+ '      we could have nice way to trace provenance across systems and through\n' ; 
+x=x+ '      databases and be able to understand the mathematical properties of this\n' ; 
+x=x+ '      interconnection."</em>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        If <a href="http://thinklinks.wordpress.com/2012/03/07/thoughts-from-the-dagstuhl-principles-of-provenance-workshop/"><span class="name">wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/</span></a>\n' ; 
+x=x+ '        denotes the original blog by agent <span class="name">ex:Paul</span>,\n' ; 
+x=x+ '        and <a href="#bl-dagstuhl"><span class="name">dm:bl-dagstuhl</span></a>\n' ; 
+x=x+ '        denotes the above paragraph, then the following descriptions express\n' ; 
+x=x+ '        that the above paragraph was copied by agent <span class="name">ex:Luc</span>\n' ; 
+x=x+ '        from a part of the blog, attributed to the agent <span class="name">ex:Paul</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)\n' ; 
+x=x+ 'entity(dm:bl-dagstuhl)\n' ; 
+x=x+ 'agent(ex:Luc)\n' ; 
+x=x+ 'agent(ex:Paul)\n' ; 
+x=x+ 'wasDerivedFrom(dm:bl-dagstuhl,\n' ; 
+x=x+ '               wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,\n' ; 
+x=x+ '               [ prov:type=\'prov:Quotation\' ])\n' ; 
+x=x+ 'wasAttributedTo(dm:bl-dagstuhl, ex:Luc)\n' ; 
+x=x+ 'wasAttributedTo(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/, ex:Paul)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-primary-source1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Let us consider Charles Joseph Minard\'s flow map of Napoleon\'s March in\n' ; 
+x=x+ '        1812, which was published in 1869. Although the map is not a primary\n' ; 
+x=x+ '        source, Minard probably used the journal of Pierre-Irénée Jacob,\n' ; 
+x=x+ '        pharmacist to Napoleon\'s army during the Russian campaign. This primary\n' ; 
+x=x+ '        source relation can be encoded as follows.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(ex:la-campagne-de-Russie-1812-1813, [ prov:type="map" ])\n' ; 
+x=x+ 'entity(ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII, [ prov:type="journal" ])\n' ; 
+x=x+ 'wasDerivedFrom(ex:la-campagne-de-Russie-1812-1813,\n' ; 
+x=x+ '               ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII,\n' ; 
+x=x+ '               [ prov:type=\'prov:PrimarySource\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component3.png" alt="agents and responsibilities" /><br />\n' ; 
+x=x+ '      Agents and Responsibility Overview (Informative)\n' ; 
+x=x+ '       <!--  Figure 7 -->\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/Component3b.png" alt="Influence Overview" /><br /> Influence\n' ; 
+x=x+ '      Overview (Informative)\n' ; 
+x=x+ '       <!--  Figure 8 -->\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-agent">\n' ; 
+x=x+ '      An <dfn title="dfn-agent" id="dfn-agent">agent</dfn><span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression" id="pn-agent">agent(id, [attr1=val1,\n' ; 
+x=x+ '      ...])</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="agent.id">id</span>: an identifier for an\n' ; 
+x=x+ '          agent;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="agent.attributes">attributes</span>: a set\n' ; 
+x=x+ '          of attribute-value pairs ((<span class="name">attr1</span>, <span class="name">val1</span>), ...) representing additional information\n' ; 
+x=x+ '          about this agent.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="glossary-ref" /><div class="glossary-ref" /><div class="anexample">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expression is about an agent identified by <span class="name">e1</span>, which is a person, named Alice, with employee\n' ; 
+x=x+ '        number 1234.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'agent(e1, [ex:employee="1234", ex:name="Alice", prov:type=\'prov:Person\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        It is optional to specify the type of an agent. When present, it is\n' ; 
+x=x+ '        expressed using the <span class="name">prov:type</span> attribute.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-attribution">\n' ; 
+x=x+ '      An <dfn title="wasAttributedTo">attribution</dfn> relation<span class="withPn">, written <span class="pnExpression">wasAttributedTo(id; e,\n' ; 
+x=x+ '      ag, attrs)</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="attribution.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for the relation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="attribution.entity">entity</span>: an\n' ; 
+x=x+ '          entity identifier (<span class="name">e</span>);\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="attribution.agent">agent</span>: the\n' ; 
+x=x+ '          identifier (<span class="name">ag</span>) of the agent whom the entity\n' ; 
+x=x+ '          is ascribed to, and therefore bears some responsibility for its\n' ; 
+x=x+ '          existence;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="attribution.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this attribution.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-attribution">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Revisiting the example of <a class="section-ref" href="#section-example-one"><span>TBD</span></a>, we can ascribe <span class="name">tr:WD-prov-dm-20111215</span> to some agents without an\n' ; 
+x=x+ '        explicit activity. The reserved attribute <span class="name">role</span>\n' ; 
+x=x+ '        (see <a class="section-ref" href="#term-attribute-role"><span>TBD</span></a>)\n' ; 
+x=x+ '        allows for role of the agent in the attribution to be specified.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'agent(ex:Paolo, [ prov:type=\'prov:Person\' ])\n' ; 
+x=x+ 'agent(ex:Simon, [ prov:type=\'prov:Person\' ])\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111215, [ prov:type=\'rec54:WD\' ])\n' ; 
+x=x+ 'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Paolo, [ prov:type="editorship" ])\n' ; 
+x=x+ 'wasAttributedTo(tr:WD-prov-dm-20111215, ex:Simon, [ prov:type="authorship" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="glossary-ref" /><div class="attributes" id="attributes-activity-association">\n' ; 
+x=x+ '      An <dfn title="wasAssociatedWith">activity association</dfn><span class="withPn">, written <span class="pnExpression">wasAssociatedWith(id;\n' ; 
+x=x+ '      a, ag, pl, attrs)</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="association.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for the association between an activity and an agent;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="association.activity">activity</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">a</span>) for the activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="association.agent">agent</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier (<span class="name">ag</span>) for the agent\n' ; 
+x=x+ '          associated with the activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="association.plan">plan</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier (<span class="name">pl</span>) for the plan the agent\n' ; 
+x=x+ '          relied on in the context of this activity;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="association.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this association of\n' ; 
+x=x+ '          this activity with this agent.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-wasAssociatedWith">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following example, a designer agent and an operator agent are\n' ; 
+x=x+ '        associated with an activity. The designer\'s goals are achieved by a\n' ; 
+x=x+ '        workflow <span class="name">ex:wf</span>, described as an entity of type\n' ; 
+x=x+ '        <span class="name"><a>plan</a></span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(ex:a, [ prov:type="workflow execution" ])\n' ; 
+x=x+ 'agent(ex:ag1,  [ prov:type="operator" ])\n' ; 
+x=x+ 'agent(ex:ag2,  [ prov:type="designer" ])\n' ; 
+x=x+ 'wasAssociatedWith(ex:a, ex:ag1, -,     [ prov:role="loggedInUser", ex:how="webapp" ])\n' ; 
+x=x+ 'wasAssociatedWith(ex:a, ex:ag2, ex:wf, [ prov:role="designer", ex:context="project1" ])\n' ; 
+x=x+ 'entity(ex:wf, [ prov:type=\'prov:Plan\' , \n' ; 
+x=x+ '                ex:label="Workflow 1", \n' ; 
+x=x+ '                prov:location="http://example.org/workflow1.bpel" %% xsd:anyURI ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      Since the workflow <span class="name">ex:wf</span> is itself an entity,\n' ; 
+x=x+ '      its provenance can also be expressed in PROV-DM: it can be generated by\n' ; 
+x=x+ '      some activity and derived from other entities, for instance.\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-wasAssociatedWith-2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In some cases, one wants to indicate a plan was followed, without having\n' ; 
+x=x+ '        to specify which agent was involved.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(ex:a, [ prov:type="workflow execution" ])\n' ; 
+x=x+ 'wasAssociatedWith(ex:a, -, ex:wf)\n' ; 
+x=x+ 'entity(ex:wf, [ prov:type=\'prov:Plan\', \n' ; 
+x=x+ '                ex:label="Workflow 1", \n' ; 
+x=x+ '                ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      In this case, it is assumed that an agent exists, but it has not been\n' ; 
+x=x+ '      specified.\n' ; 
+x=x+ '    </div><div class="glossary-ref" /><div class="attributes" id="attributes-delegation">\n' ; 
+x=x+ '      A <dfn title="actedOnBehalfOf">delegation</dfn> link<span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression">actedOnBehalfOf(id; ag2, ag1, a, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="delegation.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier for the delegation link between delegate and responsible;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="delegation.delegate">delegate</span>: an\n' ; 
+x=x+ '          identifier (<span class="name">ag2</span>) for the agent associated\n' ; 
+x=x+ '          with an activity, acting on behalf of the responsible agent;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="delegation.responsible">responsible</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">ag1</span>) for the agent, on behalf\n' ; 
+x=x+ '          of which the delegate agent acted;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="delegation.activity">activity</span>: an\n' ; 
+x=x+ '          OPTIONAL identifier (<span class="name">a</span>) of an activity for\n' ; 
+x=x+ '          which the delegation link holds;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="delegation.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this delegation link.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following fragment describes three agents: a programmer, a\n' ; 
+x=x+ '        researcher, and a funder. The programmer and researcher are associated\n' ; 
+x=x+ '        with a workflow activity. The programmer acts on behalf of the\n' ; 
+x=x+ '        researcher (line-management) encoding the commands specified by the\n' ; 
+x=x+ '        researcher; the researcher acts on behalf of the funder, who has a\n' ; 
+x=x+ '        contractual agreement with the researcher. The terms \'line-management\'\n' ; 
+x=x+ '        and \'contract\' used in this example are domain specific.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'activity(a,[ prov:type="workflow" ])\n' ; 
+x=x+ 'agent(ag1, [ prov:type="programmer" ])\n' ; 
+x=x+ 'agent(ag2, [ prov:type="researcher" ])\n' ; 
+x=x+ 'agent(ag3, [ prov:type="funder" ])\n' ; 
+x=x+ 'wasAssociatedWith(a, ag1, [ prov:role="loggedInUser" ])\n' ; 
+x=x+ 'wasAssociatedWith(a, ag2)\n' ; 
+x=x+ 'wasAssociatedWith(a, ag3)\n' ; 
+x=x+ 'actedOnBehalfOf(ag1, ag2, a, [ prov:type="line-management" ])\n' ; 
+x=x+ 'actedOnBehalfOf(ag2, ag3, a, [ prov:type="contract" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-influence">\n' ; 
+x=x+ '      A <dfn title="wasInfluencedBy">Influence</dfn> relation<span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression">wasInfluencedBy(id; o2, o1, attrs)</span>\n' ; 
+x=x+ '      in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="influence.id">id</span>: an OPTIONAL\n' ; 
+x=x+ '          identifier identifying the relation;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="influence.influencee">influencee</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">o2</span>) for an entity, activity,\n' ; 
+x=x+ '          or agent;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="influence.influencer">influencer</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">o1</span>) for an ancestor entity,\n' ; 
+x=x+ '          activity, or agent that the former depends on;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="influence.attributes">attributes</span>:\n' ; 
+x=x+ '          an OPTIONAL set (<span class="name">attrs</span>) of attribute-value\n' ; 
+x=x+ '          pairs representing additional information about this relation.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div id="mapping-relations-to-influence-table" style="text-align: left;">\n' ; 
+x=x+ '      The following table establishes the correspondence between the attributes\n' ; 
+x=x+ '      <a class="attribute" href="#influence.influencee">influencee</a> and <a class="attribute" href="#influence.influencer">influencer</a>, and\n' ; 
+x=x+ '      attributes of <a>usage</a>, <a>start</a>, <a>end</a>, <a>generation</a>,\n' ; 
+x=x+ '      <a>invalidation</a>, <a>communication</a>, <a>derivation</a>, <a>attribution</a>,\n' ; 
+x=x+ '      <a>association</a>, and <a>delegation</a>.\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="mapping-relations-to-influence-table_">\n' ; 
+x=x+ '          Mapping Relations to Influence\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 7 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a><b>Relation Name</b></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b><a class="attribute" href="#influence.influencee">influencee</a></b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b><a class="attribute" href="#influence.influencer">influencer</a></b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Generation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#generation.entity">entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#generation.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Usage</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#usage.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#usage.entity">entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Communication</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#communication.informed">informed</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#communication.informant">informant</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Start</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#start.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#start.trigger">trigger</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#end.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#end.trigger">trigger</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Invalidation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#invalidation.entity">entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#invalidation.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Derivation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#derivation.generatedEntity">generatedEntity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#derivation.usedEntity">usedEntity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Attribution</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#attribution.entity">entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#attribution.agent">agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Association</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#association.activity">activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#association.agent">agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Delegation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#delegation.delegate">delegate</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="attribute" href="#delegation.responsible">responsible</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="anexample" id="influence-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        We refer to the example of <a class="section-ref" href="#section-example-two"><span>TBD</span></a>, and specifically to <a href="#prov-a-document2-top">Figure 3</a>. We could have expressed that\n' ; 
+x=x+ '        the influence of <span class="name">w3:Consortium</span> on <span class="name">tr:WD-prov-dm-20111215</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' wasInfluencedBy(tr:WD-prov-dm-20111215, w3:Consortium)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      Instead, it is recommended to express the more specific description:\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' wasAttributedTo(tr:WD-prov-dm-20111215, w3:Consortium)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component4.png" alt="bundles" /><br /> Bundle Component\n' ; 
+x=x+ '      Overview (Informative)\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-bundle">\n' ; 
+x=x+ '      A <dfn title="dfn-bundle" id="dfn-bundle-constructor">bundle constructor</dfn>\n' ; 
+x=x+ '      allows the content and the name of a bundle to be specified; it is written\n' ; 
+x=x+ '      <span class="pnExpression">bundle id description_1 ... description_n\n' ; 
+x=x+ '      endBundle</span> and consists of:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="bundle.constructor.id">id</span>: an\n' ; 
+x=x+ '          identifier for the bundle;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="bundle.constructor.descriptions">descriptions</span>:\n' ; 
+x=x+ '          a set of provenance descriptions <span class="name"> description_1</span>,\n' ; 
+x=x+ '          ..., <span class="name">description_n</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A bundle\'s identifier <span class="name">id</span> identifies a unique\n' ; 
+x=x+ '        set of descriptions.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-provenance-of-provenance">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Let us consider two entities <span class="name">ex:report1</span> and\n' ; 
+x=x+ '        <span class="name">ex:report2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'entity(ex:report1, [ prov:type="report", ex:version=1 ])\n' ; 
+x=x+ 'wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)\n' ; 
+x=x+ 'entity(ex:report2, [ prov:type="report", ex:version=2])\n' ; 
+x=x+ 'wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)\n' ; 
+x=x+ 'wasDerivedFrom(ex:report2, ex:report1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Let us assume that Bob observed the creation of <span class="name">ex:report1</span>.\n' ; 
+x=x+ '        A first bundle can be expressed.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'bundle bob:bundle1\n' ; 
+x=x+ '  entity(ex:report1, [ prov:type="report", ex:version=1 ])\n' ; 
+x=x+ '  wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)\n' ; 
+x=x+ 'endBundle\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In contrast, Alice observed the creation of <span class="name">ex:report2</span>\n' ; 
+x=x+ '        and its derivation from <span class="name">ex:report1</span>. A separate\n' ; 
+x=x+ '        bundle can also be expressed.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'bundle alice:bundle2\n' ; 
+x=x+ '  entity(ex:report1)\n' ; 
+x=x+ '  entity(ex:report2, [ prov:type="report", ex:version=2 ])\n' ; 
+x=x+ '  wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)\n' ; 
+x=x+ '  wasDerivedFrom(ex:report2, ex:report1)\n' ; 
+x=x+ 'endBundle\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The first bundle contains the descriptions corresponding to Bob\n' ; 
+x=x+ '        observing the creation of <span class="name">ex:report1</span>. Its\n' ; 
+x=x+ '        provenance can be described as follows.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'entity(bob:bundle1, [ prov:type=\'prov:Bundle\' ])\n' ; 
+x=x+ 'wasGeneratedBy(bob:bundle1, -, 2012-05-24T10:30:00)\n' ; 
+x=x+ 'wasAttributedTo(bob:bundle1, ex:Bob)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In contrast, the second bundle is attributed to Alice who observed the\n' ; 
+x=x+ '        derivation of <span class="name">ex:report2</span> from <span class="name">ex:report1</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'entity(alice:bundle2, [ prov:type=\'prov:Bundle\' ])\n' ; 
+x=x+ 'wasGeneratedBy(alice:bundle2, -, 2012-05-25T11:15:00)\n' ; 
+x=x+ 'wasAttributedTo(alice:bundle2, ex:Alice)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-provenance-aggregation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A provenance aggregator could merge two bundles, resulting in a novel\n' ; 
+x=x+ '        bundle, whose provenance is described as follows.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ 'bundle agg:bundle3\n' ; 
+x=x+ '  entity(ex:report1, [ prov:type="report", ex:version=1 ])\n' ; 
+x=x+ '  wasGeneratedBy(ex:report1, -, 2012-05-24T10:00:01)\n' ; 
+x=x+ '\n' ; 
+x=x+ '  entity(ex:report2, [ prov:type="report", ex:version=2 ])\n' ; 
+x=x+ '  wasGeneratedBy(ex:report2, -, 2012-05-25T11:00:01)\n' ; 
+x=x+ '  wasDerivedFrom(ex:report2, ex:report1)\n' ; 
+x=x+ 'endBundle\n' ; 
+x=x+ '\n' ; 
+x=x+ 'entity(agg:bundle3, [ prov:type=\'prov:Bundle\' ])\n' ; 
+x=x+ 'agent(ex:aggregator01, [ prov:type=\'ex:Aggregator\' ])\n' ; 
+x=x+ 'wasAttributedTo(agg:bundle3, ex:aggregator01)\n' ; 
+x=x+ 'wasDerivedFrom(agg:bundle3, bob:bundle1)\n' ; 
+x=x+ 'wasDerivedFrom(agg:bundle3, alice:bundle2)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The new bundle is given a new identifier <span class="name">agg:bundle3</span>\n' ; 
+x=x+ '        and is attributed to the <span class="name">ex:aggregator01</span>\n' ; 
+x=x+ '        agent.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component5.png" alt="alternates" /><br /> Alternates Component\n' ; 
+x=x+ '      Overview (Informative)\n' ; 
+x=x+ '    </div><div class="anexample" id="entity-example1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        User Alice writes an article. In its provenance, she wishes to refer to\n' ; 
+x=x+ '        the precise version of the article with a date-specific IRI, as she\n' ; 
+x=x+ '        might edit the article later. Alternatively, user Bob refers to the\n' ; 
+x=x+ '        article in general, independently of its variants over time.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-specialization">\n' ; 
+x=x+ '      A <dfn title="specializationOf">specialization</dfn> relation<span class="withPn">, written <span class="pnExpression">specializationOf(infra,\n' ; 
+x=x+ '      supra)</span> in PROV-N,</span> has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="specialization.specificEntity">specificEntity</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">infra</span>) of the entity that is\n' ; 
+x=x+ '          a specialization of the general entity (<span class="name">supra</span>);\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="specialization.generalEntity">generalEntity</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">supra</span>) of the entity that is\n' ; 
+x=x+ '          being specialized.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-specialization">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The BBC news home page on 2012-03-23 <span class="name">ex:bbcNews2012-03-23</span>\n' ; 
+x=x+ '        is a specialization of the BBC news page in general <a href="http://www.bbc.co.uk/news/">bbc:news/</a>. This can be expressed\n' ; 
+x=x+ '        as follows.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'specializationOf(ex:bbcNews2012-03-23, bbc:news/)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      We have created a new qualified name, <span class="name">ex:bbcNews2012-03-23</span>,\n' ; 
+x=x+ '      in the namespace <span class="name">ex</span>, to identify the specific\n' ; 
+x=x+ '      page carrying this day\'s news, which would otherwise be the generic <span class="name">bbc:news/</span> page.\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-alternate">\n' ; 
+x=x+ '      An <dfn title="alternateOf">alternate</dfn> relation<span class="withPn">,\n' ; 
+x=x+ '      written <span class="pnExpression">alternateOf(e1, e2)</span> in PROV-N,</span>\n' ; 
+x=x+ '      has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="alternate.alternate1">alternate1</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">e1</span>) of the first of the two\n' ; 
+x=x+ '          entities;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="alternate.alternate2">alternate2</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">e2</span>) of the second of the two\n' ; 
+x=x+ '          entities.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-alternate">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A given news item on the BBC News site <a href="http://www.bbc.co.uk/news/science-environment-17526723">bbc:news/science-environment-17526723</a>\n' ; 
+x=x+ '        for desktop is an alternate of a <a href="http://www.bbc.co.uk/news/mobile/science-environment-17526723">bbc:news/mobile/science-environment-17526723</a>\n' ; 
+x=x+ '        for mobile devices.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(bbc:news/science-environment-17526723, \n' ; 
+x=x+ '       [ prov:type="a news item for desktop"])\n' ; 
+x=x+ 'entity(bbc:news/mobile/science-environment-17526723, \n' ; 
+x=x+ '       [ prov:type="a news item for mobile devices"])\n' ; 
+x=x+ 'alternateOf(bbc:news/science-environment-17526723, \n' ; 
+x=x+ '            bbc:news/mobile/science-environment-17526723)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-alternate2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Considering again the two versions of the technical report <span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">tr:WD-prov-dm-20111215</a></span>\n' ; 
+x=x+ '        (second working draft) and <span class="name"><span class="name"><a href="http://www.w3.org/TR/2011/WD-prov-dm-20111018">tr:WD-prov-dm-20111018</a></span></span>\n' ; 
+x=x+ '        (first working draft). They are alternate of each other.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111018)\n' ; 
+x=x+ 'entity(tr:WD-prov-dm-20111215)\n' ; 
+x=x+ 'alternateOf(tr:WD-prov-dm-20111018, tr:WD-prov-dm-20111215)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        They are both specialization of the page <a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div style="text-align: center;">\n' ; 
+x=x+ '      <img src="uml/component6.png" alt="collection" /><br /> Collections\n' ; 
+x=x+ '      Component Overview (Informative)\n' ; 
+x=x+ '    </div><div class="anexample">\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(c0, [ prov:type=\'prov:EmptyCollection\' ])  // c0 is an empty collection\n' ; 
+x=x+ 'entity(c1, [ prov:type=\'prov:Collection\'  ])      // c1 is a collection, with unknown content\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="attributes" id="attributes-hadMember">\n' ; 
+x=x+ '      A <dfn title="hadMember">membership</dfn> relation, written <span class="pnExpression">hadMember(c, e)</span>, has:\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="membership.collection">collection</span>:\n' ; 
+x=x+ '          an identifier (<span class="name">c</span>) for the collection whose\n' ; 
+x=x+ '          member is asserted;\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="attribute" id="membership.entity">entity</span>: the\n' ; 
+x=x+ '          identifier <span class="name">e</span> of an entity that is member of\n' ; 
+x=x+ '          the collection.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="anexample">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this example, <span class="name">c</span> is a collection known to\n' ; 
+x=x+ '        have <span class="name">e0</span>, <span class="name">e1</span>, and\n' ; 
+x=x+ '        <span class="name">e2</span> as members, and may have other members.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(e0)\n' ; 
+x=x+ 'entity(e1)\n' ; 
+x=x+ 'entity(e2)\n' ; 
+x=x+ '\n' ; 
+x=x+ 'entity(c, [prov:type=\'prov:Collection\'  ])      // c is a collection, with unknown content\n' ; 
+x=x+ 'hadMember(c, e0)\n' ; 
+x=x+ 'hadMember(c, e1)\n' ; 
+x=x+ 'hadMember(c, e2)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div id="attributes-at-a-glance-divz" style="text-align: left;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="attributes-at-a-glance">\n' ; 
+x=x+ '          PROV-DM Attributes At a Glance\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 8 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Attribute</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Allowed In</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>value</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Section</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="label">prov:label</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <em>any construct</em>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            A <a>Value</a> of type <a class="section-ref" href="http://www.w3.org/TR/xmlschema11-2/#string">xsd:string</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="section-ref" href="#term-attribute-label"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="location">prov:location</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Entity</a>, <a>Activity</a>, <a>Agent</a>, <a>Usage</a>, <a>Generation</a>,\n' ; 
+x=x+ '            <a>Invalidation</a>, <a>Start</a>, and <a>End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            A <a title="value">Value</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="section-ref" href="#term-attribute-location"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="role">prov:role</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Usage</a>, <a>Generation</a>, <a>Invalidation</a>, <a>Association</a>,\n' ; 
+x=x+ '            <a>Start</a>, and <a>End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            A <a title="value">Value</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="section-ref" href="#term-attribute-role"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="type">prov:type</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <em>any construct</em>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            A <a title="value">Value</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="section-ref" href="#term-attribute-type"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="value-attribute">prov:value</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a>Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            A <a title="value">Value</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a class="section-ref" href="#term-attribute-value"><span>TBD</span></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="anexample">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following entity is provided with a label attribute.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' entity(ex:e1, [ prov:label="This is a human-readable label" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following entity has two label attributes, in French and English.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' entity(ex:car01, [ prov:label="Voiture 01"@fr, prov:label="Car 01"@en ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="example-location">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expression describes entity Mona Lisa, a painting, with a\n' ; 
+x=x+ '        location attribute.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' entity(ex:MonaLisa, [ prov:location="Le Louvre, Paris", prov:type="StillImage" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following expression describes a cell, at coordinates (5,5), with\n' ; 
+x=x+ '        value 10.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' entity(ex:cell, [ prov:location="(5,5)", prov:value="10" %% xsd:integer ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-role">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following activity is associated with an agent acting as the\n' ; 
+x=x+ '        operator.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ ' wasAssociatedWith(a, ag, [ prov:role="operator" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following expression, the activity <span class="name">ex:div01</span>\n' ; 
+x=x+ '        used entity <span class="name">ex:cell</span> in the role of divisor.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'used(ex:div01, ex:cell, [ prov:role="divisor" ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following describes an agent of type software agent.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ '   agent(ag, [ prov:type=\'prov:SoftwareAgent\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-value1">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following example illustrates the provenance of the number <span class="name">4</span> obtained by an activity that computed the length\n' ; 
+x=x+ '        of an input string <span class="name">"abcd"</span>. The input and the\n' ; 
+x=x+ '        output are expressed as entities <span class="name">ex:in</span> and\n' ; 
+x=x+ '        <span class="name">ex:out</span>, respectively. They each have a <span class="name">prov:value</span> attribute associated with the\n' ; 
+x=x+ '        corresponding value.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(ex:in, [ prov:value="abcd" ]) \n' ; 
+x=x+ 'entity(ex:out, [ prov:value=4 ]) \n' ; 
+x=x+ 'activity(ex:len, [ prov:type="string-length" ])\n' ; 
+x=x+ 'used(ex:len, ex:in)\n' ; 
+x=x+ 'wasGeneratedBy(ex:out, ex:len)\n' ; 
+x=x+ 'wasDerivedFrom(ex:out, ex:in)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-value2">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <a href="#anexample-value1" class="anexample-ref"><span>Example REF</span></a>\n' ; 
+x=x+ '        illustrates an entity with a given value <span class="name">4</span>.\n' ; 
+x=x+ '        This examples shows that another entity with the same value may be\n' ; 
+x=x+ '        computed differently (by an addition).\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'entity(ex:in1, [ prov:value=3 ]) \n' ; 
+x=x+ 'entity(ex:in2, [ prov:value=1 ]) \n' ; 
+x=x+ 'entity(ex:out2, [ prov:value=4 ])      // ex:out2 also has value 4\n' ; 
+x=x+ 'activity(ex:add1, [ prov:type="addition" ])\n' ; 
+x=x+ 'used(ex:add1, ex:in1)\n' ; 
+x=x+ 'used(ex:add1, ex:in2)\n' ; 
+x=x+ 'wasGeneratedBy(ex:out2, ex:add1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-value">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following examples respectively are the string "abc", the integer\n' ; 
+x=x+ '        number 1, and the IRI "http://example.org/foo".\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ '  "abc"\n' ; 
+x=x+ '  "1" %% xsd:integer\n' ; 
+x=x+ '  "http://example.org/foo" %% xsd:anyURI\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The following example shows a value of type <span class="name">prov:QUALIFIED_NAME</span>\n' ; 
+x=x+ '        (see <span class="name"><a href="http://www.w3.org/TR/prov-n/#prod-QUALIFIED_NAME">prov:QUALIFIED_NAME</a></span>\n' ; 
+x=x+ '        [[PROV-N]]). The prefix <span class="name">ex</span> must be bound to a\n' ; 
+x=x+ '        <a>namespace</a> declared in a <a>namespace declaration</a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  "ex:value" %% prov:QUALIFIED_NAME\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      Alternatively, the same value can be expressed using the following\n' ; 
+x=x+ '      convenience notation.\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  \'ex:value\'\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-time">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following example, the generation time of entity <span class="name">e1</span> is expressed according to <a href="http://www.w3.org/TR/xmlschema11-2/#dateTime">xsd:dateTime</a>\n' ; 
+x=x+ '        [[!XMLSCHEMA11-2]].\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  wasGeneratedBy(e1,a1, 2001-10-26T21:32:52)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '    </div><div class="anexample" id="anexample-sub-relation">\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            In the following example, <span class="name">e2</span> is a\n' ; 
+x=x+ '            translation of <span class="name">e1</span>, expressed as a sub-type\n' ; 
+x=x+ '            of derivation.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  wasDerivedFrom(e2,e1, [prov:type=\'ex:Translation\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '        </div><div class="anexample" id="anexample-sub-type">\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            In the following example, <span class="name">e</span> is described\n' ; 
+x=x+ '            as a Car, a type of entity.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  entity(e, [prov:type=\'ex:Car\' ])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '        </div><div class="anexample" id="anexample-usage-with-role">\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            In the following example, two computers <span class="name">ex:laptop4</span>\n' ; 
+x=x+ '            and <span class="name">ex:desktop9</span> are used in different\n' ; 
+x=x+ '            roles in a work activity.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve"> \n' ; 
+x=x+ '  activity(ex:work)\n' ; 
+x=x+ '  entity(ex:laptop4)\n' ; 
+x=x+ '  entity(ex:desktop9)\n' ; 
+x=x+ '  used(ex:work, ex:laptop4,  [prov:role="day-to-day machine"])\n' ; 
+x=x+ '  used(ex:work, ex:desktop9, [prov:role="backup machine"])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '        </div><div id="glossary_div" class="remove">\n' ; 
+x=x+ '      <!--  glossary loaded from glossary.js will be hooked up here, class\n' ; 
+x=x+ '        remove, will remove this element from the final output. -->\n' ; 
+x=x+ '    </div><div id="prov-dm-to-prov-o-and-prov-n-fig" style="text-align: left;">\n' ; 
+x=x+ '      <table class="thinborder" style="margin-left: auto; margin-right: auto;">\n' ; 
+x=x+ '        <caption id="prov-dm-to-prov-o-and-prov-n">\n' ; 
+x=x+ '          Cross-References to PROV-O and PROV-N\n' ; 
+x=x+ '        </caption>\n' ; 
+x=x+ '        <!--  Table 10 -->\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a><b>PROV-DM</b></a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>PROV-O</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>PROV-N</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <b>Component</b>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Entity">Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Entity">Entity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-entityExpression">entityExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="8">\n' ; 
+x=x+ '            <a href="#component1">Component 1:<br /> Entities/Activities</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Activity">Activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Entity">Activity</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-activityExpression">activityExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Generation">Generation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasGeneratedBy">wasGeneratedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Generation">Generation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-generationExpression">generationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Usage">Usage</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#used">used</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Usage">Usage</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-usageExpression">usageExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Communication">Communication</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasInformedBy">wasInformedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Communication">Communication</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-communicationExpression">communicationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Start">Start</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasStartedBy">wasStartedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Start">Start</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-startExpression">startExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="End">End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasEndedBy">wasEndedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#End">End</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-endExpression">endExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component1-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Invalidation">Invalidation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasInvalidatedBy">wasInvalidatedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Invalidation">Invalidation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-invalidationExpression">invalidationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Derivation">Derivation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasDerivedFrom">wasDerivedFrom</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Derivation">Derivation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-derivationExpression">derivationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="4">\n' ; 
+x=x+ '            <a href="#component2">Component 2:<br /> Derivations</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="Revision">Revision</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasRevisionOf">wasRevisionOf</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Revision">Revision</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Revision">Revision</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="Quotation">Quotation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasQuotedFrom">wasQuotedFrom</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Quotation">Quotation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Quotation">Quotation</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component2-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="Primary Source">Primary Source</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#hadPrimarySource">hadPrimarySource</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Source">Source</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Primary-Source">PrimarySource</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color" style="border-collapse: collapse; ">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Agent">Agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Agent">Agent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-agentExpression">agentExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="9">\n' ; 
+x=x+ '            <a href="#component3">Component 3: <br />Agents, Responsibility,\n' ; 
+x=x+ '            <br />Influence</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Attribution">Attribution</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasAttributedTo">wasAttributedTo</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Attribution">Attribution</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-attributionExpression">attributionExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Association">Association</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasAssociatedWith">wasAssociatedWith</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Association">Association</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-associationExpression">associationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Delegation">Delegation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#actedOnBehalfOf">actedOnBehalfOf</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Delegation">Delegation</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-delegationExpression">delegationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Plan">Plan</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Plan">Plan</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Plan">Plan</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Person">Person</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Person">Person</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Person">Person</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Organization">Organization</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Organization">Organization</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Organization">Organization</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="software-agent">SoftwareAgent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#SoftwareAgent">SoftwareAgent</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-SoftwareAgent">SoftwareAgent</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component3-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Influence">Influence</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#wasInfluencedBy">wasInfluencedBy</a>,\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Influence">Influence</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-influenceExpression">influenceExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component4-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="bundle">Bundle constructor</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#description-bundle">bundle\n' ; 
+x=x+ '            description</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-namedBundle">namedBundle</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="2">\n' ; 
+x=x+ '            <a href="#component5">Component 4: <br /> Bundles</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component4-color">\n' ; 
+x=x+ '          <td class="provType">\n' ; 
+x=x+ '            <a title="bundle">Bundle type</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Bundle">Bundle</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Bundle">Bundle</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component5-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Alternate">Alternate</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#alternateOf">alternateOf</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-alternateExpression">alternateExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="2">\n' ; 
+x=x+ '            <a href="#component4">Component 5: <br /> Alternate</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component5-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Specialization">Specialization</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#specializationOf">specializationOf</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-specializationExpression">specializationExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr>\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '          <td style="border-width: 0px; " />\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Collection">Collection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#Collection">Collection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-Collection">Collection</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td rowspan="3">\n' ; 
+x=x+ '            <a href="#component6">Component 6: <br /> Collections</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Empty Collection">EmptyCollection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#EmptyCollection">EmptyCollection</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            type <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#provn-type-EmptyCollection">EmptyCollection</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '        <tr class="component6-color">\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a title="Membership">Membership</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <a href="http://www.w3.org/TR/2012/WD-prov-o-20120724/#hadMember">hadMember</a>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '          <td>\n' ; 
+x=x+ '            <code><a href="http://www.w3.org/TR/2012/WD-prov-n-20120724/#prod-membershipExpression">membershipExpression</a></code>\n' ; 
+x=x+ '          </td>\n' ; 
+x=x+ '        </tr>\n' ; 
+x=x+ '      </table>\n' ; 
+x=x+ '    </div><div class="note">\n' ; 
+x=x+ '      Table: work in progress; these entries might change when the document is\n' ; 
+x=x+ '      updated.\n' ; 
+x=x+ '    </div><div class="definition-example" id="definition-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="name">defined_stmt</span> <span class="conditional">IF AND\n' ; 
+x=x+ '        ONLY IF</span> there exists <span class="name">a<sub>1</sub></span>,...,\n' ; 
+x=x+ '        <span class="name">a<sub>m</sub></span> such that <span class="name">defining_stmt<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">defining_stmt<sub>n</sub></span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      We use definitions primarily to expand the compact, concrete PROV-N\n' ; 
+x=x+ '      syntax, including short forms and optional parameters to the abstract\n' ; 
+x=x+ '      syntax implicitly used in PROV-DM.\n' ; 
+x=x+ '    </div><div class="inference-example" id="inference-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">hyp<sub>k</sub></span> <span class="conditional">THEN</span> there exists <span class="name">a<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">a<sub>m</sub></span> such that <span class="name">concl<sub>1</sub></span> and ... and <span class="name">concl<sub>n</sub></span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="definition" id="optional-identifiers">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        For each <span class="name">r</span> in { <span class="name">used</span>,\n' ; 
+x=x+ '        <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidatedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>,\n' ; 
+x=x+ '        <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>},\n' ; 
+x=x+ '        the following definitional rules hold:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">r(a<sub>1</sub>,...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">id</span> such that <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">r(-; a<sub>1</sub>,...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">id</span> such that <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="definition" id="optional-attributes">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          For each <span class="name">p</span> in {<span class="name">entity</span>,\n' ; 
+x=x+ '          <span class="name">activity</span>, <span class="name">agent</span>},\n' ; 
+x=x+ '          if <span class="name">a<sub>n</sub></span> is not an attribute list\n' ; 
+x=x+ '          parameter then the following definitional rule holds:\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            <span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>,[])</span>.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          For each <span class="name">r</span> in { <span class="name">used</span>,\n' ; 
+x=x+ '          <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidated</span>,\n' ; 
+x=x+ '          <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>,\n' ; 
+x=x+ '          <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>,\n' ; 
+x=x+ '          <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>,\n' ; 
+x=x+ '          <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>},\n' ; 
+x=x+ '          if <span class="name">a<sub>n</sub></span> is not an attribute list\n' ; 
+x=x+ '          parameter then the following definition holds:\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            <span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span>\n' ; 
+x=x+ '            <span class="conditional">IF AND ONLY IF</span> <span class="name">r(id;\n' ; 
+x=x+ '            a<sub>1</sub>,...,a<sub>n</sub>,[])</span>.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Definitions <a class="rule-ref" href="#optional-identifiers"><span>TBD</span></a>\n' ; 
+x=x+ '        and <a class="rule-ref" href="#optional-attributes"><span>TBD</span></a>.\n' ; 
+x=x+ '        do not apply to <span class="name">alternateOf</span> and <span class="name">specializationOf</span>, which do not have identifiers and\n' ; 
+x=x+ '        attributes.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="definition" id="definition-short-forms">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">activity(id,attrs)</span> <span class="conditional">IF\n' ; 
+x=x+ '          AND ONLY IF</span> <span class="name">activity(id,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasGeneratedBy(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">used(id; a,attrs)</span> <span class="conditional">IF\n' ; 
+x=x+ '          AND ONLY IF</span> <span class="name">used(id; a,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasStartedBy(id; a,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a,-,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasEndedBy(id; a,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a,-,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasInvalidatedBy(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasDerivedFrom(id; e2,e1,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2,e1,-,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">wasAssociatedWith(id; e,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">actedOnBehalfOf(id; a2,a1,attrs)</span> <span class="conditional">IF AND ONLY IF</span> <span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          a2,a1,-,attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <!--  <p> Note that there is no expansion rule for <span\n' ; 
+x=x+ '        class="name">wasDerivedFrom</span>. In a derivation of the form <span\n' ; 
+x=x+ '        class="name">wasDerivedFrom(id; e1,e2,attr)</span>, the absence of the\n' ; 
+x=x+ '        optional activity, generation and use identifiers means that the\n' ; 
+x=x+ '        derivation relationship may encompass multiple activities, generations,\n' ; 
+x=x+ '        and uses. Thus, it is not equivalent to <span\n' ; 
+x=x+ '        class="name">wasDerivedFrom(id; e1,e2,a,g,u,attr)</span> where some\n' ; 
+x=x+ '        activity, generation and use are given explicitly. The short form is not\n' ; 
+x=x+ '        defined in terms of the long form in this case.</p> -->\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        There are no expansion rules for entity, agent, communication,\n' ; 
+x=x+ '        attribution, influence, alternate, or specialization relations, because\n' ; 
+x=x+ '        these have no optional parameters aside from the identifier and\n' ; 
+x=x+ '        attributes, which are expanded by the rules in <a class="rule-ref" href="#optional-identifiers"><span>TBD</span></a> and <a class="rule-ref" href="#optional-attributes"><span>TBD</span></a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="definition" id="optional-placeholders">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">activity(id,-,t2,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">t1</span> such that <span class="name">activity(id,t1,t2,attrs)</span>.\n' ; 
+x=x+ '          Here, <span class="name">t2</span> MAY be a placeholder.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="name">activity(id,t1,-,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">t2</span> such that <span class="name">activity(id,t1,t2,attrs)</span>.\n' ; 
+x=x+ '          Here, <span class="name">t1</span> MUST NOT be a placeholder.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <!--  <li>For each <span class="name">r</span> in {<span\n' ; 
+x=x+ '          class="name">entity</span>, <span class="name">activity</span>, <span\n' ; 
+x=x+ '          class="name">agent</span>}, the following definition holds: <p> <span\n' ; 
+x=x+ '          class="name">r(a<sub>0</sub>,...,a<sub>i-1</sub>, -, a<sub>i+1</sub>,\n' ; 
+x=x+ '          ...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY\n' ; 
+x=x+ '          IF</span> there exists <span class="name">a\'</span> such that <span\n' ; 
+x=x+ '          class="name">r(a<sub>0</sub>,...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span>.\n' ; 
+x=x+ '          </li> -->\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          For each <span class="name">r</span> in { <span class="name">used</span>,\n' ; 
+x=x+ '          <span class="name">wasGeneratedBy</span>,\n' ; 
+x=x+ '           <!-- <span class="name">wasInformedBy</span>, --> <span class="name">wasStartedBy</span>,\n' ; 
+x=x+ '          <span class="name">wasEndedBy</span>, <span class="name">wasInvalidatedBy</span>,\n' ; 
+x=x+ '           <!-- <span class="name">wasDerivedFrom</span>, -->\n' ; 
+x=x+ '           <!-- <span class="name">wasAttributedTo</span>, --> <span class="name">wasAssociatedWith</span>,\n' ; 
+x=x+ '          <span class="name">actedOnBehalfOf</span>\n' ; 
+x=x+ '           <!-- <span class="name">wasInfluencedBy</span> --> }, if the <span class="name">i</span>th parameter of <span class="name">r</span> is an\n' ; 
+x=x+ '          <a>expandable parameter</a> of <span class="name">r</span> as\n' ; 
+x=x+ '          specified in <a href="#expandable-parameters-fig">Table 3</a> then the\n' ; 
+x=x+ '          following definition holds:\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            <span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>, -, a<sub>i+1</sub>,\n' ; 
+x=x+ '            ...,a<sub>n</sub>) </span> <span class="conditional">IF AND ONLY IF</span>\n' ; 
+x=x+ '            there exists <span class="name">a\'</span> such that <span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span>.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          If <span class="name">a</span> is not the placeholder <span class="name">-</span>, and <span class="name">u</span> is any term,\n' ; 
+x=x+ '          then the following definition holds:\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            <span class="name">wasDerivedFrom(id;e2,e1,a,-,u,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">g</span> such that <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '            e2,e1,a,g,u,attrs)</span>.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          If <span class="name">a</span> is not the placeholder <span class="name">-</span>, and <span class="name">g</span> is any term,\n' ; 
+x=x+ '          then the following definition holds:\n' ; 
+x=x+ '          <p>\n' ; 
+x=x+ '            <span class="name">wasDerivedFrom(id;e2,e1,a,g,-,attrs)</span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">u</span> such that <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '            e2,e1,a,g,u,attrs)</span>.\n' ; 
+x=x+ '          </p>\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In an association of the form <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '        a,ag,-,attr)</span>, the absence of a plan means: either no plan exists,\n' ; 
+x=x+ '        or a plan exists but it is not identified. Thus, it is not equivalent to\n' ; 
+x=x+ '        <span class="name">wasAssociatedWith(id; a,ag,p,attr)</span> where a\n' ; 
+x=x+ '        plan <span class="name">p</span> is given.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        A derivation <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '        e2,e1,a,gen,use,attrs)</span> that specifies an activity explicitly\n' ; 
+x=x+ '        indicates that this activity achieved the derivation, with a usage <span class="name">use</span> of entity <span class="name">e1</span>, and a\n' ; 
+x=x+ '        generation <span class="name">gen</span> of entity <span class="name">e2</span>.\n' ; 
+x=x+ '        It differs from a derivation of the form <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '        e2,e1,-,-,-,attrs)</span> with missing activity, generation, and usage.\n' ; 
+x=x+ '        In the latter form, it is not specified if one or more activities are\n' ; 
+x=x+ '        involved in the derivation.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Let us consider a system, in which a derivation is underpinned by\n' ; 
+x=x+ '        multiple activities. Conceptually, one could also model such a system\n' ; 
+x=x+ '        with a new activity that encompasses the two original activities and\n' ; 
+x=x+ '        underpins the derivation. The inferences defined in this specification\n' ; 
+x=x+ '        do not allow the latter modelling to be inferred from the former. Hence,\n' ; 
+x=x+ '        the two modellings of the same system are regarded as different in the\n' ; 
+x=x+ '        context of this specification.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="communication-generation-use-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,_attrs)</span> <span class="conditional">THEN</span> there exist\n' ; 
+x=x+ '        <span class="name">e</span>, <span class="name">_gen</span>, <span class="name">_t1</span>, <span class="name">_use</span>, and <span class="name">_t2</span>, such that <span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a1,_t1,[])</span> and <span class="name">used(_use; a2,e,_t2,[])</span>\n' ; 
+x=x+ '        hold.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="generation-use-communication-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a1,_t1,_attrs1)</span> and <span class="name">used(_id2;\n' ; 
+x=x+ '        a2,e,_t2,_attrs2)</span> hold <span class="conditional">THEN</span>\n' ; 
+x=x+ '        there exists <span class="name">_id</span> such that <span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,[])</span>\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The relationship <span class="name">wasInformedBy</span> is not <a>transitive</a>.\n' ; 
+x=x+ '        Indeed, consider the following statements.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre class="codeexample" xml:space="preserve">\n' ; 
+x=x+ 'wasInformedBy(a2,a1)\n' ; 
+x=x+ 'wasInformedBy(a3,a2)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        We cannot infer <span class="name">wasInformedBy(a3,a1)</span> from\n' ; 
+x=x+ '        these statements alone. Indeed, from <span class="name">wasInformedBy(a2,a1)</span>,\n' ; 
+x=x+ '        we know that there exists <span class="name">e1</span> such that <span class="name">e1</span> was generated by <span class="name">a1</span> and\n' ; 
+x=x+ '        used by <span class="name">a2</span>. Likewise, from <span class="name">wasInformedBy(a3,a2)</span>,\n' ; 
+x=x+ '        we know that there exists <span class="name">e2</span> such that <span class="name">e2</span> was generated by <span class="name">a2</span> and\n' ; 
+x=x+ '        used by <span class="name">a3</span>. The following illustration shows a\n' ; 
+x=x+ '        counterexample to transitivity. The horizontal axis represents the event\n' ; 
+x=x+ '        line. We see that <span class="name">e1</span> was generated after <span class="name">e2</span> was used. Furthermore, the illustration also\n' ; 
+x=x+ '        shows that <span class="name">a3</span> completes before <span class="name">a1</span> started. So in this example (with no other\n' ; 
+x=x+ '        information) it is impossible for <span class="name">a3</span> to have\n' ; 
+x=x+ '        used an entity generated by <span class="name">a1</span>. This is\n' ; 
+x=x+ '        illustrated in <a href="#counterexample-wasInformedBy">Figure 2</a>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <div style="text-align: center;">\n' ; 
+x=x+ '        <img src="images/constraints/informedByNonTransitive.png" alt="non transitivity of wasInformedBy" /> <br /> Counter-example for\n' ; 
+x=x+ '        transitivity of wasInformedBy\n' ; 
+x=x+ '         <!--  <b>Figure 2:</b> -->\n' ; 
+x=x+ '      </div>\n' ; 
+x=x+ '    </div><div class="inference" id="entity-generation-invalidation-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">entity(e,_attrs)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> there exist <span class="name">_gen</span>,\n' ; 
+x=x+ '        <span class="name">_a1</span>, <span class="name">_t1</span>, <span class="name">_inv</span>, <span class="name">_a2</span>, and <span class="name">_t2</span> such that <span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,_a1,_t1,[])</span> and <span class="name">wasInvalidatedBy(_inv;\n' ; 
+x=x+ '        e,_a2,_t2,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="activity-start-end-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">activity(a,t1,t2,_attrs)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> there exist <span class="name">_start</span>,\n' ; 
+x=x+ '        <span class="name">_e1</span>, <span class="name">_a1</span>, <span class="name">_end</span>, <span class="name">_a2</span>, and <span class="name">_e2</span> such that <span class="name">wasStartedBy(_start;\n' ; 
+x=x+ '        a,_e1,_a1,t1,[])</span> and <span class="name">wasEndedBy(_end;\n' ; 
+x=x+ '        a,_e2,_a2,t2,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="wasStartedBy-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasStartedBy(_id;\n' ; 
+x=x+ '        a,e1,a1,_t,_attrs)</span>, <span class="conditional">THEN</span> there\n' ; 
+x=x+ '        exist <span class="name">_gen</span> and <span class="name">_t1</span>\n' ; 
+x=x+ '        such that <span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="wasEndedBy-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasEndedBy(_id;\n' ; 
+x=x+ '        a,e1,a1,_t,_attrs)</span>, <span class="conditional">THEN</span> there\n' ; 
+x=x+ '        exist <span class="name">_gen</span> and <span class="name">_t1</span>\n' ; 
+x=x+ '        such that <span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="derivation-generation-use-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this inference, none of <span class="name">a</span>, <span class="name">gen2</span> or <span class="name">use1</span> can be\n' ; 
+x=x+ '        placeholders <span class="name">-</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;\n' ; 
+x=x+ '        e2,e1,a,gen2,use1,_attrs)</span>, <span class="conditional">THEN</span>\n' ; 
+x=x+ '        there exists <span class="name">_t1</span> and <span class="name">_t2</span>\n' ; 
+x=x+ '        such that <span class="name">used(use1; a,e1,_t1,[])</span> and <span class="name">wasGeneratedBy(gen2; e2,a,_t2,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="revision-is-alternate-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this inference, any of <span class="name">_a</span>, <span class="name">_g</span> or <span class="name">_u</span> MAY be\n' ; 
+x=x+ '        placeholders.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;\n' ; 
+x=x+ '        e2,e1,_a,_g,_u,[prov:type=\'prov:Revision\'])</span>, <span class="conditional">THEN</span> <span class="name">alternateOf(e2,e1)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <!--  <li><span class=\'conditional\'>IF</span> <span\n' ; 
+x=x+ '        class="name">wasDerivedFrom(_id;\n' ; 
+x=x+ '        e2,e1,_act,_gen,_use,[prov:type=\'prov:Revision\'])</span>, <span\n' ; 
+x=x+ '        class=\'conditional\'>THEN</span> <span\n' ; 
+x=x+ '        class="name">alternateOf(e2,e1)</span>. </li> -->\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      There is no inference stating that <span class="name">wasDerivedFrom</span>\n' ; 
+x=x+ '      is transitive.\n' ; 
+x=x+ '    </div><div class="inference" id="attribution-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasAttributedTo(_att;\n' ; 
+x=x+ '        e,ag,_attrs)</span>\n' ; 
+x=x+ '         <!-- holds for some identifiers <span class="name">e</span> and <span\n' ; 
+x=x+ '          class="name">ag</span>, --> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        there exist <span class="name">a</span>, <span class="name">_t</span>,\n' ; 
+x=x+ '        <span class="name">_gen</span>, <span class="name">_assoc</span>, <span class="name">_pl</span>, such that <span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a,_t,[])</span> and <span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '        a,ag,_pl,[])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      In the above inference, <span class="name">_pl</span> is an existential\n' ; 
+x=x+ '      variable, so it can be unified with a constant identifier, another\n' ; 
+x=x+ '      existential variable, or a placeholder <span class="name">-</span>, as\n' ; 
+x=x+ '      explained in the definition of <a>unification</a>.\n' ; 
+x=x+ '    </div><div class="inference" id="delegation-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_id;\n' ; 
+x=x+ '        ag1, ag2, a, _attrs)</span> <span class="conditional">THEN</span> there\n' ; 
+x=x+ '        exist <span class="name">_id1</span>, <span class="name">_pl1</span>,\n' ; 
+x=x+ '        <span class="name">_id2</span>, and <span class="name">_pl2</span> such\n' ; 
+x=x+ '        that <span class="name">wasAssociatedWith(_id1; a, ag1, _pl1, [])</span>\n' ; 
+x=x+ '        and <span class="name">wasAssociatedWith(_id2; a, ag2, _pl2, [])</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      The two associations between the agents and the activity may have\n' ; 
+x=x+ '      different identifiers, different plans, and different attributes. In\n' ; 
+x=x+ '      particular, the plans of the two agents need not be the same, and one,\n' ; 
+x=x+ '      both, or neither can be the placeholder <span class="name">-</span>\n' ; 
+x=x+ '      indicating that there is no plan, because the existential variables <span class="name">_pl1</span> and <span class="name">_pl2</span> can be\n' ; 
+x=x+ '      replaced with constant identifiers, existential variables, or placeholders\n' ; 
+x=x+ '      <span class="name">-</span> independently, as explained in the definition\n' ; 
+x=x+ '      of <a>unification</a>.\n' ; 
+x=x+ '    </div><div class="inference" id="influence-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,a,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, a, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">used(id;\n' ; 
+x=x+ '          a,e,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a, e, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasInformedBy(id;\n' ; 
+x=x+ '          a2,a1,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, a1, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a2,e,a1,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, e, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a2,e,_a1,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a2, e, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,_t,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, a, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g, u, attrs)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">wasInfluencedBy(id; e2, e1, attrs)</span>. Here,\n' ; 
+x=x+ '          <span class="name">a</span>, <span class="name">g</span>, <span class="name">u</span> MAY be placeholders <span class="name">-</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; e, ag, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,_pl,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; a, ag, attrs)</span>. Here, <span class="name">_pl</span> MAY be a placeholder <span class="name">-</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,_a,attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id; ag2, ag1, attrs)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      The inferences above permit the use of same identifier for an influence\n' ; 
+x=x+ '      relationship and a more specific relationship.\n' ; 
+x=x+ '    </div><div class="inference" id="alternate-reflexive">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">entity(e)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">alternateOf(e,e)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="alternate-transitive">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <!--  For any entities <span class=\'name\'>e1</span>, <span\n' ; 
+x=x+ '          class=\'name\'>e2</span>, <span class=\'name\'>e3</span>, -->\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">alternateOf(e1,e2)</span>\n' ; 
+x=x+ '        and <span class="name">alternateOf(e2,e3)</span> <span class="conditional">THEN</span> <span class="name">alternateOf(e1,e3)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="alternate-symmetric">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <!--  For any entity <span class=\'name\'>e1</span>, <span\n' ; 
+x=x+ '          class=\'name\'>e2</span>, -->\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">alternateOf(e1,e2)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">alternateOf(e2,e1)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="specialization-transitive">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <!--  For any entities <span class=\'name\'>e1</span>, <span\n' ; 
+x=x+ '          class=\'name\'>e2</span>, <span class=\'name\'>e3</span>, -->\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">specializationOf(e1,e2)</span>\n' ; 
+x=x+ '        and <span class="name">specializationOf(e2,e3)</span> <span class="conditional">THEN</span> <span class="name">specializationOf(e1,e3)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="specialization-alternate-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <!--  For any entities <span class=\'name\'>e1</span>, <span\n' ; 
+x=x+ '          class=\'name\'>e2</span>, -->\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">specializationOf(e1,e2)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">alternateOf(e1,e2)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="inference" id="specialization-attributes-inference">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <!--  For any entities <span class=\'name\'>e1</span>, <span\n' ; 
+x=x+ '          class=\'name\'>e2</span>, -->\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">entity(e1, attrs)</span>\n' ; 
+x=x+ '         <!-- holds for some attributes <span class=\'name\'>attrs</span> --> and\n' ; 
+x=x+ '        <span class="name">specializationOf(e2,e1)</span>, <span class="conditional">THEN </span> <span class="name">entity(e2, attrs)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      Unification is analogous to unification in logic programming and theorem\n' ; 
+x=x+ '      proving, restricted to flat terms with constants and variables but no\n' ; 
+x=x+ '      function symbols. No occurs check is needed because there are no function\n' ; 
+x=x+ '      symbols.\n' ; 
+x=x+ '    </div><div class="constraint-example" id="uniqueness-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="name">t<sub>1</sub></span>\n' ; 
+x=x+ '        = <span class="name">u<sub>1</sub></span> and ... and <span class="name">t<sub>n</sub></span>\n' ; 
+x=x+ '        = <span class="name">u<sub>n</sub></span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint-example" id="key-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The <span class="name">a<sub>k</sub></span> field is a <span class="conditional">KEY</span> for relation <span class="name">r(a<sub>0</sub>;\n' ; 
+x=x+ '        a<sub>1</sub>,...,a<sub>n</sub>)</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="key-object">\n' ; 
+x=x+ '      <p />\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#entity.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">entity(id,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#activity.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">activity(id,t1,t2,attrs)</span>\n' ; 
+x=x+ '          statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#agent.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">agent(id,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="key-properties">\n' ; 
+x=x+ '      <p />\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#generation.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#usage.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">used(id; a,e,t,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#communication.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">wasInformedBy(id; a2,a1,attrs)</span>\n' ; 
+x=x+ '          statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#start.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">wasStartedBy(id; a2,e,a1,t,attrs)</span>\n' ; 
+x=x+ '          statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#end.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span>\n' ; 
+x=x+ '          for the <span class="name">wasEndedBy(id; a2,e,a1,t,attrs)</span>\n' ; 
+x=x+ '          statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#invalidation.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#derivation.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g2, u1, attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#attribution.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attr)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#association.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,pl,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#association.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,-,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#delegation.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,a,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          The identifier field <a href="http://www.w3.org/TR/prov-dm/#influence.id"><span class="name">id</span></a>\n' ; 
+x=x+ '          is a <span class="conditional">KEY</span> for the <span class="name">wasInfluencedBy(id;\n' ; 
+x=x+ '          o2,o1,attrs)</span> statement.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-generation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e,a,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e,a,_t2,_attrs2)</span>, <span class="conditional">THEN</span> <span class="name">gen1</span> = <span class="name">gen2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-invalidation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(inv1;\n' ; 
+x=x+ '        e,a,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '        e,a,_t2,_attrs2)</span>, <span class="conditional">THEN</span> <span class="name">inv1</span> = <span class="name">inv2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        It follows from the above uniqueness and key constraints that the\n' ; 
+x=x+ '        generation and invalidation events linking an entity and activity are\n' ; 
+x=x+ '        unique, if specified. However, because we apply the constraints by\n' ; 
+x=x+ '        merging, it is possible for a valid PROV instance to contain multiple\n' ; 
+x=x+ '        statements about the same generation or invalidation event, for example:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre xml:space="preserve">\n' ; 
+x=x+ 'wasGeneratedBy(id1; e,a,-,[prov:location="Paris"])\n' ; 
+x=x+ 'wasGeneratedBy(-; e,a,-,[color="Red"])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        When the uniqueness and key constraints are applied, the instance is <a title="normal form">normalized</a> to the following form:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre xml:space="preserve">\n' ; 
+x=x+ 'wasGeneratedBy(id1; e,a,_t,[prov:location="Paris",color="Red"])\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        where <span class="name">_t</span> is a new existential variable.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-wasStartedBy">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '        a,_e1,a0,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start2;\n' ; 
+x=x+ '        a,_e2,a0,_t2,_attrs2)</span>, <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">start1</span> = <span class="name">start2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-wasEndedBy">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasEndedBy(end1;\n' ; 
+x=x+ '        a,_e1,a0,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '        a,_e2,a0,_t2,_attrs2)</span>, <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">end1</span> = <span class="name">end2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-startTime">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">activity(a2,t1,_t2,_attrs)</span>\n' ; 
+x=x+ '        and <span class="name">wasStartedBy(_start; a2,_e,_a1,t,_attrs)</span>,\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">t1</span>=<span class="name">t</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="unique-endTime">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">activity(a2,_t1,t2,_attrs)</span>\n' ; 
+x=x+ '        and <span class="name">wasEndedBy(_end; a2,_e,_a1,t,_attrs1)</span>,\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">t2</span> =\n' ; 
+x=x+ '        <span class="name">t</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="note">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Note: The following constraint is associated with a feature "<a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">at risk</a>"\n' ; 
+x=x+ '        and may be removed from this specification based on feedback. Please\n' ; 
+x=x+ '        send feedback to public-prov-comments@w3.org.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint-example" id="ordering-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="name">evt1</span> <a>precedes</a>/<a>strictly\n' ; 
+x=x+ '        precedes</a> <span class="name">evt2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="note">\n' ; 
+x=x+ '      Miscellaneous suggestions about figures (originally from Tim Lebo):\n' ; 
+x=x+ '      <ul>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          I think it would help if the "corresponding edges between entities and\n' ; 
+x=x+ '          activities" where the same visual style as the vertical line marking\n' ; 
+x=x+ '          the time the Usage, generation and derivation occurred. A matching\n' ; 
+x=x+ '          visual style provides a Gestalt that matches the concept. I am looking\n' ; 
+x=x+ '          at subfigures b and c in 5.2.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ul>\n' ; 
+x=x+ '    </div><div class="constraint" id="start-precedes-end">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">end</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="start-start-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start2;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">start2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="end-end-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasEndedBy(end1;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">end1</span> <a title="precedes">precedes</a> <span class="name">end2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="usage-within-activity">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">used(use;\n' ; 
+x=x+ '          a,_e2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">use</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">used(use;\n' ; 
+x=x+ '          a,_e1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">use</span> <a title="precedes">precedes</a> <span class="name">end</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="generation-within-activity">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          _e2,a,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">gen</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          _e,a,_t,_attrs)</span> and <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">end</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="wasInformedBy-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,_attrs)</span> and <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '        a1,_e1,_a1\',_t1,_attrs1)</span> and <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '        a2,_e2,_a2\',_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">end</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="note">\n' ; 
+x=x+ '      The figure(s) in this section should have vertical lines with visual\n' ; 
+x=x+ '      styles that match the diagonal arrow that they go with.\n' ; 
+x=x+ '    </div><div class="constraint" id="generation-precedes-invalidation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">inv</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="generation-precedes-usage">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span> and <span class="name">used(use;\n' ; 
+x=x+ '        _a2,e,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">use</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="usage-precedes-invalidation">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">used(use;\n' ; 
+x=x+ '        _a1,e,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">use</span> <a title="precedes">precedes</a> <span class="name">inv</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="generation-generation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="invalidation-invalidation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(inv1;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">inv1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="derivation-usage-generation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this constraint, <span class="name">_a</span>, <span class="name">gen2</span>,\n' ; 
+x=x+ '        <span class="name">use1</span> MUST NOT be placeholders.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_d;\n' ; 
+x=x+ '        _e2,_e1,_a,gen2,use1,_attrs)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '        <span class="name">use1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="derivation-generation-generation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In this constraint, any <span class="name">_a</span>, <span class="name">_g</span>,\n' ; 
+x=x+ '        <span class="name">_u</span> MAY be placeholders.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_d;\n' ; 
+x=x+ '        e2,e1,_a,_g,_u,attrs)</span> and <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a>strictly precedes</a> <span class="name">gen2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        This constraint requires the derived entity to be generated strictly\n' ; 
+x=x+ '        following the generation of the original entity. This follows from the\n' ; 
+x=x+ '        [[PROV-DM]] definition of derivation: <em>A derivation is a\n' ; 
+x=x+ '        transformation of an entity into another, an update of an entity\n' ; 
+x=x+ '        resulting in a new one, or the construction of a new entity based on a\n' ; 
+x=x+ '        pre-existing entity</em>, thus the derived entity must be newer than the\n' ; 
+x=x+ '        original entity.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        The event ordering is between generations of <span class="name">e1</span>\n' ; 
+x=x+ '        and <span class="name">e2</span>, as opposed to derivation where usage\n' ; 
+x=x+ '        is known, which implies ordering between the usage of <span class="name">e1</span>\n' ; 
+x=x+ '        and generation of <span class="name">e2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="wasStartedBy-ordering">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,_a1,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          _a,e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">start</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          _a,e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start</span> <a title="precedes">precedes</a> <span class="name">inv</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="wasEndedBy-ordering">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          _a,e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">gen</span> <a title="precedes">precedes</a> <span class="name">end</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          _a,e,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">end</span> <a title="precedes">precedes</a> <span class="name">inv</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="specialization-generation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">specializationOf(e2,e1)</span>\n' ; 
+x=x+ '        and <span class="name">wasGeneratedBy(gen1; e1,_a1,_t1,_attrs1)</span>\n' ; 
+x=x+ '        and <span class="name">wasGeneratedBy(gen2; e2,_a2,_t2,_attrs2)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">gen1</span> <a>precedes</a>\n' ; 
+x=x+ '        <span class="name">gen2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="specialization-invalidation-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">specializationOf(e1,e2)</span>\n' ; 
+x=x+ '        and <span class="name">wasInvalidatedBy(inv1; e1,_a1,_t1,_attrs1)</span>\n' ; 
+x=x+ '        and <span class="name">wasInvalidatedBy(inv2; e2,_a2,_t2,_attrs2)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="name">inv1</span> <a>precedes</a>\n' ; 
+x=x+ '        <span class="name">inv2</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="wasAssociatedWith-ordering">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following inferences, <span class="name">_pl</span> MAY be a\n' ; 
+x=x+ '        placeholder <span class="name">-</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '          ag,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span> and <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">end2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          ag,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">start1</span> <a title="precedes">precedes</a>\n' ; 
+x=x+ '          <span class="name">end2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span> and <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">start1</span> <a title="precedes">precedes</a>\n' ; 
+x=x+ '          <span class="name">end2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="wasAttributedTo-ordering">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAttributedTo(_at;\n' ; 
+x=x+ '          e,ag,_attrs)</span> and <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAttributedTo(_at;\n' ; 
+x=x+ '          e,ag,_attrs)</span> and <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span> <span class="name">start1</span> <a title="precedes">precedes</a> <span class="name">gen2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="actedOnBehalfOf-ordering">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_del;\n' ; 
+x=x+ '          ag2,ag1,_a,_attrs)</span> and <span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag1,_a1,_t1,_attrs1)</span> and <span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '          ag2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">gen1</span> <a title="precedes">precedes</a> <span class="name">inv2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(_del;\n' ; 
+x=x+ '          ag2,ag1,_a,_attrs)</span> and <span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag1,_e1,_a1,_t1,_attrs1)</span> and <span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          ag2,_e2,_a2,_t2,_attrs2)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">start1</span> <a title="precedes">precedes</a>\n' ; 
+x=x+ '          <span class="name">end2</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="typing">\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">entity(e,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">agent(ag,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">activity(a,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">used(u;\n' ; 
+x=x+ '          a,e,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,a,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasInformedBy(id;\n' ; 
+x=x+ '          a2,a1,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a1)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a2,e,a1,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span> AND <span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a1)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a2,e,a1,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a2)</span> AND <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span> AND <span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a1)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g2, u1, attrs)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">\'entity\' isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; typeOf(e1)</span> AND <span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span>. In this constraint, <span class="name">a</span>,\n' ; 
+x=x+ '          <span class="name">g2</span>, and <span class="name">u1</span> MUST\n' ; 
+x=x+ '          NOT be placeholders.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, -, -, -, attrs)</span> <span class="conditional">THEN</span>\n' ; 
+x=x+ '          <span class="name">\'entity\' isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin; typeOf(e1)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attr)</span> <span class="conditional">THEN</span> <span class="name">\'entity\' isin; typeOf(e)</span> AND <span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,pl,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(pl)</span>. In this constraint, <span class="name">pl</span>\n' ; 
+x=x+ '          MUST NOT be a placeholder.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,-,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'activity\' isin; typeOf(a)</span> AND <span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,a,attrs)</span> <span class="conditional">THEN</span> <span class="name">\'agent\' isin; typeOf(ag2)</span> AND <span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag1)</span> AND <span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">alternateOf(e2,\n' ; 
+x=x+ '          e1)</span> <span class="conditional">THEN</span> <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(e1)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">specializationOf(e2,\n' ; 
+x=x+ '          e1)</span> <span class="conditional">THEN</span> <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e2)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(e1)</span>.\n' ; 
+x=x+ '           <!--  <li> <span class=\'conditional\'>IF</span> <span\n' ; 
+x=x+ '            class=\'name\'>mentionOf(e2,e1,b)</span> <span\n' ; 
+x=x+ '            class=\'conditional\'>THEN</span> <span class="name">\'entity\' isin;\n' ; 
+x=x+ '            typeOf(e2)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '            typeOf(e1)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '            typeOf(b)</span>. -->\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">hadMember(c,e)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="name">\'prov:Collection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span> AND <span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(c)</span> AND <span class="name">\'entity\' isin; typeOf(e)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">entity(c,[prov:type=\'prov:EmptyCollection\'])</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(c)</span> AND <span class="name">\'prov:Collection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span>AND <span class="name">\'prov:EmptyCollection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint-example" id="impossible-example">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">hyp<sub>1</sub></span>\n' ; 
+x=x+ '        and ... and <span class="name">hyp<sub>n</sub></span> <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="impossible-unspecified-derivation-generation-use">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        In the following rules, <span class="name">g</span> and <span class="name">u</span> MUST NOT be <span class="name">-</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <ol>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,-,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,-,u,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '        <li>\n' ; 
+x=x+ '          <span class="conditional">IF</span> <span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,u,attrs)</span>\n' ; 
+x=x+ '          <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '        </li>\n' ; 
+x=x+ '      </ol>\n' ; 
+x=x+ '    </div><div class="constraint" id="impossible-specialization-reflexive">\n' ; 
+x=x+ '      <!--  <p> For any entity <span class=\'name\'>e</span>, it is not the case\n' ; 
+x=x+ '        that <span class=\'name\'>specializationOf(e,e)</span> holds.</p> -->\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">specializationOf(e,e)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="impossible-property-overlap">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        For each <span class="name">r</span> and <span class="name">s</span> in\n' ; 
+x=x+ '        { <span class="name">used</span>, <span class="name">wasGeneratedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasInvalidatedBy</span>, <span class="name">wasStartedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasAttributedTo</span>, <span class="name">wasAssociatedWith</span>,\n' ; 
+x=x+ '        <span class="name">actedOnBehalfOf</span>} such that <span class="name">r</span>\n' ; 
+x=x+ '        and <span class="name">s</span> are different relation names, the\n' ; 
+x=x+ '        following constraint holds:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">r(id; a<sub>1</sub>,...,a<sub>m</sub>)</span>\n' ; 
+x=x+ '        and <span class="name">s(id; b<sub>1</sub>,...,b<sub>n</sub>)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        Since <span class="name">wasInfluencedBy</span> is a superproperty of\n' ; 
+x=x+ '        many other properties, it is excluded from the set of properties whose\n' ; 
+x=x+ '        identifiers are required to be pairwise disjoint. The following example\n' ; 
+x=x+ '        illustrates this observation:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre xml:space="preserve">\n' ; 
+x=x+ 'wasInfluencedBy(id;e2,e1)\n' ; 
+x=x+ 'wasDerivedFrom(id;e2,e1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        This satisfies the disjointness constraint.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        There is, however, no constraint requiring that every influence\n' ; 
+x=x+ '        relationship is accompanied by a more specific relationship having the\n' ; 
+x=x+ '        same identifier. The following valid example illustrates this\n' ; 
+x=x+ '        observation:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '<pre xml:space="preserve">\n' ; 
+x=x+ 'wasInfluencedBy(id; e2,e1)\n' ; 
+x=x+ '</pre>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        This is valid; there is no inferrable information about what kind of\n' ; 
+x=x+ '        influence relates <span class="name">e2</span> and <span class="name">e1</span>,\n' ; 
+x=x+ '        other than its identity.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="impossible-object-property-overlap">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        For each <span class="name">p</span> in {<span class="name">entity</span>,\n' ; 
+x=x+ '        <span class="name">activity</span> or <span class="name">agent</span>}\n' ; 
+x=x+ '        and for each <span class="name">r</span> in { <span class="name">used</span>,\n' ; 
+x=x+ '        <span class="name">wasGeneratedBy</span>, <span class="name">wasInvalidatedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasInfluencedBy</span>, <span class="name">wasStartedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasEndedBy</span>, <span class="name">wasInformedBy</span>,\n' ; 
+x=x+ '        <span class="name">wasDerivedFrom</span>, <span class="name">wasAttributedTo</span>,\n' ; 
+x=x+ '        <span class="name">wasAssociatedWith</span>, <span class="name">actedOnBehalfOf</span>},\n' ; 
+x=x+ '        the following impossibility constraint holds:\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">p(id,a<sub>1</sub>,...,a<sub>n</sub>)</span>\n' ; 
+x=x+ '        and <span class="name">r(id; b<sub>1</sub>,...,b<sub>n</sub>)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="constraint" id="entity-activity-disjoint">\n' ; 
+x=x+ '      <!--  <p>It is not the case that <span\n' ; 
+x=x+ '        class="name">entity(id,_attrs1)</span> and <span\n' ; 
+x=x+ '        class="name">activity(id,_t1,_t2,_attrs2)</span>. </p> -->\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">\'entity\' isin;\n' ; 
+x=x+ '        typeOf(id)</span> AND <span class="name">\'activity\' isin; typeOf(id)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      There is no disjointness between entities and agents. This is because one\n' ; 
+x=x+ '      might want to make statements about the provenance of an agent, by making\n' ; 
+x=x+ '      it an entity. For example, one can assert both <span class="name">entity(a1)</span>\n' ; 
+x=x+ '      and <span class="name">agent(a1)</span> in a valid PROV instance.\n' ; 
+x=x+ '      Similarly, there is no disjointness between activities and agents, and one\n' ; 
+x=x+ '      can assert both <span class="name">activity(a1)</span> and <span class="name">agent(a1)</span> in a valid PROV instance. However, one\n' ; 
+x=x+ '      should keep in mind that some specific types of agents may not be suitable\n' ; 
+x=x+ '      as activities. For example, asserting statements such as <span class="name">agent(Bob,\n' ; 
+x=x+ '      [type=prov:Person])</span> and <span class="name">activity(Bob)</span> is\n' ; 
+x=x+ '      discouraged. In these cases, disjointness can be ensured by explicitly\n' ; 
+x=x+ '      asserting the agent as both agent and entity, and applying <a class="rule-ref" href="#entity-activity-disjoint"><span>TBD</span></a>.\n' ; 
+x=x+ '    </div><div class="constraint" id="membership-empty-collection">\n' ; 
+x=x+ '      <p>\n' ; 
+x=x+ '        <span class="conditional">IF</span> <span class="name">hasMember(c,e)</span>\n' ; 
+x=x+ '        and <span class="name">\'prov:EmptyCollection\' isin; typeOf(c)</span>\n' ; 
+x=x+ '        <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.\n' ; 
+x=x+ '      </p>\n' ; 
+x=x+ '    </div><div class="remark">\n' ; 
+x=x+ '      Implementations should decide up front what reasoning about co-reference\n' ; 
+x=x+ '      should be applied, and rewrite the instance (by replacing co-referent\n' ; 
+x=x+ '      identifiers with a single common identifier) to make this explicit, before\n' ; 
+x=x+ '      doing validation, equivalence checking, or normalization. All of the\n' ; 
+x=x+ '      following definitions assume that the application has already determined\n' ; 
+x=x+ '      which URIs in the PROV instance are co-referent (e.g. <span class="name">owl:sameAs</span>\n' ; 
+x=x+ '      as a result of OWL reasoning).\n' ; 
+x=x+ '    </div><div class="name">\n' ; 
+x=x+ '      document<br /> nbsp;nbsp;nbsp;B<sub>0</sub><br /> nbsp;nbsp;nbsp;bundle\n' ; 
+x=x+ '      b<sub>1</sub><br /> nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;B<sub>1</sub><br />\n' ; 
+x=x+ '      nbsp;nbsp;nbsp;endBundle<br /> nbsp;nbsp;nbsp;...<br /> nbsp;nbsp;nbsp;bundle\n' ; 
+x=x+ '      b<sub>n</sub><br /> nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;B<sub>n</sub><br />\n' ; 
+x=x+ '      nbsp;nbsp;nbsp;endBundle<br /> endDocument\n' ; 
+x=x+ '    </div><span class="name">_</span><span class="name">specializationOf</span><span class="name">alternateOf</span><span class="name">alternateOf</span><span class="name">specializationOf</span><span class="name">entity</span><span class="name">typeOf(id)</span><span class="name">-</span><span class="math">t</span><span class="math">[x<sub>1</sub>\n' ; 
+x=x+ '      = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span><span class="math">S = [x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span><span class="math">x<sub>i</sub></span><span class="math">S</span><span class="math">S(x<sub>i</sub>) = t<sub>i</sub></span><span class="math">c</span><span class="math">S(c) = c</span><span class="math">p(t<sub>1</sub>,...,t<sub>n</sub>)</span><span class="math">S(p(t<sub>1</sub>,...,t<sub>n</sub>))\n' ; 
+x=x+ '      = p(S(t<sub>1</sub>),...,S(t<sub>n</sub>))</span><span class="math">S</span><span class="math">I</span><span class="math">I</span><span class="math">S(I)\n' ; 
+x=x+ '      = {S(A) | A ∈ I}</span><span class="math">t = t\'</span><span class="math">precedes(t,t\')</span><span class="math">strictly_precedes(t,t\')</span><span class="name">\'type\' ∈ typeOf(id)</span><span class="name">typeOf(id,\'type\')</span><span class="name">INVALID</span><span class="math">False</span><span class="name">A</span><span class="conditional">IF AND ONLY IF</span><span class="name">y<sub>1</sub></span><span class="name">y<sub>m</sub></span><span class="name">B<sub>1</sub></span><span class="name">B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub>\n' ; 
+x=x+ '        . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub></span><span class="math">x<sub>n</sub></span><span class="conditional">IF</span><span class="name">A<sub>1</sub></span><span class="name">A<sub>l</sub></span><span class="conditional">THEN</span><span class="name">y<sub>1</sub></span><span class="name">y<sub>m</sub></span><span class="name">B<sub>1</sub></span><span class="name">B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A<sub>1</sub>\n' ; 
+x=x+ '        ∧ ... ∧ A<sub>l</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub>\n' ; 
+x=x+ '        ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub></span><span class="math">x<sub>n</sub></span><span class="conditional">IF</span><span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="conditional">THEN</span><span class="name">C</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>.\n' ; 
+x=x+ '        A<sub>1</sub> ∧ ... ∧ A<sub>l</sub> ⇒ C</span><span class="conditional">IF</span><span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="conditional">THEN INVALID</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub>\n' ; 
+x=x+ '        ⇒ False</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub>\n' ; 
+x=x+ '        . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A</span><span class="math">∃ y<sub>1</sub>...y<sub>m</sub>.\n' ; 
+x=x+ '        B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>. A<sub>1</sub>\n' ; 
+x=x+ '        ∧ ... ∧ A<sub>l</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub>\n' ; 
+x=x+ '        ∧ ... ∧ B<sub>k</sub></span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math"> y<sub>1</sub>...y<sub>m</sub></span><span class="math">B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub>\n' ; 
+x=x+ '        ∧ ... ∧ A<sub>l</sub> ⇒ C</span><span class="math">x<sub>1</sub>,....,x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">C</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub>\n' ; 
+x=x+ '        ⇒ False</span><span class="math">∄\n' ; 
+x=x+ '        x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">x<sub>1</sub>...x<sub>n</sub></span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>l</sub></span><span class="math">t,t\'</span><span class="math">S</span><span class="math">S(t)\n' ; 
+x=x+ '      = S(t\')</span><span class="math">t</span><span class="math">t\'</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>.\n' ; 
+x=x+ '        A ⇔ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">A</span><span class="math"> B<sub>1</sub>, ..., B<sub>k</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math"> B<sub>1</sub>,\n' ; 
+x=x+ '        ..., B<sub>k</sub></span><span class="math">A</span><span class="math">A</span><span class="math">A</span><span class="math">A</span><span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>.\n' ; 
+x=x+ '        A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> .\n' ; 
+x=x+ '        B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math"> A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math">B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span><span class="math">y<sub>1</sub>,...,y<sub>m</sub></span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>.\n' ; 
+x=x+ '        A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ t = t\'</span><span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span><span class="math">t</span><span class="math">t\'</span><span class="math">R(x,y) ⇒ ∃z. R(x,z) ∧R(z,y)</span><span class="math">{R(a,b)}</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="name">\'agent\'</span><span class="name">entity(id)</span><span class="name">activity(id)</span><span class="name">agent(id)</span><span class="name">\'entity\'\n' ; 
+x=x+ '      ∈ typeOf(id)</span><span class="name">entity(id)</span><span class="name">\'entity\' ∈\n' ; 
+x=x+ '      typeOf(id)</span><span class="name">entity(id)</span><span class="name">entity(id,attrs)</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>.\n' ; 
+x=x+ '          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ precedes(t,t\')</span><span class="math"> A<sub>1</sub>\n' ; 
+x=x+ '          ∧ ... ∧ A<sub>p</sub></span><span class="math">precedes(t,t\')</span><span class="math">typeOf(id)</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>.\n' ; 
+x=x+ '          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ \'type\' ∈ typeOf(id) </span><span class="name">\'type\'</span><span class="math">typeOf(id)</span><span class="name">\'type\' ∈ typeOf(id)</span><span class="math">typeOf</span><span class="math">∀ x<sub>1</sub>...x<sub>n</sub>.\n' ; 
+x=x+ '          A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ False</span><span class="math">A<sub>1</sub> ∧ ... ∧\n' ; 
+x=x+ '          A<sub>p</sub></span><span class="math">I<sub>1</sub></span><span class="math">I<sub>2</sub></span><span class="math">S</span><span class="math">S(I<sub>1</sub>) = I<sub>2</sub></span><span class="name">defined_stmt</span><span class="conditional">IF AND\n' ; 
+x=x+ '        ONLY IF</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">defining_stmt<sub>1</sub></span><span class="name">defining_stmt<sub>n</sub></span><span class="name">defined_stmt</span><span class="name">defined_stmt</span><span class="name">defining_stmt<sub>1</sub></span><span class="name">defining_stmt<sub>n</sub></span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>k</sub></span><span class="conditional">THEN</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">concl<sub>1</sub></span><span class="name">concl<sub>n</sub></span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>k</sub></span><span class="name">concl<sub>1</sub></span><span class="name">concl<sub>n</sub></span><span class="name">a<sub>1</sub></span><span class="name">a<sub>m</sub></span><span class="name">-</span><span class="name">a<sub>1</sub></span><span class="name">a<sub>n</sub></span><span class="name">id</span><span class="name">start</span><span class="name">end</span><span class="name">e</span><span class="name">a</span><span class="name">attrs</span><span class="name">-</span><span class="math">S</span><span class="math">I</span><span class="math">x</span><span class="math">S(x)</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">r(a<sub>1</sub>,...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">id</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(-; a<sub>1</sub>,...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">id</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">p</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span><span class="name">a<sub>n</sub></span><span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="conditional">IF AND ONLY IF</span><span class="name">p(a<sub>1</sub>,...,a<sub>n</sub>,[])</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidated</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">a<sub>n</sub></span><span class="name">r(id; a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="conditional">IF AND ONLY IF</span><span class="name">r(id;\n' ; 
+x=x+ '            a<sub>1</sub>,...,a<sub>n</sub>,[])</span><span class="name">alternateOf</span><span class="name">specializationOf</span><span class="name">activity(id,attrs)</span><span class="conditional">IF\n' ; 
+x=x+ '          AND ONLY IF</span><span class="name">activity(id,-,-,attrs)</span><span class="name">wasGeneratedBy(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span><span class="name">used(id; a,attrs)</span><span class="conditional">IF\n' ; 
+x=x+ '          AND ONLY IF</span><span class="name">used(id; a,-,-,attrs)</span><span class="name">wasStartedBy(id; a,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a,-,-,-,attrs)</span><span class="name">wasEndedBy(id; a,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a,-,-,-,attrs)</span><span class="name">wasInvalidatedBy(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span><span class="name">wasDerivedFrom(id; e2,e1,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2,e1,-,-,-,attrs)</span><span class="name">wasAssociatedWith(id; e,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          e,-,-,attrs)</span><span class="name">actedOnBehalfOf(id; a2,a1,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          a2,a1,-,attrs)</span><span class="name">-</span><span class="name">-</span><span class="name">-</span><span class="name">wasDerivedFrom</span><span class="name">wasAssociatedWith</span><span class="name">-</span><span class="name">-</span><span class="name">a</span><span class="name">-</span><span class="name">wasDerivedFrom</span><span class="name">g,u</span><span class="name">a</span><span class="name">u</span><span class="name">g</span><span class="name">e1</span><span class="name">e2</span><span class="name">a</span><span class="name">a</span><span class="name">activity(id,-,t2,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">t1</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">t2</span><span class="name">activity(id,t1,-,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">t2</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">t1</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">i</span><span class="name">r</span><span class="name">r</span><span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>, -, a<sub>i+1</sub>,\n' ; 
+x=x+ '            ...,a<sub>n</sub>) </span><span class="conditional">IF AND ONLY IF</span><span class="name">a\'</span><span class="name">r(a<sub>0</sub>;...,a<sub>i-1</sub>,a\',a<sub>i+1</sub>,...,a<sub>n</sub>)</span><span class="name">a</span><span class="name">-</span><span class="name">u</span><span class="name">wasDerivedFrom(id;e2,e1,a,-,u,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">g</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '            e2,e1,a,g,u,attrs)</span><span class="name">a</span><span class="name">-</span><span class="name">g</span><span class="name">wasDerivedFrom(id;e2,e1,a,g,-,attrs)</span><span class="conditional">IF AND ONLY IF</span><span class="name">u</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '            e2,e1,a,g,u,attrs)</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '        a,ag,-,attr)</span><span class="name">wasAssociatedWith(id; a,ag,p,attr)</span><span class="name">p</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '        e2,e1,a,gen,use,attrs)</span><span class="name">use</span><span class="name">e1</span><span class="name">gen</span><span class="name">e2</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '        e2,e1,-,-,-,attrs)</span><span class="conditional">IF</span><span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,_attrs)</span><span class="conditional">THEN</span><span class="name">e</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">_use</span><span class="name">_t2</span><span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a1,_t1,[])</span><span class="name">used(_use; a2,e,_t2,[])</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a1,_t1,_attrs1)</span><span class="name">used(_id2;\n' ; 
+x=x+ '        a2,e,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">_id</span><span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,[])</span><span class="name">wasInformedBy</span><span class="name">wasInformedBy(a3,a1)</span><span class="name">wasInformedBy(a2,a1)</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="name">a2</span><span class="name">wasInformedBy(a3,a2)</span><span class="name">e2</span><span class="name">e2</span><span class="name">a2</span><span class="name">a3</span><span class="name">e1</span><span class="name">e2</span><span class="name">a3</span><span class="name">a1</span><span class="name">a3</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">entity(e,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_a1</span><span class="name">_t1</span><span class="name">_inv</span><span class="name">_a2</span><span class="name">_t2</span><span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,_a1,_t1,[])</span><span class="name">wasInvalidatedBy(_inv;\n' ; 
+x=x+ '        e,_a2,_t2,[])</span><span class="conditional">IF</span><span class="name">activity(a,t1,t2,_attrs)</span><span class="conditional">THEN</span><span class="name">_start</span><span class="name">_e1</span><span class="name">_a1</span><span class="name">_end</span><span class="name">_a2</span><span class="name">_e2</span><span class="name">wasStartedBy(_start;\n' ; 
+x=x+ '        a,_e1,_a1,t1,[])</span><span class="name">wasEndedBy(_end;\n' ; 
+x=x+ '        a,_e2,_a2,t2,[])</span><span class="name">a</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">wasStartedBy(_id;\n' ; 
+x=x+ '        a,e1,a1,_t,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span><span class="name">a</span><span class="name">e1</span><span class="name">e1</span><span class="name">a1</span><span class="conditional">IF</span><span class="name">wasEndedBy(_id;\n' ; 
+x=x+ '        a,e1,a1,_t,_attrs)</span><span class="conditional">THEN</span><span class="name">_gen</span><span class="name">_t1</span><span class="name">wasGeneratedBy(_gen; e1,a1,_t1,[])</span><span class="name">a</span><span class="name">gen2</span><span class="name">use1</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;\n' ; 
+x=x+ '        e2,e1,a,gen2,use1,_attrs)</span><span class="conditional">THEN</span><span class="name">_t1</span><span class="name">_t2</span><span class="name">used(use1; a,e1,_t1,[])</span><span class="name">wasGeneratedBy(gen2; e2,a,_t2,[])</span><span class="name">_a</span><span class="name">_g</span><span class="name">_u</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;\n' ; 
+x=x+ '        e2,e1,_a,_g,_u,[prov:type=\'prov:Revision\'])</span><span class="conditional">THEN</span><span class="name">alternateOf(e2,e1)</span><span class="name">wasDerivedFrom</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_att;\n' ; 
+x=x+ '        e,ag,_attrs)</span><span class="conditional">THEN</span><span class="name">a</span><span class="name">_t</span><span class="name">_gen</span><span class="name">_assoc</span><span class="name">_pl</span><span class="name">wasGeneratedBy(_gen;\n' ; 
+x=x+ '        e,a,_t,[])</span><span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '        a,ag,_pl,[])</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_id;\n' ; 
+x=x+ '        ag1, ag2, a, _attrs)</span><span class="conditional">THEN</span><span class="name">_id1</span><span class="name">_pl1</span><span class="name">_id2</span><span class="name">_pl2</span><span class="name">wasAssociatedWith(_id1; a, ag1, _pl1, [])</span><span class="name">wasAssociatedWith(_id2; a, ag2, _pl2, [])</span><span class="name">-</span><span class="name">_pl1</span><span class="name">_pl2</span><span class="name">-</span><span class="name">wasInfluencedBy</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,a,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, a, attrs)</span><span class="conditional">IF</span><span class="name">used(id;\n' ; 
+x=x+ '          a,e,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a, e, attrs)</span><span class="conditional">IF</span><span class="name">wasInformedBy(id;\n' ; 
+x=x+ '          a2,a1,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, a1, attrs)</span><span class="conditional">IF</span><span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a2,e,a1,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, e, attrs)</span><span class="conditional">IF</span><span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a2,e,_a1,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a2, e, attrs)</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,_t,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, a, attrs)</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g, u, attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e2, e1, attrs)</span><span class="name">a</span><span class="name">g</span><span class="name">u</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; e, ag, attrs)</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,_pl,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; a, ag, attrs)</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,_a,attrs)</span><span class="conditional">THEN</span><span class="name">wasInfluencedBy(id; ag2, ag1, attrs)</span><span class="name">alternateOf</span><span class="conditional">IF</span><span class="name">entity(e)</span><span class="conditional">THEN</span><span class="name">alternateOf(e,e)</span><span class="conditional">IF</span><span class="name">alternateOf(e1,e2)</span><span class="name">alternateOf(e2,e3)</span><span class="conditional">THEN</span><span class="name">alternateOf(e1,e3)</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><span class="conditional">IF</span><span class="name">specializationOf(e1,e2)</span><span class="name">specializationOf(e2,e3)</span><span class="conditional">THEN</span><span class="name">specializationOf(e1,e3)</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><span class="conditional">IF</span><span class="name">entity(e1, attrs)</span><span class="name">specializationOf(e2,e1)</span><span class="conditional">THEN </span><span class="name">entity(e2, attrs)</span><span class="name">id</span><span class="name">start</span><span class="name">end</span><span class="name">e</span><span class="name">a</span><span class="name">attrs</span><span class="name">activity(a,2011-11-16T16:00:00,_t1,[a=1])</span><span class="name">activity(a,_t2,2011-11-16T18:00:00,[b=2])</span><span class="name">_t1</span><span class="name">_t2</span><span class="name">a</span><span class="name">activity(a,2011-11-16T16:00:00,2011-11-16T18:00:00,[a=1,b=2])</span><span class="math">S</span><span class="math">S(t)\n' ; 
+x=x+ '      = S(t\')</span><span class="name">t</span><span class="name">t\'</span><span class="name">-</span><span class="name">t\n' ; 
+x=x+ '        = t\'</span><span class="name">x</span><span class="name">t\'</span><span class="name">-</span><span class="name">[x=t\']</span><span class="name">t\'=x</span><span class="name">t</span><span class="name">-</span><span class="name">x\'</span><span class="name">x</span><span class="name">t</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="name">t<sub>1</sub></span><span class="name">u<sub>1</sub></span><span class="name">t<sub>n</sub></span><span class="name">u<sub>n</sub></span><span class="math">I</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="name">t<sub>1</sub></span><span class="name">u<sub>1</sub></span><span class="name">t<sub>n</sub></span><span class="name">u<sub>n</sub></span><span class="math">I</span><span class="math">I</span><span class="math">S</span><span class="math">S</span><span class="math">I</span><span class="math">S(I)</span><span class="name">a<sub>k</sub></span><span class="conditional">KEY</span><span class="name">r(a<sub>0</sub>;\n' ; 
+x=x+ '        a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span><span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span><span class="math">I</span><span class="name">a<sub>k</sub> = b<sub>k</sub></span><span class="name">a<sub>0</sub>\n' ; 
+x=x+ '        = b<sub>0</sub> </span><span class="name">a<sub>n</sub> = b<sub>n</sub></span><span class="math">I</span><span class="math">S</span><span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span><span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span><span class="math">I</span><span class="math">I\'</span><span class="name">{r(S(a<sub>0</sub>); S(a<sub>1</sub>),...S(a<sub>n</sub>),attrs1\n' ; 
+x=x+ '        ∪ attrs2)}</span><span class="math">S(I\')</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">entity(id,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">activity(id,t1,t2,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">agent(id,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasGeneratedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">used(id; a,e,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInformedBy(id; a2,a1,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasStartedBy(id; a2,e,a1,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasEndedBy(id; a2,e,a1,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g2, u1, attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attr)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,pl,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,-,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,a,attrs)</span><span class="name">id</span><span class="conditional">KEY</span><span class="name">wasInfluencedBy(id;\n' ; 
+x=x+ '          o2,o1,attrs)</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e,a,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(inv1;\n' ; 
+x=x+ '        e,a,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '        e,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">_t</span><span class="conditional">IF</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '        a,_e1,a0,_t1,_attrs1)</span><span class="name">wasStartedBy(start2;\n' ; 
+x=x+ '        a,_e2,a0,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">start2</span><span class="conditional">IF</span><span class="name">wasEndedBy(end1;\n' ; 
+x=x+ '        a,_e1,a0,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '        a,_e2,a0,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">activity(a2,t1,_t2,_attrs)</span><span class="name">wasStartedBy(_start; a2,_e,_a1,t,_attrs)</span><span class="conditional">THEN</span><span class="name">t1</span><span class="name">t</span><span class="conditional">IF</span><span class="name">activity(a2,_t1,t2,_attrs)</span><span class="name">wasEndedBy(_end; a2,_e,_a1,t,_attrs1)</span><span class="conditional">THEN</span><span class="name">t2</span><span class="name">t</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="name">evt1</span><span class="name">evt2</span><span class="conditional">IF</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasStartedBy(start2;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">start2</span><span class="conditional">IF</span><span class="name">wasEndedBy(end1;\n' ; 
+x=x+ '        a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '        a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span><span class="name">used(use;\n' ; 
+x=x+ '          a,_e2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">use</span><span class="conditional">IF</span><span class="name">used(use;\n' ; 
+x=x+ '          a,_e1,_t1,_attrs1)</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">use</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          _e2,a,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">gen</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          _e,a,_t,_attrs)</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">end</span><span class="name">a1</span><span class="name">a2</span><span class="name">a1</span><span class="name">a2</span><span class="conditional">IF</span><span class="name">wasInformedBy(_id;\n' ; 
+x=x+ '        a2,a1,_attrs)</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '        a1,_e1,_a1\',_t1,_attrs1)</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '        a2,_e2,_a2\',_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span><span class="name">used(use;\n' ; 
+x=x+ '        _a2,e,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">use</span><span class="conditional">IF</span><span class="name">used(use;\n' ; 
+x=x+ '        _a1,e,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">use</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(inv1;\n' ; 
+x=x+ '        e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '        e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">e2</span><span class="name">e1</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="name">_a</span><span class="name">gen2</span><span class="name">use1</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_d;\n' ; 
+x=x+ '        _e2,_e1,_a,gen2,use1,_attrs)</span><span class="conditional">THEN</span><span class="name">use1</span><span class="name">gen2</span><span class="name">_a</span><span class="name">_g</span><span class="name">_u</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_d;\n' ; 
+x=x+ '        e2,e1,_a,_g,_u,attrs)</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '        e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '        e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="name">e1</span><span class="name">e2</span><span class="name">e1</span><span class="name">e2</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,_a1,_t1,_attrs1)</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          _a,e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">start</span><span class="conditional">IF</span><span class="name">wasStartedBy(start;\n' ; 
+x=x+ '          _a,e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          _a,e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen</span><span class="name">end</span><span class="conditional">IF</span><span class="name">wasEndedBy(end;\n' ; 
+x=x+ '          _a,e,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">end</span><span class="name">inv</span><span class="conditional">IF</span><span class="name">specializationOf(e2,e1)</span><span class="name">wasGeneratedBy(gen1; e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2; e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">specializationOf(e1,e2)</span><span class="name">wasInvalidatedBy(inv1; e1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2; e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">inv1</span><span class="name">inv2</span><span class="name">_pl</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '          ag,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">inv2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          a,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          ag,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(_assoc;\n' ; 
+x=x+ '          a,ag,_pl,_attrs)</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          a,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_at;\n' ; 
+x=x+ '          e,ag,_attrs)</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">wasAttributedTo(_at;\n' ; 
+x=x+ '          e,ag,_attrs)</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag,_e1,_a1,_t1,_attrs1)</span><span class="name">wasGeneratedBy(gen2;\n' ; 
+x=x+ '          e,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">gen2</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_del;\n' ; 
+x=x+ '          ag2,ag1,_a,_attrs)</span><span class="name">wasGeneratedBy(gen1;\n' ; 
+x=x+ '          ag1,_a1,_t1,_attrs1)</span><span class="name">wasInvalidatedBy(inv2;\n' ; 
+x=x+ '          ag2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">gen1</span><span class="name">inv2</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(_del;\n' ; 
+x=x+ '          ag2,ag1,_a,_attrs)</span><span class="name">wasStartedBy(start1;\n' ; 
+x=x+ '          ag1,_e1,_a1,_t1,_attrs1)</span><span class="name">wasEndedBy(end2;\n' ; 
+x=x+ '          ag2,_e2,_a2,_t2,_attrs2)</span><span class="conditional">THEN</span><span class="name">start1</span><span class="name">end2</span><span class="name">typeOf</span><span class="name">typeOf(e)</span><span class="name">e</span><span class="name">typeOf</span><span class="name">id</span><span class="name">typeOf(id)</span><span class="name">\'entity\'</span><span class="name">\'activity\'</span><span class="name">\'agent\'</span><span class="name">\'prov:Collection\'</span><span class="name">\'prov:EmptyCollection\'</span><span class="name">typeOf</span><span class="name">\'prov:EmptyCollection\'</span><span class="name">\'prov:Collection\'</span><span class="name">\'agent\'</span><span class="name">\'entity\'</span><span class="name">\'plan\'</span><span class="name">wasAssociatedWith</span><span class="conditional">IF</span><span class="name">entity(e,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">agent(ag,attrs)</span><span class="conditional">THEN</span><span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">activity(a,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">used(u;\n' ; 
+x=x+ '          a,e,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">wasGeneratedBy(gen;\n' ; 
+x=x+ '          e,a,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">wasInformedBy(id;\n' ; 
+x=x+ '          a2,a1,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasStartedBy(id;\n' ; 
+x=x+ '          a2,e,a1,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span><span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasEndedBy(id;\n' ; 
+x=x+ '          a2,e,a1,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a2)</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e)</span><span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a1)</span><span class="conditional">IF</span><span class="name">wasInvalidatedBy(id;\n' ; 
+x=x+ '          e,a,t,attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, a, g2, u1, attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e2)</span><span class="name">\'entity\' isin; typeOf(e1)</span><span class="name">\'activity\'\n' ; 
+x=x+ '          isin; typeOf(a)</span><span class="name">a</span><span class="name">g2</span><span class="name">u1</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(id;\n' ; 
+x=x+ '          e2, e1, -, -, -, attrs)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e2)</span><span class="name">\'entity\' isin; typeOf(e1)</span><span class="conditional">IF</span><span class="name">wasAttributedTo(id;\n' ; 
+x=x+ '          e,ag,attr)</span><span class="conditional">THEN</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,pl,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span><span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(pl)</span><span class="name">pl</span><span class="conditional">IF</span><span class="name">wasAssociatedWith(id;\n' ; 
+x=x+ '          a,ag,-,attrs)</span><span class="conditional">THEN</span><span class="name">\'activity\' isin; typeOf(a)</span><span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag)</span><span class="conditional">IF</span><span class="name">actedOnBehalfOf(id;\n' ; 
+x=x+ '          ag2,ag1,a,attrs)</span><span class="conditional">THEN</span><span class="name">\'agent\' isin; typeOf(ag2)</span><span class="name">\'agent\'\n' ; 
+x=x+ '          isin; typeOf(ag1)</span><span class="name">\'activity\' isin;\n' ; 
+x=x+ '          typeOf(a)</span><span class="conditional">IF</span><span class="name">alternateOf(e2,\n' ; 
+x=x+ '          e1)</span><span class="conditional">THEN</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e2)</span><span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(e1)</span><span class="conditional">IF</span><span class="name">specializationOf(e2,\n' ; 
+x=x+ '          e1)</span><span class="conditional">THEN</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(e2)</span><span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(e1)</span><span class="conditional">IF</span><span class="name">hadMember(c,e)</span><span class="conditional">THEN</span><span class="name">\'prov:Collection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span><span class="name">\'entity\' isin;\n' ; 
+x=x+ '          typeOf(c)</span><span class="name">\'entity\' isin; typeOf(e)</span><span class="conditional">IF</span><span class="name">entity(c,[prov:type=\'prov:EmptyCollection\'])</span><span class="conditional">THEN</span><span class="name">\'entity\'\n' ; 
+x=x+ '          isin; typeOf(c)</span><span class="name">\'prov:Collection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span><span class="name">\'prov:EmptyCollection\'\n' ; 
+x=x+ '          isin; typeOf(c)</span><span class="conditional">IF</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="math">I</span><span class="name">hyp<sub>1</sub></span><span class="name">hyp<sub>n</sub></span><span class="math">I</span><span class="math">I</span><span class="name">wasDerivedFrom(id;e1,e2,-,g,u,attrs)</span><span class="name">g</span><span class="name">u</span><span class="name">-</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,-,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,-,u,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">wasDerivedFrom(_id;_e2,_e1,-,g,u,attrs)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="conditional">IF</span><span class="name">specializationOf(e,e)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">r</span><span class="name">s</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="name">r</span><span class="name">s</span><span class="conditional">IF</span><span class="name">r(id; a<sub>1</sub>,...,a<sub>m</sub>)</span><span class="name">s(id; b<sub>1</sub>,...,b<sub>n</sub>)</span><span class="conditional">THEN INVALID</span><span class="name">wasInfluencedBy</span><span class="name">e2</span><span class="name">e1</span><span class="name">p</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span><span class="name">r</span><span class="name">used</span><span class="name">wasGeneratedBy</span><span class="name">wasInvalidatedBy</span><span class="name">wasInfluencedBy</span><span class="name">wasStartedBy</span><span class="name">wasEndedBy</span><span class="name">wasInformedBy</span><span class="name">wasDerivedFrom</span><span class="name">wasAttributedTo</span><span class="name">wasAssociatedWith</span><span class="name">actedOnBehalfOf</span><span class="conditional">IF</span><span class="name">p(id,a<sub>1</sub>,...,a<sub>n</sub>)</span><span class="name">r(id; b<sub>1</sub>,...,b<sub>n</sub>)</span><span class="conditional">THEN INVALID</span><span class="conditional">IF</span><span class="name">\'entity\' isin;\n' ; 
+x=x+ '        typeOf(id)</span><span class="name">\'activity\' isin; typeOf(id)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">entity(a1)</span><span class="name">agent(a1)</span><span class="name">activity(a1)</span><span class="name">agent(a1)</span><span class="name">agent(Bob,\n' ; 
+x=x+ '      [type=prov:Person])</span><span class="name">activity(Bob)</span><span class="conditional">IF</span><span class="name">hasMember(c,e)</span><span class="name">\'prov:EmptyCollection\' isin; typeOf(c)</span><span class="conditional">THEN</span><span class="conditional">INVALID</span><span class="name">owl:sameAs</span><span class="math">I</span><span class="math">I<sub>1</sub></span><span class="math">I<sub>1</sub></span><span class="math">I<sub>2</sub></span><span class="math">I<sub>2</sub></span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I</span><span class="math">I</span><span class="math">I<sub>3</sub></span><span class="math">I<sub>3</sub></span><span class="math">I</span><span class="math">I\'</span><span class="math">I</span><span class="math">I\'</span><span class="math">G</span><span class="math">G</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I</span><span class="math">I\'</span><span class="math">S</span><span class="math">I</span><span class="math">I\'</span><span class="math">S(I) = I\'</span><span class="name">n</span><span class="name">b<sub>1</sub>...b<sub>n</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">B<sub>0</sub></span><span class="name">i</span><span class="name">B<sub>i</sub></span><span class="name">b<sub>i</sub></span><span class="name">b<sub>1</sub>...b<sub>n</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,[b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">(B\'<sub>0</sub>,[b<sub>1</sub>=B\'<sub>1</sub>,...,b<sub>n</sub>=B\'<sub>n</sub>])</span><span class="name">B\'<sub>i</sub></span><span class="name">B<sub>i</sub></span><span class="name">i</span><span class="name">n</span><span class="name">B<sub>0</sub></span><span class="name">B<sub>n</sub></span><span class="name">b<sub>i</sub></span><span class="name">(B<sub>0</sub>,[b<sub>1</sub>=B<sub>1</sub>,...,b<sub>n</sub>=B<sub>n</sub>])</span><span class="name">(B\'<sub>0</sub>,[b<sub>1</sub>\'=B\'<sub>1</sub>,...,b\'<sub>m</sub>=B\'<sub>m</sub>])</span><span class="name">B<sub>0</sub></span><span class="name">B\'<sub>0</sub></span><span class="name">n = m</span><span class="name">P\n' ; 
+x=x+ '      : {1..n} -> {1..n}</span><span class="name">i</span><span class="name">b<sub>i</sub> = b\'<sub>P(i)</sub></span><span class="name">B<sub>i</sub></span><span class="name">B\'<sub>P(i)</sub></span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">x = y</span><span class="math">R</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">R</span><span class="math">X</span><span class="math">x R x</span><span class="math">x</span><span class="math">X</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">X</span><span class="math">x R x</span><span class="math">x<sub>1</sub>\n' ; 
+x=x+ '        R x<sub>2</sub> R ... R x<sub>n</sub> R x<sub>1</sub>.</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R x</span><span class="math">R</span><span class="math">X</span><span class="math">x</span><span class="math">y</span><span class="math">z</span><span class="math">X</span><span class="math">x R y</span><span class="math">y R z</span><span class="math">x R z</span><span class="math">φ(x<sub>1</sub>,...,x<sub>n</sub>)\n' ; 
+x=x+ '            ⇒ ∃y<sub>1</sub>,...,y<sub>m</sub>. ψ(x<sub>1</sub>,...,x<sub>n</sub>,y<sub>1</sub>,...,y<sub>m</sub>)</span><span class="math">x</span><span class="math">ψ</span><span class="math">x</span><span class="math">φ</span><span class="math">r.i</span><span class="math">x</span><span class="math">s.j</span><span class="math">r.i</span><span class="math">s.j</span><span class="math">y</span><span class="math">y</span><span class="math">ψ</span><span class="math">t.k</span><span class="math">r.i</span><span class="math">t.k</span><span class="name">wasGeneratedBy.i</span><span class="name">wasInformedBy.i</span><span class="name">used.i</span><span class="math">i</span><span class="name">attribute(id,a,v)</span><span class="name">r(id;a1,...,a<sub>n</sub>,[(k<sub>1</sub>,v<sub>1</sub>),...,(k<sub>m</sub>,v<sub>m</sub>)])</span><span class="name">r(id;a1,...,a<sub>n</sub>),attribute(id,k<sub>1</sub>,v<sub>1</sub>),...,attribute(id,k<sub>m</sub>,v<sub>m</sub>)</span><span class="name">entity</span><span class="name">activity</span><span class="name">agent</span></html>\n' ; 
+divs_string= x
 ' ' ;
Binary file presentations/iswc-2012/prov-dm/overview/images/prov-family.pptx has changed
Binary file presentations/iswc-2012/prov-dm/overview/images/prov-family/Slide1.jpg has changed
Binary file presentations/iswc-2012/prov-dm/overview/images/prov-family/Slide2.jpg has changed
Binary file presentations/iswc-2012/prov-dm/overview/images/prov-family/Slide3.jpg has changed
Binary file presentations/iswc-2012/prov-dm/overview/images/prov-family/Slide4.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/presentations/iswc-2012/prov-dm/overview/index2.html	Sun Nov 11 14:20:14 2012 -0500
@@ -0,0 +1,1558 @@
+
+<html>
+<head>
+	<meta charset="utf-8"/>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
+	
+	<title>W3C PROV</title>
+	
+	<meta name="description" content="An Presentation at the Dagstuhl seminar on provenance"/>
+	<meta name="author" content="Luc Moreau"/>
+	<meta name="viewport" content="width=1024, user-scalable=no"/>
+	
+	<!-- Core and extension CSS files -->
+	<link rel="stylesheet" href="extra.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/core/deck.core.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/goto/deck.goto.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/menu/deck.menu.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/navigation/deck.navigation.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/status/deck.status.css"/>
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/hash/deck.hash.css"/>
+
+	<link rel="stylesheet" href="../deckjs/imakewebthings-deck.js-bb4870a/extensions/notes/deck.notes.css"/>
+	
+	<!-- Theme CSS files (menu swaps these out) -->
+	<link rel="stylesheet" id="style-theme-link" href="../deckjs/imakewebthings-deck.js-bb4870a/themes/style/web-2.0.css"/>
+
+<!--
+	<link rel="stylesheet" id="transition-theme-link" href="../deckjs/imakewebthings-deck.js-bb4870a/themes/transition/horizontal-slide.css">
+-->
+	
+	<!-- Custom CSS just for this page -->
+	<link rel="stylesheet" href="introduction.css"/>
+	
+    <style type="text/css">
+      .note { font-size:small; margin-left:50px }
+
+table.thinborder {
+	border-width: 1px;
+	border-spacing: 0px;
+	border-style: none;
+	border-color: gray;
+	border-collapse: collapse;
+}
+table.thinborder th {
+	border-width: 1px;
+	padding: 0px;
+	border-style: solid;
+	border-color: gray;
+	-moz-border-radius: ;
+}
+table.thinborder td {
+	border-width: 1px;
+	padding: 2px;
+	border-style: solid;
+	border-color: gray;
+	-moz-border-radius: ;
+}
+.essential {
+    font-weight: bold;
+}
+
+</style>
+
+	<script src="../deckjs/imakewebthings-deck.js-bb4870a/modernizr.custom.js"></script>
+<script type="text/javascript">
+//<!--
+function set_media_clip(media_id, edl, debug_id)
+{
+	var cur_interval = -1;
+	var media = document.getElementById(media_id);
+	var debug = document.getElementById(debug_id);
+var onetime=1;
+
+	function jump_to(new_interval)
+	{
+		if (new_interval >= edl.length) {
+			media.pause();
+			cur_interval = -1;
+		} else {
+			cur_interval = new_interval;
+			media.currentTime = edl[cur_interval][0];
+		}
+	}
+
+	media.addEventListener("loadedmetadata", function(){
+		// cue media to start of first interval
+		jump_to(0);
+	}, false);
+
+	media.addEventListener("play", function(e) {
+		// restart the selected clips when play is clicked again
+		if (cur_interval==-1) {
+			jump_to(0);
+		}
+	}, false);
+
+	media.addEventListener("timeupdate", function(e){
+		var ct = media.currentTime;
+		if (cur_interval==-1) {
+			if (!media.paused) { jump_to(0); }
+		} else
+		if (ct > edl[cur_interval][1]) {
+			jump_to(cur_interval+1);
+			}
+	}, false);
+}
+//-->
+</script>
+    <script src="../jquery/jquery.min.js" class="remove"></script> <!-- http://ajax.googleapis.com/ajax/libs/jquery/1.7.1 -->
+
+
+    <script src="../../../../model/glossary.js" class="remove"></script>
+    <script src="../../../../model/all-divs.js" class="remove"></script>
+    <script class="remove">
+      function updateGlossaryRefs() {
+        $('.glossary-ref').each(function(index) {
+          var ref=$(this).attr('ref');
+          var span=$(this).attr('withspan')
+          $('#'+ref+'.glossary').contents().clone().appendTo($(this));
+          $(this).attr('prov:hadOriginalSource',glossary_hg);
+          if (span) {
+            $(this).children('dfn').replaceWith(function(){return $('<span>').addClass('dfn').append($(this).contents())});
+          }
+        });
+      }
+
+      function updateOtherRefs() {
+        $('.element-ref').each(function(index) {
+          var ref=$(this).attr('ref');
+          //var span=$(this).attr('withspan')
+          $('#'+ref).clone().appendTo($(this));
+          $(this).attr('prov:hadOriginalSource',divs_hg);
+          //if (span) {
+          //  $(this).children('dfn').replaceWith(function(){return $('<span>').addClass('dfn').append($(this).contents())});
+          //}
+        });
+      }
+      $(document).ready(function(){
+        // if glossary is in a string:
+        $('#glossary_div').html(glossary_string)
+        $('#divs_div').html(divs_string)
+        updateGlossaryRefs();
+        updateOtherRefs();
+
+        $('#glossary_div').html("")
+        $('#divs_div').html("")
+
+      });
+
+    </script>
+
+</head>
+
+<body class="deck-container">
+
+
+
+<div class="slide" id="title-slide">
+	<h2><p></p><p>W3C PROV</p>
+        <p></p></h2>
+    <h3>
+<p>&nbsp</p>
+<p><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a></p>
+<p><a href="http://www.ecs.soton.ac.uk/~lavm/">Co-chair of W3C Provenance Working Group</a></p>
+</h3>
+
+<p>&nbsp</p>
+<p style="color:red; ">Warning: everything in this presentation is a DRAFT.</p>
+
+<p>&nbsp</p>
+<p>Thanks to Paul Groth, Tim Lebo, Paolo Missier, James Cheney,  and the  entire W3C Provenance Working Group</p>
+
+<a href="http://dvcs.w3.org/hg/prov/raw-file/default/presentations/iswc-2012/prov-dm/overview/index2.html">http://dvcs.w3.org/hg/prov/raw-file/default/presentations/iswc-2012/prov-dm/overview/index2.html (latest)</a>
+
+
+
+
+
+</div>
+
+
+<div class="slide" id="title-slide">
+	<h2><p></p><p>Talk Outline</p>
+        <p></p></h2>
+
+<h4>
+<ul>
+<li> The PROV family of Documents
+<li> The PROV Conceptual Data Model
+<li> The PROV Notation and PROV XML
+<li>  PROV Constraints
+<li>  Validating provenance
+</ul>
+</h4>
+
+
+
+
+</div>
+
+
+
+
+<!--
+<div class="slide" id="documents">
+
+	<h2>What is PROV?</h2>
+<h5>
+<ul>
+<li> PROV is a family of specifications that help define how to interchange provenance
+<ul>
+<li> <a href="http://www.w3.org/TR/prov-primer/">PROV-PRIMER</a>, a primer for the PROV data model</li>
+<li> <a href="http://www.w3.org/TR/prov-o/">PROV-O</a>, the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF];</li>
+<li> <a href="http://www.w3.org/TR/prov-dm/">PROV-DM</a>, the PROV data model for provenance</li>
+<li> <a href="http://www.w3.org/TR/prov-constraints/">PROV-CONSTRAINTS</a>, a set of constraints applying to the PROV data model;</li>
+<li> <a href="http://www.w3.org/TR/prov-n/">PROV-N</a>, a notation for provenance aimed at human consumption ;</li>
+<li> <a href="http://www.w3.org/TR/prov-aq/">PROV-AQ</a>, the mechanisms for accessing and querying provenance </li>
+<li> <a href="http://dvcs.w3.org/hg/prov/raw-file/default/xml/prov-xml.html">PROV-XML</a> an XML schema for PROV </li>
+</ul>
+</ul>
+<h5>
+
+</div>
+-->
+
+
+<div class="slide" id="provenance-definition">
+
+	<h2>A Definition of Provenance</h2>
+
+
+<p></p>
+<p></p>
+
+<p style="font-size: 150;  ">
+<div class="glossary-ref" ref="glossary-provenance" style="font-size: 150%;  ">
+</div>
+</p>
+
+
+
+</div>
+
+
+
+
+
+
+<div class="slide" id="layered1">
+
+	<h2>Layered Model</h2>
+
+
+  <img src="images/prov-family/Slide1.jpg" alt="layered model" style="max-width: 100%; "  />
+
+</div>
+
+
+<div class="slide" id="layered2">
+
+	<h2>Layered Model</h2>
+
+
+  <img src="images/prov-family/Slide2.jpg" alt="layered model" style="max-width: 100%; "  />
+
+</div>
+
+
+<div class="slide" id="layered3">
+
+	<h2>Layered Model</h2>
+
+
+  <img src="images/prov-family/Slide3.jpg" alt="layered model" style="max-width: 100%; "  />
+
+</div>
+
+
+<div class="slide" id="layered4">
+
+	<h2>Normative/Non Normative Documents</h2>
+
+
+  <img src="images/prov-family/Slide4.jpg" alt="layered model" style="max-width: 100%; "  />
+
+<p>Recommendation (Blue), Note (Orange), Non WG Material (Green)</p>
+
+</div>
+
+
+
+<div class="slide" id="components">
+
+	<h2>PROV Data Model Components</h2>
+
+  <img src="images/components-dependencies.png" alt="PROV-DM components" style="max-width: 100%; "  />
+
+  <div class="element-ref" ref="prov-dm-components-ul"></div>
+
+
+</div>
+
+<div class="slide" id="overview-diagram">
+
+	<h2>PROV Data Model Core</h2>
+
+  <img src="uml/essentials.png" alt="PROV-DM overview" style="max-width: 150%; width: 80%; "  />
+
+</div>
+
+
+
+<div class="slide" id="at-a-glance">
+
+	<h2>Relations at a Glance</h2>
+
+  <div class="element-ref" ref="relations-at-a-glance-div"></div>
+
+
+</div>
+
+
+
+<div class="slide" id="at-a-glance2">
+
+	<h2>Relations at a Glance (Secondary Elements)</h2>
+
+  <div class="element-ref" ref="secondary-elements-relations-at-a-glance-div"></div>
+
+
+</div>
+
+
+
+<div class="slide" id="prov-types-relations">
+
+	<h2>PROV-DM Types and Relations</h2>
+
+  <div class="element-ref" ref="prov-dm-types-and-relations-fig"></div>
+
+
+</div>
+
+
+
+
+
+<div class="slide" id="coponent1">
+
+	<h2>Component 1: Entities and Activities</h2>
+
+  <img src="uml/component1.png" alt="PROV-DM overview" style="max-width: 100%; "  />
+
+
+</div>
+
+
+<!-- PART II Entity -->
+
+<div class="slide" id="entity">
+
+
+	<h2>Entity</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-entity">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="entity-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-entity">
+</div>
+</p>
+
+
+<div class="note" id="entity.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!-- PART II Activity -->
+
+<div class="slide" id="activity">
+
+	<h2>Activity</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-activity">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="activity-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-activity">
+</div>
+</p>
+
+
+<div class="note" id="activity.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+
+
+<!-- PART II  Generation -->
+
+<div class="slide" id="generation">
+
+
+	<h2>Generation</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-generation">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="generation-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-generation">
+</div>
+</p>
+
+
+
+
+<div class="note" id="generation.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!-- PART II  Usage -->
+
+<div class="slide" id="usage">
+
+
+	<h2>Usage</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-usage">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="usage-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-usage">
+</div>
+</p>
+
+
+
+
+
+<div class="note" id="usage.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<div class="slide" id="start">
+
+
+	<h2>Start</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-start">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="anexample-start2">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-start">
+</div>
+</p>
+
+
+
+
+
+<div class="note" id="start.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+<!-- PART II  Derivation -->
+
+<div class="slide" id="component2">
+
+	<h2>Component 2: Derivations</h2>
+
+  <img src="uml/component2.png" alt="Derivations" style="max-width: 100%; "  />
+
+
+</div>
+
+
+<div class="slide" id="derivation">
+
+
+	<h2>Derivation</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-derivation">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="derivation-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-derivation">
+</div>
+</p>
+
+
+
+
+<div class="note" id="derivation.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+<div class="slide" id="component3">
+
+	<h2>Component 3: Agents and Responsibility</h2>
+
+  <img src="uml/component3.png" alt="Agents-Responsibility" style="max-width: 100%; "  />
+
+
+</div>
+
+<!-- PART II  -->
+
+<div class="slide" id="agent">
+
+
+	<h2>Agent</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-agent">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="agent-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-agent">
+</div>
+</p>
+
+
+<p>
+<div class="glossary-ref" ref="glossary-person">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-organization">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-software-agent">
+</div>
+</p>
+
+
+
+
+<div class="note" id="agent.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!-- PART II  Attribution -->
+
+<div class="slide" id="attribution">
+
+
+	<h2>Attribution</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-attribution">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="attribution-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-attribution">
+</div>
+</p>
+
+
+
+
+<div class="note" id="attribution.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+<!-- PART II  Association -->
+
+<div class="slide" id="activityAssociation">
+
+
+	<h2>Association</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-activityAssociation">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="association-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-activity-association">
+</div>
+</p>
+
+
+
+
+<div class="note" id="association.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!-- PART II  Responsibility -->
+
+<div class="slide" id="delegation">
+
+
+	<h2>Delegation</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-delegation">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="delegation-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-delegation">
+</div>
+</p>
+
+
+
+
+<div class="note" id="delegation.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<div class="slide" id="influence-uml">
+
+
+	<h2>Influence</h2>
+
+  <img src="uml/Component3b.png" alt="Influencence overview" style="max-width: 150%; width: 70%; "  />
+
+
+</div>
+
+
+<div class="slide" id="influence">
+
+
+	<h2>Influence</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-influence">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="influence-example">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-influence">
+</div>
+</p>
+
+
+
+
+<div class="note" id="delegation.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!-- PART II  Alternates -->
+
+<div class="slide" id="component4">
+
+	<h2>Component 4: Bundles</h2>
+
+
+  <img src="uml/component4.png" alt="Bundles" style="max-width: 100%; "  />
+
+</div>
+
+
+<div class="slide" id="bundle">
+
+
+	<h2>Bundle</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-bundle">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-bundle">
+</div>
+</p>
+
+
+
+</div>
+
+
+<div class="slide" id="bundle-example">
+
+
+	<h2>Bundle Example</h2>
+
+
+
+<p>
+<div class="element-ref" ref="anexample-provenance-of-provenance">
+</div>
+</p>
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+
+
+<!-- PART II  Alternates -->
+
+<div class="slide" id="component5">
+
+	<h2>Component 5: Alternates</h2>
+
+
+  <img src="uml/component5.png" alt="Alternates" style="max-width: 100%; "  />
+
+
+</div>
+
+
+<div class="slide" id="alternate">
+
+
+	<h2>Alternate</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-alternate">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="attributes-alternate">
+</div>
+</p>
+
+
+
+<p>
+<div class="element-ref" ref="anexample-alternate">
+</div>
+</p>
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<div class="slide" id="specialization">
+
+
+	<h2>Specialization</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-specialization">
+</div>
+</p>
+
+<p>
+<div class="element-ref" ref="attributes-specialization">
+</div>
+</p>
+
+
+<p>
+<div class="element-ref" ref="anexample-specialization">
+</div>
+</p>
+
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+
+
+
+
+<div class="slide" id="component6">
+
+	<h2>Component 6: Collections</h2>
+
+
+  <img src="uml/component6.png" alt="collections" style="max-width: 100%; "  />
+
+
+</div>
+
+
+
+
+
+<div class="slide" id="specifications-as-collections">
+
+	<h2>Component 6: Collections Example</h2>
+
+
+  <img src="images/collections-prov.png" alt="prov-family" style="max-width: 90%; "  />
+
+
+</div>
+
+
+
+<div class="slide" id="layered1-2">
+
+	<h2>The PROV Family: The PROV Notation</h2>
+
+
+  <img src="images/prov-family/Slide3.jpg" alt="layered model" style="max-width: 100%; "  />
+
+</div>
+
+<!--  ---------------------------------------------------------------------- -->
+
+<div class="slide" id="prov-n">
+
+	<h2>PROV-N: The PROV Notation</h2>
+
+<ul>
+<li>A notation aimed at Human Consumption
+<pre>
+entity(tr:WD-prov-dm-20111215, [ prov:type='pr:RecsWD' ])
+</pre>
+<li> Used in mapping data model to RDF (and XML)
+<img src="images/ProvRdf.png" alt="charter" style="max-width: 100%; "  />
+<li> Used in providing semantics to data model
+</ul>
+</div>
+
+
+<div class="slide" id="prov-n2">
+
+	<h2>Example in PROV-N</h2>
+
+<div  style="font-size:small; max-width: 105%; ">
+<pre>
+document ex:process-view
+
+prefix ex  <http://example.org/>
+prefix w3      <http://www.w3.org/>
+prefix tr      <http://www.w3.org/TR/2011/>
+prefix process <http://www.w3.org/2005/10/Process-20051014/tr.html#>
+prefix email   <https://lists.w3.org/Archives/Member/w3c-archive/>
+prefix chairs  <https://lists.w3.org/Archives/Member/chairs/>
+prefix trans   <http://www.w3.org/2005/08/01-transitions.html#>
+prefix rec54   <http://www.w3.org/2001/02pd/rec54#>
+
+
+  entity(tr:WD-prov-dm-20111018, [ prov:type='rec54:WD' ])
+  entity(tr:WD-prov-dm-20111215, [ prov:type='rec54:WD' ])
+  entity(process:rec-advance,    [ prov:type='prov:Plan' ])
+
+
+  entity(chairs:2011OctDec/0004, [ prov:type='trans:transreq' ])
+  entity(email:2011Oct/0141,     [ prov:type='trans:pubreq' ])
+  entity(email:2011Dec/0111,     [ prov:type='trans:pubreq' ])
+
+
+  wasDerivedFrom(tr:WD-prov-dm-20111215, tr:WD-prov-dm-20111018)
+
+
+  activity(ex:act1,-,-,[prov:type="publish"])
+  activity(ex:act2,-,-,[prov:type="publish"])
+
+  wasGeneratedBy(tr:WD-prov-dm-20111018, ex:act1, -)
+  wasGeneratedBy(tr:WD-prov-dm-20111215, ex:act2, -)
+
+  used(ex:act1, chairs:2011OctDec/0004, -)
+  used(ex:act1, email:2011Oct/0141, -)
+  used(ex:act2, email:2011Dec/0111, -)
+
+  agent(w3:Consortium, [ prov:type='prov:Organization' ])
+
+  wasAssociatedWith(ex:act1, w3:Consortium, process:rec-advance)
+  wasAssociatedWith(ex:act2, w3:Consortium, process:rec-advance)
+
+endDocument
+</pre>
+</div>
+</div>
+
+
+
+
+<div class="slide" id="layered1-4">
+
+	<h2>The PROV Family: PROV Constraints</h2>
+
+
+  <img src="images/prov-family2.png" alt="layered model" style="max-width: 100%; "  />
+
+</div>
+
+
+
+<!-- ---------------------------------------------------------------------- -->
+
+<div class="slide" id="time">
+
+
+	<h2>Time</h2>
+
+<ul>
+<li>Time is critical in the context of provenance</li>
+<li>Time can help corroborate provenance claims</li>
+<li> For instance, if an entity is claimed to be obtained by transforming another, then the
+latter must have existed before the former. If it is not the case, then there is something wrong with such a provenance claim </li>
+<li>Minimal time assumptions since provenance can be used in many contexts (standalone system, web, space)</li>
+</ul>
+
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+
+<div class="slide" id="events">
+
+
+	<h2>Events</h2>
+
+<p>
+<div class="glossary-ref" ref="glossary-event">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-generation-event">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-usage-event">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-destruction-event">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-start-event">
+</div>
+</p>
+
+<p>
+<div class="glossary-ref" ref="glossary-end-event">
+</div>
+</p>
+
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+<!--
+<div class="slide" id="partial States">
+
+
+	<h2>Partial States</h2>
+
+<ul>
+<li>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 be as such. </li>
+
+<li> Attributes in PROV-DM help fix some aspect of entities.</li>
+<li> Entities are things in the world one wants to provide provenance for;
+   attribute-values describe entities' "partial states"</li>
+</ul>
+
+<div class="anexample">
+<pre>
+entity(tr:WD-prov-dm-20111215, [ prov:type='pr:RecsWD' ])
+</pre>
+
+<pre>
+entity(tr:WD-prov-dm-20111215, [ prov:type="document", ex:version="2" ])
+</pre>
+</div>
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+-->
+
+<div class="slide" id="constraints">
+
+
+	<h2>Constraints</h2>
+
+<p>
+  <img src="images/path6912.png" alt="constraints" style="max-width: 99%; "  />
+</p>
+
+
+<p>&nbsp</p>
+
+<p>
+<div class="element-ref" ref="start-precedes-end"></div>
+</p>
+
+<p>&nbsp</p>
+
+<p>
+<div class="element-ref" ref="generation-precedes-usage"></div>
+</p>
+
+
+<div class="note" id="responsibility.note">
+<p>some note here</p>
+</div>
+
+</div>
+
+
+
+<div class="slide" id="constraints2">
+
+	<h2>Constraints (2)</h2>
+
+<p>
+  <img src="images/g3271.png" alt="constraints" style="max-width: 99%; "  />
+</p>
+
+
+<p>&nbsp</p>
+
+
+<p>
+<div class="element-ref" ref="usage-within-activity"></div>
+</p>
+
+
+<p>&nbsp</p>
+
+
+<p>
+<div class="element-ref" ref="generation-within-activity"></div>
+</p>
+
+
+</div>
+
+<div class="slide" id="constraints3">
+
+	<h2>Constraints (3)</h2>
+
+
+<p>&nbsp</p>
+
+
+<!--<p>
+<div class="element-ref" ref="key-properties"></div>
+</p>
+-->
+
+<div class='constraint' id='unique-wasStartedBy'>
+<p>
+<span class='conditional'>IF</span> <span
+  class="name">wasStartedBy(start1; a,_e1,a0,_t1,_attrs1)</span> and <span
+  class="name">wasStartedBy(start2; a,_e2,a0,_t2,_attrs2)</span>,  <span
+  class='conditional'>THEN</span> <span class="name">start1</span> = <span
+  class="name">start2</span>.</p>
+</div> 
+
+
+<p>&nbsp</p>
+
+
+
+</div>
+
+
+<div class="slide" id="constraint4">
+
+	<h2>Constraints(4)  SW Technologies</h2>
+
+<div  style="font-size:small; max-width: 105%; ">
+<div id="paulRule">
+<pre>
+ PREFIX prov: <http://www.w3.org/ns/prov#>
+ PREFIX spin: <http://spinrdf.org/spin#>
+
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ 
+ CONSTRUCT {
+        _:b0 a spin:ConstraintViolation ;
+
+             spin:violationRoot ?this ;
+             rdfs:label "Activity has two started by events"
+
+    }
+ 
+  WHERE {
+  ?this prov:wasStartedBy ?x.
+  ?this prov:wasStartedBy ?y.
+
+  FILTER (?x != ?y)
+ }
+
+ paulRule prov:wasAttributedTo ex:PaulGroth
+</pre>
+
+</div>
+</div>
+</div>
+
+
+<div class="slide" id="constraint4">
+
+	<h2>Constraints: Challenge for Participants  </h2>
+
+<p>Some questions:</p>
+<ul>
+<li> Are all constraints implementable with SW technologies? 
+<li> with OWL2 (which profile?)
+<li> with SPARQL 
+</ul>
+<p>
+<p>Participate:</p>
+<ul>
+ <li> The PROV Working Group will issue a call for implementation circa December 6.
+ <li> Submit an implemntation report
+ <li> Tell us which constraints you can validate
+ <li> Help us build a corpus of examples
+</ul>
+</div>
+
+
+<div class="slide" id="constraint5">
+
+	<h2>Validator Demo</h2>
+
+
+</div>
+
+
+<div class="slide" id="Conclusion">
+
+	<h2>Conclusion: Specifications</h2>
+
+<table border="1" style="margin-left: auto; margin-right: auto;">
+
+
+<tr><td>prov-primer</td>
+   <td><a href="http://www.w3.org/TR/prov-primer/">http://www.w3.org/TR/prov-primer/</a></td></tr>
+
+<tr><td>prov-o</td>
+   <td><a href="http://www.w3.org/TR/prov-o/">http://www.w3.org/TR/prov-o/</a></td></tr>
+
+
+<tr><td>prov-dm</td>
+   <td><a href="http://www.w3.org/TR/prov-dm/">http://www.w3.org/TR/prov-dm/</a></td></tr>
+
+<tr><td>prov-constraints</td>
+   <td><a href="http://www.w3.org/TR/prov-constraints/">http://www.w3.org/TR/prov-constraints/</a></td></tr>
+
+<tr><td>prov-n</td>
+   <td><a href="http://www.w3.org/TR/prov-n/">http://www.w3.org/TR/prov-n/</a></td></tr>
+
+<tr><td>prov-aq</td>
+   <td><a href="http://www.w3.org/TR/prov-aq/">http://www.w3.org/TR/prov-aq/</a></td></tr>
+
+<tr><td>prov-sem</td>
+   <td>work in progress</td></tr>
+
+<tr><td>prov-xml</td>
+   <td>work in progress</td></tr>
+
+<tr><td>prov-dc</td>
+   <td>PROV-DC mapping. work in progress</td></tr>
+
+<tr><td>-</td></tr>
+
+</table>
+
+<p>... Participate in the implemention effort</p>
+</div>
+
+<div class="slide" id="appendix1">
+
+	<h2>Further Material</h2>
+
+
+
+</div>
+
+<div class="slide" id="example1">
+
+	<h2>Example</h2>
+
+
+  <img src="images/tr.png" alt="Example" style="max-width: 99%; "  />
+
+</div>
+
+
+<div class="slide" id="example1">
+
+	<h2>Example</h2>
+
+
+  <img src="../../../../model/images/dm/w3c-publication1.png" alt="PROV-DM overview" style="max-width: 99%; "  />
+
+</div>
+
+
+<div class="slide" id="example2">
+
+	<h2>Example (reports)</h2>
+
+
+  <img src="images/w3c-publication-reports.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+
+<span class="pnExpression">entity(tr:WD-prov-dm-20111018, [ prov:type='process:RecsWD' ])</span><br>
+<span class="pnExpression">entity(tr:WD-prov-dm-20111215, [ prov:type='process:RecsWD' ])</span>
+
+</div>
+
+
+
+
+<div class="slide" id="example-activity">
+
+	<h2>Example (activities)</h2>
+
+
+  <img src="images/w3c-publication-activities.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+
+<span class="pnExpression">activity(ex:pub1,[prov:type="publish"])</span><br>
+<span class="pnExpression">activity(ex:pub2,[prov:type="publish"])</span>
+
+</div>
+
+<div class="slide" id="agent">
+
+	<h2>Example (agent)</h2>
+
+
+  <img src="images/w3c-publication-agent.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+
+<span class="pnExpression">agent(w3:Consortium, [ prov:type='prov:Organization' ])</span><br>
+
+</div>
+
+
+
+<div class="slide" id="example-plan">
+
+	<h2>Example (plan)</h2>
+
+
+  <img src="images/w3c-publication-plan.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+
+<span class="pnExpression">entity(process:rec-advance,    [ prov:type='prov:Plan' ])</span><br>
+
+</div>
+
+
+<div class="slide" id="example-request">
+
+	<h2>Example (requests)</h2>
+
+
+  <img src="images/w3c-publication-requests.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+<span class="pnExpression">entity(0004, [ prov:type='trans:transreq'  ])</span><br>
+<span class="pnExpression">entity(0141, [ prov:type='trans:pubreq' ])</span><br>
+<span class="pnExpression">entity(0111, [ prov:type='trans:pubreq' ])</span>
+
+
+</div>
+
+
+<div class="slide" id="example-usage">
+
+	<h2>Example (usage)</h2>
+
+
+  <img src="images/w3c-publication-usage.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+<span class="pnExpression">used(ex:pub1,ar1:0004)</span><br>
+<span class="pnExpression">used(ex:pub1,ar2:0141)</span><br>
+<span class="pnExpression">used(ex:pub2,ar3:0111)</span>
+
+
+</div>
+
+
+<div class="slide" id="example-generation">
+
+	<h2>Example (generation)</h2>
+
+
+  <img src="images/w3c-publication-generation.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+<span class="pnExpression">wasGeneratedBy(tr:WD-prov-dm-20111018, ex:pub1)</span><br>
+<span class="pnExpression">wasGeneratedBy(tr:WD-prov-dm-20111215, ex:pub2)</span>
+
+
+</div>
+
+
+<div class="slide" id="example-derivation">
+
+	<h2>Example (derivation)</h2>
+
+
+  <img src="images/w3c-publication-derivation.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+<span class="pnExpression">wasDerivedFrom(tr:WD-prov-dm-20111215,tr:WD-prov-dm-20111018, [ prov:type='prov:WasRevisionOf' ] )</span><br>
+
+
+
+</div>
+
+
+<div class="slide" id="example-association">
+
+	<h2>Example (association)</h2>
+
+
+  <img src="images/w3c-publication-association.svg" alt="PROV-DM overview" style="max-width: 99%; "  />
+<span class="pnExpression">wasAssociatedWith(ex:pub2, w3:Consortium, pr:rec-advance)</span><br>
+
+
+
+</div>
+
+
+
+
+
+
+
+<!-- ---------------------------------------------------------------------- -->
+
+
+
+<div id="glossary_div" class="remove">
+<p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><p><!-- glossary loaded from glossary.js will be hooked up here,
+     class remove, will remove this element from the final output.
+-->
+</div>
+
+<div id="divs_div" class="remove">
+<!-- divs loaded from all-divs.js will be hooked up here,
+     class remove, will remove this element from the final output.
+-->
+</div>
+
+
+
+
+<a href="#" class="deck-prev-link" title="Previous">&#8592;</a>
+<a href="#" class="deck-next-link" title="Next">&#8594;</a>
+
+<p class="deck-status">
+	<span class="deck-status-current"></span>
+	/
+	<span class="deck-status-total"></span>
+</p>
+
+<form action="." method="get" class="goto-form">
+	<label for="goto-slide">Go to slide:</label>
+	<input type="number" name="slidenum" id="goto-slide"></input>
+	<input type="submit" value="Go"></input>
+</form>
+
+<a href="." title="Permalink to this slide" class="deck-permalink">#</a>
+
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
+
+<!-- <script>window.jQuery || document.write('<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js">\x3C/script>')</script>-->
+
+<script>window.jQuery</script>
+
+<!-- Deck Core and extensions -->
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/core/deck.core.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/menu/deck.menu.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/goto/deck.goto.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/status/deck.status.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/navigation/deck.navigation.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/hash/deck.hash.js"></script>
+<script src="../deckjs/imakewebthings-deck.js-bb4870a/extensions/notes/deck.notes.js"></script>
+
+
+<!-- Place the following snippet at the bottom of the deck container. -->
+<div class="deck-notes" style="display: none; ">
+  <a href="#" class="deck-hide-notes deck-note-button">Hide</a>
+  <div class="deck-note-container">my sub note 4</div>  <!--  style="display: none; " -->
+</div>
+
+<div class="deck-show-notes">
+  <a href="#" class="deck-note-button">Show Speaker Notes</a>
+</div>
+
+<!-- Specific to this page -->
+<script src="introduction.js">
+</script>
+
+<script>
+
+$(function() {
+    $(document).bind('deck.change', function(event, from, to) {
+        $.deck('getSlide', from).children('video, audio').map(
+            function(){ this.pause(); }
+        );
+    });
+});
+
+</script>
+</body>
+</html>