merge all type inference rules in a single rule
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 23 Jul 2012 09:42:47 +0100
changeset 4214 dde6a93a0d5b
parent 4213 0c2a2952e3b3
child 4215 574c0dd1a4a0
merge all type inference rules in a single rule
model/prov-constraints.html
--- a/model/prov-constraints.html	Fri Jul 20 12:02:27 2012 -0500
+++ b/model/prov-constraints.html	Mon Jul 23 09:42:47 2012 +0100
@@ -678,7 +678,7 @@
 	<td><a class="rule-text" href="#generation-use-communication-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#derivation-use"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#generation-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-generation"><span>TBD</span></a><br>
 		<a class="rule-text" href="#generation-within-activity"><span>TBD</span></a><br>
@@ -699,7 +699,7 @@
 	<td class="essential"><a>Usage</a></td>
 	<td><a class="rule-text" href="#generation-use-communication-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#usage-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#usage-within-activity"><span>TBD</span></a><br>
 		<a class="rule-text" href="#generation-precedes-usage"><span>TBD</span></a><br>
@@ -712,7 +712,7 @@
 	<td class="essential"><a>Communication</a></td>
 	<td><a class="rule-text" href="#communication-generation-use-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#communication-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#wasInformedBy-ordering"><span>TBD</span></a><br>
 		<a class="rule-text" href="#impossible-property-overlap"><span>TBD</span></a><br>
@@ -722,7 +722,7 @@
 	<td class="essential"><a>Start</a></td>
 	<td><a class="rule-text" href="#wasStartedBy-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#start-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-wasStartedBy"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-startTime"><span>TBD</span></a><br>
@@ -739,7 +739,7 @@
 	<td class="essential"><a>End</a></td>
 	<td><a class="rule-text" href="#wasEndedBy-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#end-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-wasEndedBy"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-endTime"><span>TBD</span></a><br>
@@ -755,7 +755,7 @@
 <tr class="component1-color">
 	<td class="essential"><a>Invalidation</a></td>
 	<td><a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#invalidation-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#unique-invalidation"><span>TBD</span></a><br>
 		<a class="rule-text" href="#generation-precedes-invalidation"><span>TBD</span></a><br>
@@ -778,7 +778,7 @@
 		<a class="rule-text" href="#derivation-use"><span>TBD</span></a><br>
 		<a class="rule-text" href="#specific-derivation-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#derivation-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#derivation-usage-generation-ordering"><span>TBD</span></a><br>
 		<a class="rule-text" href="#derivation-generation-generation-ordering"><span>TBD</span></a><br>
@@ -814,7 +814,7 @@
 	<td class="essential"><a>Attribution</a></td>
 	<td><a class="rule-text" href="#attribution-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#attribution-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#wasAttributedTo-ordering"><span>TBD</span></a><br>
 		<a class="rule-text" href="#impossible-property-overlap"><span>TBD</span></a><br>
@@ -823,7 +823,7 @@
 <tr class="component3-color">
 	<td class="essential"><a>Association</a></td>
 	<td><a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#association-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#wasAssociatedWith-ordering"><span>TBD</span></a><br>
 		<a class="rule-text" href="#impossible-property-overlap"><span>TBD</span></a><br>
@@ -833,7 +833,7 @@
 	<td class="essential"><a>Delegation</a></td>
 	<td><a class="rule-text" href="#delegation-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#influence-inference"><span>TBD</span></a><br>
-		<a class="rule-text" href="#delegation-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#key-properties"><span>TBD</span></a><br>
 		<a class="rule-text" href="#actedOnBehalfOf-ordering"><span>TBD</span></a><br>
 		<a class="rule-text" href="#impossible-property-overlap"><span>TBD</span></a><br>
@@ -864,7 +864,7 @@
 	<td><a class="rule-text" href="#alternate-reflexive"><span>TBD</span></a><br>
 		<a class="rule-text" href="#alternate-transitive"><span>TBD</span></a><br>
 		<a class="rule-text" href="#alternate-symmetric"><span>TBD</span></a><br>
-		<a class="rule-text" href="#alternate-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 	</td>
 	<td  rowspan="3"><a href="http://www.w3.org/TR/prov-dm/#component5">Component 5: Alternate Entities</a></td>
 </tr>
@@ -873,7 +873,7 @@
 	<td><a class="rule-text" href="#specialization-transitive"><span>TBD</span></a><br>
 		<a class="rule-text" href="#specialization-alternate"><span>TBD</span></a><br>
 		<a class="rule-text" href="#specialization-attributes"><span>TBD</span></a><br>
