merge
authorTom De Nies <tom.denies@ugent.be>
Thu, 28 Mar 2013 17:21:10 +0100
changeset 6007 481a4b5ba423
parent 6006 fe3bc80df6e8 (current diff)
parent 6005 a034e8b50dda (diff)
child 6008 dcd0bd1a5cac
merge
--- a/dictionary/Overview.html	Thu Mar 28 17:20:50 2013 +0100
+++ b/dictionary/Overview.html	Thu Mar 28 17:21:10 2013 +0100
@@ -776,6 +776,11 @@
 <p>Therefore, this document introduces a new concept, <a>Dictionary</a>, that has a logical structure consisting of key-entity pairs.</p>
 </section>
 
+<section id="prov-namespace">
+<h3>PROV Namespace</h3>
+<p>The PROV namespace URI is <span class="name">http://www.w3.org/ns/prov#</span> and prefix <span class="name">prov</span>.</p>
+<p> All the concepts, reserved names, classes, properties, attributes introduced in this specification belong to the PROV namespace.</p>
+</section> <!-- end prov-namespace -->
 
 
 <section id="dictionary-conceptual-definition"> 
@@ -824,14 +829,14 @@
 	</p>
 
 <div class="attributes" id="attributes-hadMember-d">
- A <dfn title="hadMember-d">dictionary membership</dfn> relation, written <span class="pnExpression">hadDictionaryMember(d, e_1, key_1)</span>, has:
+ A <dfn title="hadMember-d">dictionary membership</dfn> relation, written <span class="pnExpression">prov:hadDictionaryMember(d, e_1, key_1)</span>, has:
 <ul>
 <li><span class='attribute' id="membership-d.dictionary">dictionary</span>: an identifier (<span class="name">d</span>) for the dictionary whose members are asserted; </li>
 <li><span class='attribute' id="membership-d.entity">entity</span>: an entity <span class="name">e_1</span> that is associated with the key and is a member of the dictionary;</li>
 <li><span class='attribute' id="membership-d.key">key</span>: a key <span class="name">key_1</span> that is associated with the specified entity. <span class="name">key_1</span> is a <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-value">value</a> ;</li>
 </ul>
 <p>Keys cannot be repeated in the same dictionary. However, a dictionary can contain the same entity more than once, as long as it is associated with different keys.</p>
-<p>Note that the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, written <span class="name">hadMember(c, e)</span>, can be used when <span class="name">c</span> has <span class="name">prov:type = 'prov:Collection'</span> or <span class="name">prov:type = 'prov:Dictionary'</span>. However, the <a href="#term-dictionary-membership">dictionary  membership</a>, written <span class="name">hadDictionaryMember(d, e, "k")</span>, can only be used when <span class="name">d</span> has <span class="name">prov:type = 'prov:Dictionary'</span>. </p>
+<p>Note that the <a href=" http://www.w3.org/TR/2013/PR-prov-dm-20130312/#term-membership">collection membership</a> relation, written <span class="name">prov:hadMember(c, e)</span>, can be used when <span class="name">c</span> has <span class="name">prov:type = 'prov:Collection'</span> or <span class="name">prov:type = 'prov:Dictionary'</span>. However, the <a href="#term-dictionary-membership">dictionary  membership</a>, written <span class="name">hadDictionaryMember(d, e, "k")</span>, can only be used when <span class="name">d</span> has <span class="name">prov:type = 'prov:Dictionary'</span>. </p>
 	
 </div>
 
@@ -842,8 +847,8 @@
 entity(e1)
 entity(e2)
 
-hadDictionaryMember(d, e1, "k1")  
-hadDictionaryMember(d, e2, "k2")  
+prov:hadDictionaryMember(d, e1, "k1")  
+prov:hadDictionaryMember(d, e2, "k2")  
 
 </pre>
 From these descriptions, we conclude:
@@ -862,7 +867,7 @@
 <span class="glossary-ref" data-ref="glossary-insertion"></span>
 
 <div class="attributes" id="attributes-derivedByInsertionFrom">
-<p>An <dfn title="derivedByInsertionFrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
+<p>An <dfn title="derivedByInsertionFrom">Insertion</dfn> relation<span class="withPn">, written <span class="pnExpression">prov:derivedByInsertionFrom(id; d2, d1, {(key_1, e_1), ..., (key_n, e_n)}, attrs)</span>,</span> has:</p>
 <ul>
 <li><span class='attribute' id="insertion.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute' id="insertion.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary <em>after</em> insertion; </li>
