--- 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;§> " /> ' +
-' <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;§> " />\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
' ' ;