-		<a class="rule-text" href="#specialization-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#specialization-generation"><span>TBD</span></a><br>
 		<a class="rule-text" href="#specialization-invalidation"><span>TBD</span></a><br>
 		<a class="rule-text" href="#impossible-specialization-reflexive"><span>TBD</span></a><br>
@@ -882,7 +882,7 @@
 <tr class="component5-color">
 	<td><a>Mention</a></td>
 	<td><a class="rule-text" href="#mention-specialization"><span>TBD</span></a><br>
-		<a class="rule-text" href="#mention-type-inference"><span>TBD</span></a><br>
+		<a class="rule-text" href="#type-inference"><span>TBD</span></a><br>
 		<a class="rule-text" href="#mention-unique"><span>TBD</span></a><br>
 	</td>
 </tr>
@@ -895,7 +895,7 @@
 </tr>
 <tr class="component6-color">
 	<td><a>Membership</a></td>
-	<td><a class="rule-text" href="#membership-type-inference"><span>TBD</span></a><br></td>
+	<td><a class="rule-text" href="#type-inference"><span>TBD</span></a><br></td>
 </tr>
 </table>
 </div>
@@ -1789,237 +1789,145 @@
 <section id="type-rules">
 <h2>Type inference rules</h2>
 
-<p>The following table summarizes rules which  establish the existence of entities, activities, and agents from their use within expressions. </p>
-
-    <table border=1 style="text-align:center;">
-      <tr>
-	<th>Relation</th>
-	<th>Inference rule</th>
-      </tr>
-      <tr>
-     <td class="name">Generation</td>
-	<td>
-<div class='inference' id="generation-type-inference">
+<p>The following rule  establishes the existence of entities, activities, and agents from their use within expressions. </p>
+
+<div class='inference' id="type-inference">
+
+
+<ul>
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>wasGeneratedBy(gen;e,a,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that  <span class="name">entity(e,[])</span> AND 
- <span class="name">activity(a, _t1, _t2,[])</span> holds.
-    </div>
-</td>
-    </tr>
-
-<tr>
-<td class="name">Usage</td>
-
-<td>
-<div class='inference' id="usage-type-inference">
+ <span class="name">activity(a, _t1, _t2,[])</span>.
+
+
+<li>
+
 <span class='conditional'>IF</span> 
    <span class='name'>used(u;a,e,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that  <span class="name">entity(e,[])</span> AND 
- <span class="name">activity(a, _t1, _t2,[])</span> holds.
-</div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Communication</td>
-
-<td>
-<div class='inference' id="communication-type-inference">
+ <span class="name">activity(a, _t1, _t2,[])</span>.
+
+
+<li>
+
 <span class='conditional'>IF</span> 
    <span class='name'>wasInformedBy(id;a2,a1,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
  <span class="name">activity(a1, _t1,_t2,[])</span> AND
- <span class="name">activity(a2, _t3,_t4,[])</span>  holds. 
-    </div>
-</td>
-</tr>
-
-<tr>
-<td class="name">Start</td>
-<td>
-
-<div class='inference' id="start-type-inference">
+ <span class="name">activity(a2, _t3,_t4,[])</span>.
+
+<li>
+
 <span class='conditional'>IF</span> 
    <span class='name'>wasStartedBy(id;a2,e,a1,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
  <span class="name">activity(a1, _t1,_t2,[])</span> AND
  <span class="name">activity(a2, _t3,_t4,[])</span> AND
-<span class="name">entity(e,[])</span> 
- holds.
-    </div>
-</td>
-</tr>
-
-<tr>
-<td class="name">End</td>
-<td>
-<div class='inference' id="end-type-inference">
+<span class="name">entity(e,[])</span>.
+
+
+<li>
+
+
 <span class='conditional'>IF</span> 
    <span class='name'>wasEndedBy(id;a2,e,a1,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span>,  <span class="name">_t3</span>, <span class="name">_t4</span> such that
  <span class="name">activity(a1, _t1,_t2,[])</span> AND
  <span class="name">activity(a2, _t3,_t4,[])</span> AND
-<span class="name">entity(e,[])</span> holds.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Invalidation</td>
-<td>
-<div class='inference' id="invalidation-type-inference">
+<span class="name">entity(e,[])</span>.
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>wasInvalidatedBy(id;e,a,t,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
  <span class="name">activity(a1, _t1,_t2,[])</span> AND
-<span class="name">entity(e,[])</span> 
- hold.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Derivation</td>
-<td>
-<div class='inference' id="derivation-type-inference">
+<span class="name">entity(e,[])</span>.
+
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>wasDerivedFrom(id; e2, e1, a, g2, u1, attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
 <span class="name">entity(e1,[])</span> AND 
 <span class="name">entity(e2,[])</span> AND
- <span class="name">activity(a, _t1,_t2,[])</span> 
- holds.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Attribution</td>
-<td>
-<div class='inference' id="attribution-type-inference">
+ <span class="name">activity(a, _t1,_t2,[])</span>.
+
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>wasAttributedTo(id;e,ag,attr)</span>  
 <span class='conditional'>THEN</span> 
 <span class="name">entity(e,[])</span> AND
-<span class="name">agent(ag,[])</span>
- hold.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Association</td>
-<td>
-<div class='inference' id="association-type-inference">
+<span class="name">agent(ag,[])</span>.
+
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>wasAssociatedWith(id;a,ag,pl,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
  <span class="name">activity(a, _t1,_t2,[])</span> AND 
 <span class="name">agent(ag,[])</span> AND
-<span class="name">entity(pl,[prov:type='prov:Plan'])</span>
- hold.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Delegation</td>
-<td>
-
-<div class='inference' id="delegation-type-inference">
+<span class="name">entity(pl,[prov:type='prov:Plan'])</span>.
+
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>actedOnBehalfOf(id;ag2,ag1,a,attrs)</span>  
 <span class='conditional'>THEN</span> 
 there exist <span class="name">_t1</span>, <span class="name">_t2</span> such that
  <span class="name">activity(a, _t1,_t2,[])</span> AND 
 <span class="name">agent(ag1,[])</span> AND
-<span class="name">agent(ag2,[])</span>
- holds.
-    </div>
-</td>
-</tr>
-
-<tr>
-<td class="name">Alternate</td>
-<td>
-<div class='inference' id="alternate-type-inference">
+<span class="name">agent(ag2,[])</span>.
+
+
+
+<li>
 <span class='conditional'>IF</span> 
    <span class='name'>alternateOf(alt1, alt2)</span>  
 <span class='conditional'>THEN</span> 
 <span class="name">entity(alt1,[])</span> AND
-<span class="name">entity(alt2,[])</span> 
- holds.
-    </div>
-
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Specialization</td>
-<td>
-<div class='inference' id="specialization-type-inference">
+<span class="name">entity(alt2,[])</span>.
+
+<li>
 <span class='conditional'>IF</span> 
-   <span class='name'>specializationOf(infra, supra)</span>  
+   <span class='name'>specializationOf(e2, e1)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(infra,[])</span> AND
-<span class="name">entity(supra,[])</span> 
- hold.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Mention</td>
-<td>
-<div class='inference' id="mention-type-inference">
+<span class="name">entity(e2,[])</span> AND
+<span class="name">entity(e1,[])</span>.
+
+
+<li>
 <span class='conditional'>IF</span> 
-   <span class='name'>mentionOf(infra, supra,bundle)</span>  
+   <span class='name'>mentionOf(e2,e1,b)</span>  
 <span class='conditional'>THEN</span> 
-<span class="name">entity(infra,[])</span> AND 
-<span class="name">entity(supra,[])</span> AND
-<span class="name">entity(bundle,[prov:type='prov:bundle'])</span>
- hold.
-    </div>
-</td>
-</tr>
-
-
-<tr>
-<td class="name">Membership</td>
-<td>
-<div class='inference' id="membership-type-inference">
+<span class="name">entity(e2,[])</span> AND 
+<span class="name">entity(e1,[])</span> AND
+<span class="name">entity(b,[prov:type='prov:bundle'])</span>.
+
+<li>
+
 <span class='conditional'>IF</span> 
-   <span class='name'>hadMember(c, e)</span>  
+   <span class='name'>hadMember(c,e)</span>  
 <span class='conditional'>THEN</span> 
 <span class="name">entity(c,[prov:type="prov:Collection"])</span> AND
-<span class="name">entity(e,[])</span> 
- hold.
-    </div>
-</td>
-</tr>
-
-
-
-</table>
-
-
+<span class="name">entity(e,[])</span>.
+</ul>
+</div>
 
 </section>