@@ -875,7 +880,7 @@
 </div>
 
 <p>
-An Insertion relation <span class="name">derivedByInsertionFrom(id; d2, d1,  {(key_1, e_1), ..., (key_n, e_n)})</span> states that  <span class="name">d2</span> is the dictionary
+An Insertion relation <span class="name">prov:derivedByInsertionFrom(id; d2, d1,  {(key_1, e_1), ..., (key_n, e_n)})</span> states that  <span class="name">d2</span> is the dictionary
 following the insertion of pairs <span class="name">(key_1, e_1)</span>, ..., <span class="name">(key_n, e_n)</span> into dictionary  <span class="name">d1</span>. 
 Note that insertion and the specified key-entity-set are considered to be complete. This means that we assume that no unknown keys were inserted in or removed from a dictionary after an insertion. This is formalized in <a href="#insertion-removal-membership-inference">Inference D7</a>.</p>
 
@@ -890,8 +895,8 @@
 entity(d1, [prov:type='prov:Dictionary' ])
 entity(d2, [prov:type='prov:Dictionary' ])
 
-derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})       
-derivedByInsertionFrom(d2, d1, {("k3", e3)}, [ dcterms:description ="A second insertion" ])    //an insertion with optional attribute dcterms:description  
+prov:derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})       
+prov:derivedByInsertionFrom(d2, d1, {("k3", e3)}, [ dcterms:description ="A second insertion" ])    //an insertion with optional attribute dcterms:description  
 </pre>
 From this set of descriptions, we conclude:
 <ul>
@@ -912,8 +917,8 @@
 entity(d1, [prov:type='prov:Dictionary' ])
 entity(d2, [prov:type='prov:Dictionary' ])
 
-derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})       
-derivedByInsertionFrom(d2, d1, {("k1", e3)})
+prov:derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2", e2)})       
+prov:derivedByInsertionFrom(d2, d1, {("k1", e3)})
 </pre>
    This is a case of <em>update</em> of <span class="name">e1</span> to <span class="name">e3</span> for the same key, <span class="name">"k1"</span>. <br/>
   From this set of descriptions, we conclude:
@@ -934,7 +939,7 @@
 
 
 <div class="attributes" id="attributes-derivedByRemovalFrom">
-<p> A <dfn title="derivedByRemovalFrom">Removal</dfn> relation, written <span class="pnExpression">derivedByRemovalFrom(id; d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
+<p> A <dfn title="derivedByRemovalFrom">Removal</dfn> relation, written <span class="pnExpression">prov:derivedByRemovalFrom(id; d2, d1, {key_1, ... key_n}, attrs)</span>, has:</p>
 <ul>
 <li><span class='attribute' id="removal.id">id</span>:  an OPTIONAL identifier identifying the relation;</li>
 <li><span class='attribute' id="removal.after">after</span>: an identifier (<span class="name">d2</span>) for the dictionary  <em>after</em> the deletion; </li>
@@ -944,7 +949,7 @@
 </ul>
 </div>
 
-<p>A Removal relation <span class="name">derivedByRemovalFrom(id; d2,d1, {key_1, ..., key_n})</span> states that  <span class="name">d2</span> is  the  dictionary following the removal of the set of pairs corresponding to keys  <span class="name">key_1...key_n</span> from  <span class="name">d1</span>. If a key that is not present in the dictionary is removed, the dictionary remains unchanged.
+<p>A Removal relation <span class="name">prov:derivedByRemovalFrom(id; d2,d1, {key_1, ..., key_n})</span> states that  <span class="name">d2</span> is  the  dictionary following the removal of the set of pairs corresponding to keys  <span class="name">key_1...key_n</span> from  <span class="name">d1</span>. If a key that is not present in the dictionary is removed, the dictionary remains unchanged.
   Note that removal and the specified key-set are considered to be complete. This means that we assume that no unknown keys were inserted in or removed from a dictionary after a removal. This is formalized in <a href="#insertion-removal-membership-inference">Inference D7</a>.
 </p>
 
@@ -959,10 +964,10 @@
 entity(d3, [prov:type="prov:Dictionary"])
 entity(d4, [prov:type="prov:Dictionary"])
 
-derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)})       
-derivedByInsertionFrom(d2, d1, {("k3", e3)})
-derivedByRemovalFrom(d3, d2, {"k1", "k3"})   
-derivedByRemovalFrom(d4, d3, {"k1"})   
+prov:derivedByInsertionFrom(d1, d0, {("k1", e1), ("k2",e2)})       
+prov:derivedByInsertionFrom(d2, d1, {("k3", e3)})
+prov:derivedByRemovalFrom(d3, d2, {"k1", "k3"})   
+prov:derivedByRemovalFrom(d4, d3, {"k1"})   
 </pre>
 From this set of descriptions, we conclude:
 <ul>
@@ -1006,7 +1011,7 @@
 
 <div class="grammar">
  <span class="nonterminal">membershipExpression</span>&nbsp;::=  
-<span class="name">hadDictionaryMember</span> 
+<span class="name">prov:hadDictionaryMember</span> 
  <span class="name">(</span>
 <span class="nonterminal">dIdentifier</span>
  <span class="name">,</span>
@@ -1041,7 +1046,7 @@
 entity(e0)
 
 entity(d, [prov:type='prov:Dictionary'  ]) 
-hadDictionaryMember(d, e0, "k0")
+prov:hadDictionaryMember(d, e0, "k0")
 </pre>
 </div>
 
@@ -1050,7 +1055,7 @@
 <h3>Insertion</h3>
 <div class="grammar">
 	<span class="nonterminal">derivationByInsertionFromExpression</span>&nbsp;::=  
-<span class="name">derivedByInsertionFrom</span> 
+<span class="name">prov:derivedByInsertionFrom</span> 
  <span class="name">(</span>
  <span class="optional"><span class="nonterminal">optionalIdentifier</span>
  <span class="name">;</span></span>
@@ -1089,7 +1094,7 @@
 
 <div class="anexample">
     <pre class="codeexample">
- derivedByInsertionFrom(id; d1, d, {("k1", e1), ("k2", e2)}, [])  
+ prov:derivedByInsertionFrom(id; d1, d, {("k1", e1), ("k2", e2)}, [])  
   </pre>
 <p>  Here
     <span class="name">id</span> is the optional insertion identifier,
@@ -1101,9 +1106,9 @@
 The remaining examples show cases where some of the optionals are omitted.
 
   <pre class="codeexample">
- derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)})  
- derivedByInsertionFrom(d1, d, {("k1", e1)})  
- derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)}, [])
+ prov:derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)})  
+ prov:derivedByInsertionFrom(d1, d, {("k1", e1)})  
+ prov:derivedByInsertionFrom(d1, d, {("k1", e1), ("k2", e2)}, [])
 </pre>
 </div>
 
@@ -1113,7 +1118,7 @@
 	<h3>Removal</h3>
 <div class="grammar">
  <span class="nonterminal">derivationByRemovalFromExpression</span>&nbsp;::=  
-<span class="name">derivedByRemovalFrom</span> 
+<span class="name">prov:derivedByRemovalFrom</span> 
  <span class="name">(</span>
  <span class="optional"><span class="nonterminal">optionalIdentifier</span>
  <span class="name">;</span></span>
@@ -1154,7 +1159,7 @@
 
 <div class="anexample">
     <pre class="codeexample">
- derivedByRemovalFrom(id; d3, d, {"k1", "k2"}, [])  
+ prov:derivedByRemovalFrom(id; d3, d, {"k1", "k2"}, [])  
   </pre>
 <p>  Here
     <span class="name">id</span> is the optional removal identifier,
@@ -1166,9 +1171,9 @@
   The remaining examples show cases where some of the optionals are omitted.
 
   <pre class="codeexample">
-   derivedByRemovalFrom(d2, d, {"k1", "k2"})               
-   derivedByRemovalFrom(d2, d, {"k1"})               
-   derivedByRemovalFrom(d2, d, {"k1", "k2"}, [])               
+   prov:derivedByRemovalFrom(d2, d, {"k1", "k2"})               
+   prov:derivedByRemovalFrom(d2, d, {"k1"})               
+   prov:derivedByRemovalFrom(d2, d, {"k1", "k2"}, [])               
 </pre>
   </div>
 
@@ -2069,7 +2074,7 @@
         <dd>
           <ul>
             <li>
-              http://www.w3.org/2000/01/rdf-schema#Literal
+              <a title="http://www.w3.org/2000/01/rdf-schema#Literal" href="http://www.w3.org/2000/01/rdf-schema#Literal" class="owlclass">rdfs:Literal</a>
             </li>
           </ul>
         </dd>
@@ -2338,7 +2343,7 @@
         <dd>
           <ul>
             <li>
-              http://www.w3.org/2000/01/rdf-schema#Literal
+              <a title="http://www.w3.org/2000/01/rdf-schema#Literal" href="http://www.w3.org/2000/01/rdf-schema#Literal" class="owlclass">rdfs:Literal</a>
             </li>
           </ul>
         </dd>
@@ -2608,16 +2613,16 @@
 	 <div class='inference' id='dmembership-cmembership-inference'>
 	<span class='ruleTitle'><a class="internalDFN" href="#dmembership-cmembership-inference">Inference D1 (dictionary-membership-collection-membership)</a></span>
 <p>
-<span class="conditional">IF</span>  <span class="name">hadDictionaryMember(d, e1, k1)</span>
-   <span class='conditional'>THEN</span> <span class="name">hadMember(d, e1)</span>
+<span class="conditional">IF</span>  <span class="name">prov:hadDictionaryMember(d, e1, k1)</span>
+   <span class='conditional'>THEN</span> <span class="name">prov:hadMember(d, e1)</span>
 </p></div>
 
 	<p id="membership-membership-inference_text">Each key maps to a single entity.</p>
 	 <div class='inference' id='key-single-entity-inference'>
 	<span class='ruleTitle'><a class="internalDFN" href="#key-single-entity-inference">Inference D2 (key-single-entity)</a></span>
 <p>
-<span class="conditional">IF</span>  <span class="name">hadDictionaryMember(d1, e1, k1)</span>
-   and <span class="name">hadDictionaryMember(d1, e2, k1)</span> 
+<span class="conditional">IF</span>  <span class="name">prov:hadDictionaryMember(d1, e1, k1)</span>
+   and <span class="name">prov:hadDictionaryMember(d1, e2, k1)</span> 
    <span class='conditional'>THEN</span> <span class="name">e1 = e2</span>
 </p></div>
 
@@ -2626,9 +2631,9 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#membership-insertion-membership-inference">Inference D3 (membership-insertion-membership)</a></span>
 <p>Here, KV1 is a set of key-entity pairs and K1 is the key-set of KV1.</p>
   <p>
-<span class="conditional">IF</span>  <span class="name">hadDictionaryMember(d1, e, k)</span>
-   and <span class="name">derivedByInsertionFrom(d2, d1, KV1)</span> and <span class="name">k</span> &notin; <span class="name">K1</span>
-   <span class='conditional'>THEN</span> <span class="name">hadDictionaryMember(d2, e, k)</span>
+<span class="conditional">IF</span>  <span class="name">prov:hadDictionaryMember(d1, e, k)</span>
+   and <span class="name">prov:derivedByInsertionFrom(d2, d1, KV1)</span> and <span class="name">k</span> &notin; <span class="name">K1</span>
+   <span class='conditional'>THEN</span> <span class="name">prov:hadDictionaryMember(d2, e, k)</span>
 </p></div>
 <!--REMOVED CONSTRAINT <p id="membership-update-membership-inference_text">Insertion provides an "update semantics" for the keys that are already present in a dictionary. A new pair replaces an existing pair with the same key in the new dictionary. </p>
 	 <div class='inference' id='membership-update-membership-inference'>
@@ -2644,8 +2649,8 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#insertion-membership-inference">Inference D4 (insertion-membership)</a></span>
  <p>Here, KV1 is a set of key-entity pairs.</p>
   <p>
-<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, KV1)</span> 
-   <span class='conditional'>THEN</span> <span class="name">hadDictionaryMember(d2, e, k) for each (e, k) &in; KV1</span>
+<span class="conditional">IF</span> <span class="name">prov:derivedByInsertionFrom(d2, d1, KV1)</span> 
+   <span class='conditional'>THEN</span> <span class="name">prov:hadDictionaryMember(d2, e, k) for each (e, k) &in; KV1</span>
 </p></div>
 
 
@@ -2663,14 +2668,14 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#insertion-derivation-inference">Inference D5 (insertion-derivation)</a></span>
  <p>Here, KV1 is a set of key-entity pairs and K1 is a set of keys.</p>
  <p>
-<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, KV1)</span> 
-   <span class='conditional'>THEN</span> <span class="name">wasDerivedFrom(d2, d1)</span>
+<span class="conditional">IF</span> <span class="name">prov:derivedByInsertionFrom(d2, d1, KV1)</span> 
+   <span class='conditional'>THEN</span> <span class="name">prov:wasDerivedFrom(d2, d1)</span>
 </p></div>
 	 <div class='inference' id='removal-derivation-inference'>
 	<span class='ruleTitle'><a class="internalDFN" href="#removal-derivation-inference">Inference D6 (removal-derivation)</a></span>
 <p>
-<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K1)</span> 
-   <span class='conditional'>THEN</span> <span class="name">wasDerivedFrom(d2, d1)</span>
+<span class="conditional">IF</span> <span class="name">prov:derivedByRemovalFrom(d2, d1, K1)</span> 
+   <span class='conditional'>THEN</span> <span class="name">prov:wasDerivedFrom(d2, d1)</span>
 </p></div>
 
 
@@ -2679,14 +2684,14 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#insertion-removal-membership-inference">Inference D7 (insertion-removal-membership)</a></span>
 <ol>
 	<li>
-	<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e1)})</span> and 
-	<span class="name">derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">hadDictionaryMember(d1, e2, "k2")</span> and 
-	<span class="name">k1 &ne; k2</span> <span class='conditional'>THEN</span>  <span class="name">hadDictionaryMember(d3, e2, "k2")</span>
+	<span class="conditional">IF</span> <span class="name">prov:derivedByInsertionFrom(d2, d1, {("k1", e1)})</span> and 
+	<span class="name">prov:derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">prov:hadDictionaryMember(d1, e2, "k2")</span> and 
+	<span class="name">k1 &ne; k2</span> <span class='conditional'>THEN</span>  <span class="name">prov:hadDictionaryMember(d3, e2, "k2")</span>
 	</li>
 	<li>
-	<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, {("k1", e1)})</span> and 
-	<span class="name">derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">hadDictionaryMember(d3, e2, "k2")</span> and 
-	<span class="name">k1 &ne; k2</span> <span class='conditional'>THEN</span>  <span class="name">hadDictionaryMember(d1, e2, "k2")</span>
+	<span class="conditional">IF</span> <span class="name">prov:derivedByInsertionFrom(d2, d1, {("k1", e1)})</span> and 
+	<span class="name">prov:derivedByRemovalFrom(d3, d2, {"k1"})</span> and <span class="name">prov:hadDictionaryMember(d3, e2, "k2")</span> and 
+	<span class="name">k1 &ne; k2</span> <span class='conditional'>THEN</span>  <span class="name">prov:hadDictionaryMember(d1, e2, "k2")</span>
 	</li>
 </ol>
 </div>
@@ -2706,8 +2711,8 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#impossible-removal-membership-constraint">Constraint D8 (impossible-removal-membership)</a></span>
 <p>
   <p>Here, <span class="name">K1</span> is a set of key-entity pairs.</p>
-<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K1)</span> and 
-    <span class="name">hadDictionaryMember(d2, e, k)</span> and <span class="name">k &in; K1</span> <span class='conditional'>THEN</span> <span
+<span class="conditional">IF</span> <span class="name">prov:derivedByRemovalFrom(d2, d1, K1)</span> and 
+    <span class="name">prov:hadDictionaryMember(d2, e, k)</span> and <span class="name">k &in; K1</span> <span class='conditional'>THEN</span> <span
 	 class="conditional">INVALID</span>
 </p></div>
 	
@@ -2716,24 +2721,24 @@
 	<span class='ruleTitle'><a class="internalDFN" href="#impossible-removal-insertion-constraint">Constraint D9 (impossible-removal-insertion)</a></span>
   <p>Here, <span class="name">K1</span> is a set of keys and <span class="name">KV2</span> is a set of key-entity pairs.</p>
 <p>
-<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K1)</span> and 
-    <span class="name">derivedByInsertionFrom(d2, d1, KV2)</span><span class='conditional'>THEN</span> <span
+<span class="conditional">IF</span> <span class="name">prov:derivedByRemovalFrom(d2, d1, K1)</span> and 
+    <span class="name">prov:derivedByInsertionFrom(d2, d1, KV2)</span><span class='conditional'>THEN</span> <span
 	 class="conditional">INVALID</span>
 </p></div>
 <div class='constraint' id='impossible-insertion-insertion-constraint'>
 	<span class='ruleTitle'><a class="internalDFN" href="#impossible-insertion-insertion-constraint">Constraint D10 (impossible-insertion-insertion)</a></span>
 <p>Here, <span class="name">KV1</span> and <span class="name">KV2</span> are sets of key-entity pairs.</p>
 <p>
-<span class="conditional">IF</span> <span class="name">derivedByInsertionFrom(d2, d1, KV1)</span> and 
-    <span class="name">derivedByInsertionFrom(d2, d1, KV2)</span><span class='conditional'>THEN</span> <span
+<span class="conditional">IF</span> <span class="name">prov:derivedByInsertionFrom(d2, d1, KV1)</span> and 
+    <span class="name">prov:derivedByInsertionFrom(d2, d1, KV2)</span><span class='conditional'>THEN</span> <span
 	 class="name">KV1 = KV2</span>
 </p></div>
 <div class='constraint' id='impossible-removal-removal-constraint'>
 	<span class='ruleTitle'><a class="internalDFN" href="#impossible-removal-removal-constraint">Constraint D11 (impossible-removal-removal)</a></span>
 <p>Here, <span class="name">K1</span> and <span class="name">K2</span> are sets of keys.</p>
 <p>
-<span class="conditional">IF</span> <span class="name">derivedByRemovalFrom(d2, d1, K1)</span> and 
-    <span class="name">derivedByRemovalFrom(d2, d1, K2)</span><span class='conditional'>THEN</span> <span
+<span class="conditional">IF</span> <span class="name">prov:derivedByRemovalFrom(d2, d1, K1)</span> and 
+    <span class="name">prov:derivedByRemovalFrom(d2, d1, K2)</span><span class='conditional'>THEN</span> <span
 	 class="name">K1 = K2</span>
 </p></div>
 
@@ -2770,7 +2775,7 @@
 			</li>
 			<li>
 			<p>
-			<span class="conditional">IF</span>  <span class="name">hadDictionaryMember(d, e, "k")</span> <span class='conditional'>THEN</span> 
+			<span class="conditional">IF</span>  <span class="name">prov:hadDictionaryMember(d, e, "k")</span> <span class='conditional'>THEN</span> 
 			<span class="name">'prov:Dictionary' &isin; typeOf(d)</span> and <span class="name">'prov:Collection' &isin; typeOf(d)</span> and <span class="name">'entity' &isin; typeOf(d)</span> and <span class="name">'entity' &isin; typeOf(e)</span>
 			</p>
 			</li>
@@ -2778,14 +2783,14 @@
       
 			<p>Here, KV is a set of key-entity pairs</p>
 			<p>
-			<span class="conditional">IF</span>  <span class="name">derivedByInsertionFrom(d2, d1, KV)</span> <span class='conditional'>THEN</span> 
+			<span class="conditional">IF</span>  <span class="name">prov:derivedByInsertionFrom(d2, d1, KV)</span> <span class='conditional'>THEN</span> 
 			<span class="name">'prov:Dictionary' &isin; typeOf(d1)</span> and <span class="name">'prov:Dictionary' &isin; typeOf(d2)</span> and <span class="name">'prov:Collection' &isin; typeOf(d1)</span> and <span class="name">'entity' &isin; typeOf(d1)</span> and <span class="name">'prov:Collection' &isin; typeOf(d2)</span> and <span class="name">'entity' &isin; typeOf(d2)</span> and <span class="name">'entity' &isin; typeOf(e1)</span>
 			</p>
 			</li>
 			<li>
 			<p>Here, K is a set of keys</p>
 			<p>
-			<span class="conditional">IF</span>  <span class="name">derivedByRemovalFrom(d2, d1, K)</span> <span class='conditional'>THEN</span> 
+			<span class="conditional">IF</span>  <span class="name">prov:derivedByRemovalFrom(d2, d1, K)</span> <span class='conditional'>THEN</span> 
 			<span class="name">'prov:Dictionary' &isin; typeOf(d1)</span> and <span class="name">'prov:Dictionary' &isin; typeOf(d2)</span> and <span class="name">'prov:Collection' &isin; typeOf(d1)</span> and <span class="name">'entity' &isin; typeOf(d1)</span> and <span class="name">'prov:Collection' &isin; typeOf(d2)</span> and <span class="name">'entity' &isin; typeOf(d2)</span> 
 			</p>
 			</li>