stage constraints for PR release
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 18 Feb 2013 23:11:40 +0000
changeset 5576 644b4f547291
parent 5575 49e65bc12fbb
child 5577 bac6ce25c7c6
stage constraints for PR release
model/diff-c.html
model/diff/Makefile
model/prov-constraints.html
model/prov-dm.html
model/prov-n.html
model/releases/PR-prov-constraints-20130312/Overview.html
model/releases/PR-prov-constraints-20130312/diff-c.html
model/releases/PR-prov-constraints-20130312/images/constraints/informedByNonTransitive.png
model/releases/PR-prov-constraints-20130312/images/constraints/informedByNonTransitive.svg
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-activity.png
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-activity.svg
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-agents.png
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-agents.svg
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-entity-trigger.png
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-entity-trigger.svg
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-entity.png
model/releases/PR-prov-constraints-20130312/images/constraints/ordering-entity.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.pdf
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/Canvas_33.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-34.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-35.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-36.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-37.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-38.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-39.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-40.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-41.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-42.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-43.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-44.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-45.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-46.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-47.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/constraint-48.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-10.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-11.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-12.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-14.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-15.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-16.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-18.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-19.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-20.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-21.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-22.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-5.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-6.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-7.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-8.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/inference-9.svg
model/releases/PR-prov-constraints-20130312/images/constraints/prov-c.graffle.svg/overview.svg
model/releases/PR-prov-constraints-20130312/images/constraints/weak-acyclic-6.svg
--- a/model/diff-c.html	Mon Feb 18 21:52:59 2013 +0000
+++ b/model/diff-c.html	Mon Feb 18 23:11:40 2013 +0000
@@ -8,1036 +8,12 @@
 .tagDelete { background-color: #770000; color: #ffffff }
 
 --></style> 
-    <title>Constraints of the <span class="delete">Provenance</span><span class="insert">PROV</span> Data Model</title> 
+    <title>Constraints of the PROV Data Model</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     
 
     <style type="text/css">
       .note { font-size:small; margin-left:50px }
-     <span class="insert">
-
-
-/* --- EDITORIAL NOTES --- */
-.pending {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #BFEFFF;
-}
-
-.pending::before {
-    content:    "Pending Review";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #f00;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-
-
-
-.resolved {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #9BCD9B;
-}
-
-.resolved::before {
-    content:    "Resolved";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #f00;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-
-.inference {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #fff;
-}
-
-
-.inference-example {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #fff;
-}
-
-/* .inference[id]::before { */
-/*     content:    "Inference: " attr(id); */
-/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
-/* } */
-
-
-/* .inference::before { */
-/*     content:    "Inference"; */
-/*     display:    block; */
-/*     width:  150px; */
-/*     margin: -1.5em 0 0.5em 0; */
-/*     font-weight:    bold; */
-/*     border: 1px solid #f00; */
-/*     background: #fff; */
-/*     padding:    3px 1em; */
-/* } */
-
-.syntax {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #fff;
-}
-
-.syntax[id]::before {
-    content:    "Syntax: " attr(id);
-    width:  380px;  /* How can we compute the length of "Constraint: " attr(id) */
-}
-
-
-.syntax::before {
-    content:    "Syntax";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #f00;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-.unamedconstraint {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #00f;
-    background: #fff;
-}
-
-
-.unamedconstraint::before {
-    content:    "Constraint";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #00f;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-
-
-.constraint {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #00f;
-    background: #fff;
-}
-
-.constraint-example {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #00f;
-    background: #fff;
-}
-
-/* .constraint[id]::before { */
-/*     content:    "Constraint: " attr(id); */
-/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
-/* } */
-
-
-/* .constraint::before { */
-/*     content:    "Constraint"; */
-/*     display:    block; */
-/*     width:  150px; */
-/*     margin: -1.5em 0 0.5em 0; */
-/*     font-weight:    bold; */
-/*     border: 1px solid #00f; */
-/*     background: #fff; */
-/*     padding:    3px 1em; */
-/* } */
-
-
-
-.interpretation {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #00f;
-    background: #fff;
-}
-
-.interpretation[id]::before {
-    content:    "Interpretation: " attr(id);
-    width:  380px;  /* How can we compute the length of "Interpretation: " attr(id) */
-}
-
-
-.interpretation::before {
-    content:    "Interpretation";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #00f;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-.definition {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #777;
-    background: #fff;
-}
-
-.definition-example {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #777;
-    background: #fff;
-}
-
-/* .definition[id]::before { */
-/*     content:    "Definition: " attr(id); */
-/*     width:  380px;  */
-/* } */
-
-
-/* .definition::before { */
-/*     content:    "Definition"; */
-/*     display:    block; */
-/*     width:  150px; */
-/*     margin: -1.5em 0 0.5em 0; */
-/*     font-weight:    bold; */
-/*     border: 1px solid #000; */
-/*     background: #fff; */
-/*     padding:    3px 1em; */
-/* } */
-
-
-.deprecatedconstraint {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #00f;
-    background: #fff;
-}
-
-.deprecatedconstraint[id]::before {
-    content:    "Deprecated: " attr(id);
-    width:  380px;  /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
-}
-
-
-.deprecatedconstraint::before {
-    content:    "Deprecated";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #00f;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-.glossary-ref {
-    font-style:    italic;
-}
-
-.dfn {
-    font-weight:    bold;
-}
-
-
-.attribute {
-    font-style: italic;
-}
-
-
-.conditional {
-    color: blue;
-}
-
-.grammar {
-    margin-top: 1ex;
-    margin-bottom: 1ex;
-    padding-left: 1ex;
-    padding-right: 1ex;
-    padding-top: 1ex;
-    padding-bottom: 0.6ex;
-    border: 1px dashed #2f6fab;
-    font-size: 95%;
-}
-.nonterminal {
-    font-weight: bold;
-    font-family: sans-serif;
-    font-size: 95%;
-}
-
-.name {
-    font-family: monospace;
-}
-
-.math {
-    font-family: roman;
-    font-style:italic;
-}
-
-
-.xmpl {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #fff;
-}
-
-.xmpl::before {
-    content:    "Example";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #f00;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-/*
-.anexample[count]::before {
-    content: "Example " attr(count) ;
-    font-family: sans-serif;
-    font-size: 1.6ex;
-    font-weight: bold;
-}
-
-.anexample:before {
-    content: "Example:";
-    font-family: sans-serif;
-    font-size: 1.6ex;
-    font-weight: bold;
-}
-
-*/
-
-.anexample {
-    margin-top: 1ex;
-    margin-bottom: 1ex;
-    padding-left: 1ex;
-    padding-right: 1ex;
-    padding-top: 1ex;
-    padding-bottom: 0.6ex;
-    border: 1px dashed #2f6fab;
-    background-color: #f9f9f9;
-}
-.anexample table {
-    background-color: #f9f9f9;
-}
-
-.conceptexample:before {
-    content: "Example:";
-    font-family: sans-serif;
-    font-size: 1.6ex;
-    font-weight: bold;
-}
-.conceptexample {
-    margin-top: 1ex;
-    margin-bottom: 1ex;
-    padding-left: 1ex;
-    padding-right: 1ex;
-    padding-top: 1ex;
-    padding-bottom: 0.6ex;
-    border: 1px dashed #2f6fab;
-    background-color: #f9f9f9;
-}
-
-.pnExpression {
-    font-weight: normal;
-    font-size:120%;
-    font-family: monospace;
-}
-
-
-div[class="grammar"] span[class="name"]:before {
-    content: "'";
-}
-
-div[class="grammar"] span[class="name"]:after {
-    content: "'";
-}
-
-
-div[class="grammar"] span[class="optional"]:before {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: "(";
-}
-
-div[class="grammar"] span[class="optional"]:after {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: ")?";
-}
-
-
-div[class="grammar"] span[class="plus"]:before {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: "(";
-}
-
-div[class="grammar"] span[class="plus"]:after {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: ")+";
-}
-
-
-div[class="grammar"] span[class="star"]:before {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: "(";
-}
-
-div[class="grammar"] span[class="star"]:after {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: ")*";
-}
-
-div[class="grammar"] span[class="choice"]:before {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: "(";
-}
-
-div[class="grammar"] span[class="choice"]:after {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: ")";
-}
-
-div[class="grammar"] span[class="group"]:before {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: "(";
-}
-
-div[class="grammar"] span[class="group"]:after {
-    font-weight: normal;
-    font-size:130%;
-    font-family: monospace;
-    content: ")";
-}
-
-table {
-    background-color: #f9f9f9;
-}
-
-.component1-color {
- background-color: rgba(255,42,42,0.2);
-}
-
-.component2-color {
- background-color: rgba(0,68,170,0.2);
-}
-
-.component3-color {
- background-color: rgba(0,170,0,0.2);
-}
-.component4-color {
- background-color: rgba(204,255,0,0.2);
-}
-
-.component5-color {
- background-color: rgba(11,40,40,0.2);
-}
-
-.component6-color {
- background-color: rgba(244,105,14,0.2);
-}
-
-.interpretation-forward::before {
-    content:    "Interpretation: ";
-    font-weight:    bold;
-}
-
-.structural-forward::before {
-    content:    "Structural constraint: ";
-    font-weight:    bold;
-}
-
-
-code {
-    color:  black;
-}
-
-.ruleTitle {
-    font-family: sans-serif;
-    font-size: 1.6ex;
-    font-weight: bold;
-}
-
-
-
-
-.remark {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px dashed #000;
-    background: #F0F0F0;
-}
-
-.remark::before {
-    content:    "Remark";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #000;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-table.thinborder {
-	border-width: 1px;
-	border-spacing: 0px;
-	border-style: none;
-	border-color: gray;
-	border-collapse: collapse;
-}
-table.thinborder th {
-	border-width: 1px;
-	padding: 0px;
-	border-style: solid;
-	border-color: gray;
-}
-table.thinborder td {
-	border-width: 1px;
-	padding: 2px;
-	border-style: solid;
-	border-color: gray;
-}
-
-
-     </span></style>
-
-     
-     
-    
-
-    
-
-     
-  
-
-
-
-     
-
-     
-    
-
-    
-    
-
-     
-  <style>/*****************************************************************
- * ReSpec <span class="insert">3 </span>CSS
- * Robin Berjon <span class="delete">(robin at berjon dot com)
- * v0.05 </span>- <span class="delete">2009-07-31</span><span class="insert">http://berjon.com/</span>
- *****************************************************************/
-
-
-
-
-/* --- INLINES --- */
-em.rfc2119 { 
-    text-transform:     lowercase;
-    font-variant:       small-caps;
-    font-style:         normal;
-    color:              #900;
-}
-
-h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
-h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
-    border: none;
-}
-
-dfn {
-    font-weight:    bold;
-}
-
-a.internalDFN {
-    color:  inherit;
-    border-bottom:  1px solid #99c;
-    text-decoration:    none;
-}
-
-a.externalDFN {
-    color:  inherit;
-    border-bottom:  1px dotted #ccc;
-    text-decoration:    none;
-}
-
-a.bibref {
-    text-decoration:    none;
-}
-
-<span class="insert">cite .bibref {
-    font-style: normal;
-}
-
-</span>code {
-    color:  #ff4500;
-}
-
-
-/* --- <span class="delete">WEB IDL </span>--- */
-<span class="delete">pre.idl</span><span class="insert">ol.algorithm</span> {<span class="delete">
-    border-top: 1px solid #90b8de;
-    border-bottom: 1px solid #90b8de;
-    padding:    1em;
-    line-height:    120%;
-</span><span class="insert"> counter-reset:numsection; list-style-type: none; </span>}<span class="delete">
-
-pre.idl::before</span><span class="insert">
-ol.algorithm li</span> {
-    <span class="insert"> margin: 0.5em 0; }
-ol.algorithm li:before { font-weight: bold; counter-increment: numsection; </span>content:<span class="delete">    "WebIDL";
-    display:    block;
-    width:      150px;
-    background: #90b8de;
-    color:  #fff;
-    font-family:    initial;
-    padding:    3px;
-    font-weight:    bold;
-    margin: -1em 0 1em -1em;
-}
-
-.idlType {
-    color:  #ff4500;
-    font-weight:    bold;
-    text-decoration:    none;
-}
-
-/*.idlModule*/
-/*.idlModuleID*/
-/*.idlInterface*/
-.idlInterfaceID, .idlDictionaryID {
-    font-weight:    bold;
-    color:  #005a9c;
-}
-
-.idlSuperclass {
-    font-style: italic;
-    color:  #005a9c;
-}
-
-/*.idlAttribute*/
-.idlAttrType, .idlFieldType, .idlMemberType {
-    color:  #005a9c;
-}
-.idlAttrName, .idlFieldName, .idlMemberName {
-    color:  #ff4500;
-}
-.idlAttrName a, .idlFieldName a, .idlMemberName a {
-    color:  #ff4500;
-    border-bottom:  1px dotted #ff4500;
-    text-decoration: none;
-}
-
-/*.idlMethod*/
-.idlMethType {
-    color:  #005a9c;
-}
-.idlMethName {
-    color:  #ff4500;
-}
-.idlMethName a {
-    color:  #ff4500;
-    border-bottom:  1px dotted #ff4500;
-    text-decoration: none;
-}
-
-/*.idlParam*/
-.idlParamType {
-    color:  #005a9c;
-}
-.idlParamName {
-    font-style: italic;
-}
-
-.extAttr {
-    color:  #666;
-}
-
-/*.idlConst*/
-.idlConstType {
-    color:  #005a9c;
-}
-.idlConstName {
-    color:  #ff4500;
-}
-.idlConstName a {
-    color:  #ff4500;
-    border-bottom:  1px dotted #ff4500;
-    text-decoration: none;
-}
-
-/*.idlException*/
-.idlExceptionID {
-    font-weight:    bold;
-    color:  #c00;
-}
-
-.idlTypedefID, .idlTypedefType {
-    color:  #005a9c;
-}
-
-.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
-    color:  #c00;
-    font-weight:    normal;
-}
-
-.excName a {
-    font-family:    monospace;
-}
-
-.idlRaises a.idlType, .excName a.idlType {
-    border-bottom:  1px dotted #c00;
-}
-
-.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
-    width:  45px;
-    text-align: center;
-}
-.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
-.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
-
-.idlImplements a {
-    font-weight:    bold;
-}
-
-dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
-    margin-left:    2em;
-}
-
-.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
-    font-weight:    normal;
-}
-
-.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
-    font-weight:    bold;
-    color:  #000;
-    font-family:    monospace;
-}
-
-.attributes dt code, .fields dt code, .dictionary-members dt code {
-    background:  #ffffd2;
-}
-
-.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
-    color:  #005a9c;
-    background:  transparent;
-    font-family:    inherit;
-    font-weight:    normal;
-    font-style: italic;
-}
-
-.methods dt code {
-    background:  #d9e6f8;
-}
-
-.constants dt code {
-    background:  #ddffd2;
-}
-
-.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
-    margin-bottom:  1em;
-}
-
-table.parameters, table.exceptions {
-    border-spacing: 0;
-    border-collapse:    collapse;
-    margin: 0.5em 0;
-    width:  100%;
-}
-table.parameters { border-bottom:  1px solid #90b8de; }
-table.exceptions { border-bottom:  1px solid #deb890; }
-
-.parameters th, .exceptions th {
-    color:  #fff;
-    padding:    3px 5px;
-    text-align: left;
-    font-family:    initial;
-    font-weight:    normal;
-    text-shadow:    #666 1px 1px 0;
-}
-.parameters th { background: #90b8de; }
-.exceptions th { background: #deb890; }
-
-.parameters td, .exceptions td {
-    padding:    3px 10px;
-    border-top: 1px solid #ddd;
-    vertical-align: top;
-}
-
-.parameters tr:first-child td, .exceptions tr:first-child td {
-    border-top: none;
-}
-
-.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
-    width:  100px;
-}
-
-.parameters td.prmType {
-    width:  120px;
-}
-
-table.exceptions table {
-    border-spacing: 0;
-    border-collapse:    collapse;
-    width:  100%;
-</span><span class="insert"> counters(numsection, ".") ") "; </span>}
-
-/* --- TOC --- */
-.toc<span class="insert"> a, .tof</span> a {
-    text-decoration:    none;
-}
-
-a <span class="delete">.secno</span><span class="insert">.secno, a .figno</span> {
-    color:  #000;<span class="insert">
-}
-
-ul.tof, ol.tof {
-    list-style: none outside none;
-}
-
-.caption {
-    margin-top: 0.5em;
-    font-style:   italic;</span>
-}
-
-/* --- TABLE --- */
-table.simple {
-    border-spacing: 0;
-    border-collapse:    collapse;
-    border-bottom:  3px solid #005a9c;
-}
-
-.simple th {
-    background: #005a9c;
-    color:  #fff;
-    padding:    3px 5px;
-    text-align: left;
-}
-
-.simple th[scope="row"] {
-    background: inherit;
-    color:  inherit;
-    border-top: 1px solid #ddd;
-}
-
-.simple td {
-    padding:    3px 10px;
-    border-top: 1px solid #ddd;
-}
-
-.simple tr:nth-child(even) {
-    background: #f0f6ff;
-}
-
-/* --- DL --- */
-.section dd > p:first-child {
-    margin-top: 0;
-}
-
-.section dd > p:last-child {
-    margin-bottom: 0;
-}
-
-.section dd {
-    margin-bottom:  1em;
-}
-
-.section dl.attrs dd, .section dl.eldef dd {
-    margin-bottom:  0;
-}<span class="delete">
-
-/* --- EXAMPLES --- */
-pre.example {
-    border-top: 1px solid #ff4500;
-    border-bottom: 1px solid #ff4500;
-    padding:    1em;
-    margin-top: 1em;
-}
-
-pre.example::before {
-    content:    "Example";
-    display:    block;
-    width:      150px;
-    background: #ff4500;
-    color:  #fff;
-    font-family:    initial;
-    padding:    3px;
-    font-weight:    bold;
-    margin: -1em 0 1em -1em;
-}
-
-/* --- EDITORIAL NOTES --- */
-.issue {
-    padding:    1em;
-    margin: 1em 0em 0em;
-    border: 1px solid #f00;
-    background: #ffc;
-}
-
-.issue::before {
-    content:    "Issue";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #f00;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-.note {
-    margin: 1em 0em 0em;
-    padding:    1em;
-    border: 2px solid #cff6d9;
-    background: #e2fff0;
-}
-
-.note::before {
-    content:    "Note";
-    display:    block;
-    width:  150px;
-    margin: -1.5em 0 0.5em 0;
-    font-weight:    bold;
-    border: 1px solid #cff6d9;
-    background: #fff;
-    padding:    3px 1em;
-}
-
-/* --- Best Practices --- */
-div.practice {
-    border: solid #bebebe 1px;
-    margin: 2em 1em 1em 2em;
-}
-
-span.practicelab {
-    margin: 1.5em 0.5em 1em 1em;
-    font-weight: bold;
-    font-style: italic;
-}
-
-span.practicelab   { background: #dfffff; }
-
-span.practicelab {
-    position: relative;
-    padding: 0 0.5em;
-    top: -1.5em;
-}
-
-p.practicedesc {
-    margin: 1.5em 0.5em 1em 1em;
-}
-
[email protected] screen {
-    p.practicedesc {
-        position: relative;
-        top: -2em;
-        padding: 0;
-        margin: 1.5em 0.5em -1em 1em;
-    }
-}
-
-/* --- SYNTAX HIGHLIGHTING --- */
-pre.sh_sourceCode {
-  background-color: white;
-  color: black;
-  font-style: normal;
-  font-weight: normal;
-}
-
-pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; }           /* language keywords */
-pre.sh_sourceCode .sh_type { color: #666; }                            /* basic types */
-pre.sh_sourceCode .sh_usertype { color: teal; }                             /* user defined types */
-pre.sh_sourceCode .sh_string { color: red; font-family: monospace; }        /* strings and chars */
-pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; }     /* regular expressions */
-pre.sh_sourceCode .sh_specialchar { color: 	#ffc0cb; font-family: monospace; }  /* e.g., \n, \t, \\ */
-pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; }         /* comments */
-pre.sh_sourceCode .sh_number { color: purple; }                             /* literal numbers */
-pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; }       /* e.g., #include, import */
-pre.sh_sourceCode .sh_symbol { color: blue; }                            /* e.g., *, + */
-pre.sh_sourceCode .sh_function { color: black; font-weight: bold; }         /* function calls and declarations */
-pre.sh_sourceCode .sh_cbracket { color: red; }                              /* block brackets (e.g., {, }) */
-pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; }   /* TODO and FIXME */
-
-/* Predefined variables and functions (for instance glsl) */
-pre.sh_sourceCode .sh_predef_var { color: #00008B; }
-pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
-
-/* for OOP */
-pre.sh_sourceCode .sh_classname { color: teal; }
-
-/* line numbers (not yet implemented) */
-pre.sh_sourceCode .sh_linenum { display: none; }
-
-/* Internet related */
-pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
-
-/* for ChangeLog and Log files */
-pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
-pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
-pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
-
-/* for Prolog, Perl... */
-pre.sh_sourceCode .sh_variable { color: #006400; }
-
-/* for LaTeX */
-pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
-pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
-pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
-pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
-pre.sh_sourceCode .sh_argument { color: #006400; }
-pre.sh_sourceCode .sh_optionalargument { color: purple; }
-pre.sh_sourceCode .sh_math { color: orange; }
-pre.sh_sourceCode .sh_bibtex { color: blue; }
-
-/* for diffs */
-pre.sh_sourceCode .sh_oldfile { color: orange; }
-pre.sh_sourceCode .sh_newfile { color: #006400; }
-pre.sh_sourceCode .sh_difflines { color: blue; }
-
-/* for css */
-pre.sh_sourceCode .sh_selector { color: purple; }
-pre.sh_sourceCode .sh_property { color: blue; }
-pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
-
-/* other */
-pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
-pre.sh_sourceCode .sh_paren { color: red; }
-pre.sh_sourceCode .sh_attribute { color: #006400; }
 
 
 /* --- EDITORIAL NOTES --- */
@@ -1558,21 +534,148 @@
 	border-color: gray;
 }
 
-</span>
-</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-CR"></head> 
+
+     </style>
+
+
+     
+
+     
+    
+
+    
+    
+
+     
+  <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-PR"></head> 
   <body><div class="head">
   <p>
     
       <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
     
   </p>
-  <h1 class="title" id="title">Constraints of the <span class="delete">Provenance</span><span class="insert">PROV</span> Data Model</h1>
+  <h1 class="title" id="title">Constraints of the PROV Data Model</h1>
   
-  <h2 id="w3c-candidate-recommendation-11-december-2012"><abbr title="World Wide Web Consortium">W3C<span class="delete"> Working Draft</span></abbr><span class="insert"> Candidate Recommendation</span> 11 <span class="delete">September</span><span class="insert">December</span> 2012</h2>
+  <h2 id="w3c-proposed-recommendation-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation <span class="delete">11 December 2012</span><span class="insert">12 March 2013</span></h2>
   <dl>
     
-      <dt>This version:</dt>
-      <dd><a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/"><span class="insert">http://www.w3.org/TR/2012/CR-prov-constraints-20121211/</span></a></dd>
+      <dt>This<span class="insert"> version:</span></dt>
+      <dd><a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</span></a></dd>
       <dt><span class="insert">Latest published version:</span></dt>
       <dd><a href="http://www.w3.org/TR/prov-constraints/"><span class="insert">http://www.w3.org/TR/prov-constraints/</span></a></dd>
     
@@ -1587,8 +690,24 @@
     
     
     
-      <dt><span class="insert">Previous version:</span></dt>
-      <dd><a href="http://www.w3.org/TR/2012/WD-prov-constraints-20120911/">http://www.w3.org/TR/2012/WD-prov-constraints-20120911/</a> <a href="diff-c.html"><span class="insert">(colored-coded diff)</span></a></dd><span class="delete">Latest published version:</span><span class="delete">http://www.w3.org/TR/prov-constraints/</span><span class="delete">Latest editor's draft:</span><span class="delete">http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html</span><span class="delete">Previous version:</span><span class="delete">http://www.w3.org/TR/2012/WD-prov-constraints-20120503/</span><span class="delete"> (</span><span class="delete">color-coded diffs</span><span class="delete">)</span>
+      <dt><span class="insert">Previous</span> version:</dt>
+      <dd><a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">http://www.w3.org/TR/2012/CR-prov-constraints-20121211/</a>
+      <span class="delete">Latest published version:</span>
+      <span class="delete">http://www.w3.org/TR/prov-constraints/</span>
+    
+    
+    
+      <span class="delete">Test suite:</span>
+      <span class="delete">http://dvcs.w3.org/hg/prov/raw-file/default/testcases/process.html</span>
+    
+    
+      <span class="delete">Implementation report:</span>
+      <span class="delete">http://dvcs.w3.org/hg/prov/raw-file/default/reports/prov-implementations.html</span>
+    
+    
+    
+      <span class="delete">Previous version:</span>
+      <span class="delete">http://www.w3.org/TR/2012/WD-prov-constraints-20120911/</span> <a href="diff-c.html"><span class="delete">(color-coded</span><span class="insert">(colored-coded</span> diff)</a></dd>
     
     
     <dt>Editors:</dt>
@@ -1596,11 +715,9 @@
 <dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
 <dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
 
-
     
       <dt>Author:</dt>
-      <dd><a href="http://users.ugent.be/~tdenies/">Tom De Nies</a>, IBBT - Ghent University</dd>
-
+      <dd><a href="http://users.ugent.be/~tdenies/">Tom De Nies</a>, <span class="delete">IBBT</span><span class="insert">iMinds</span> - Ghent University</dd>
 
     
   </dl>
@@ -1610,15 +727,15 @@
   
     
       <p class="copyright">
-        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©<span class="delete"> 2012-2012 </span><span class="insert"> 
-        2012
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 
+        <span class="delete">2012</span><span class="insert">2012-2013</span>
         
-        </span><a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>  
-        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, 
-        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, 
-        <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. 
-        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, 
-        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and 
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> 
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a><span class="insert">, </span><a href="http://ev.buaa.edu.cn/"><span class="insert">Beihang</span></a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
         <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
       </p>
     
@@ -1638,11 +755,10 @@
 
 
 <p> This document defines a subset of PROV instances called
-<i><a href="#dfn-valid" class="internalDFN">valid</a></i> PROV <span class="delete">instances.  
-</span><span class="insert">instances, by analogy with notions of
+<i><a href="#dfn-valid" class="internalDFN">valid</a></i> PROV instances, by analogy with notions of
 validity for other Web standards.
-</span>The intent of validation is ensure that a PROV instance represents a<span class="insert">
-consistent</span> history of objects and their interactions <span class="delete">which</span><span class="insert">that</span> is <span class="delete">consistent, and thus </span>safe to 
+The intent of validation is<span class="insert"> to</span> ensure that a PROV instance represents a
+consistent history of objects and their interactions that is safe to
 use for the purpose of logical reasoning and other kinds of analysis.
 Valid PROV instances satisfy
 certain <a>definitions</a>, <a>inferences</a>, and
@@ -1654,116 +770,126 @@
 <a href="#dfn-equivalent" class="internalDFN">equivalent</a>.  Validity and equivalence are also defined for PROV
 bundles (that is, named instances) and documents (that is, a toplevel
 instance together with zero or more bundles).</p>
-
-
-<p><span class="insert">The </span><a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/"><span class="insert">PROV Document Overview</span></a><span class="insert"> describes the overall state of PROV, and should be read before other PROV documents.</span></p>
+<p>The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p>
 </section><section id="sotd" class="introductory"><h2>Status of This Document</h2>
   
     
       
         <p>
-          <em>This section describes the status of this document at the time of its publication. Other 
-          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision 
-          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports 
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
           index</a> at http://www.w3.org/TR/.</em>
         </p>
-<span class="delete">Last Call</span>
         
-<h4 id="prov-family-of-documents"><span class="insert">PROV Family of Documents</span></h4>
-This <span class="insert">document </span>is <span class="delete">the second public release of the PROV-CONSTRAINTS document. 
-This is</span><span class="insert">part of the PROV family of documents,</span> a <span class="delete">Last Call Working Draft. The design is not expected</span><span class="insert">set of documents defining various aspects that are necessary</span> to <span class="delete">change significantly, going forward, and now is the key time for external review.</span>
-
-<span class="delete">This specification identifies</span><span class="insert">achieve the vision of inter-operable
-interchange of provenance information in heterogeneous environments such as the Web.</span>  <span class="delete">features at
-risk</span><span class="delete"> related to the at-risk Mention feature of</span><span class="insert">These documents are:
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web.  These documents <span class="delete">are:
+</span>
+ <span class="delete">PROV-OVERVIEW</span><span class="delete"> (To be published as Note), an overview of the PROV family of documents</span><span class="insert">are listed below. Please consult the</span> [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite><span class="insert">] for a guide to reading these documents. 
 </span><ul>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/"><span class="insert">PROV-OVERVIEW</span></a><span class="insert"> (To be published as Note), an overview of the PROV family of documents</span> [<cite><a class="bibref" href="#bib-PROV-OVERVIEW"><span class="insert">PROV-OVERVIEW</span></a></cite><span class="insert">];</span></li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/"><span class="insert">PROV-PRIMER</span></a><span class="insert"> (To be published as Note), a primer for the PROV data model [</span><cite><a class="bibref" href="#bib-PROV-PRIMER"><span class="insert">PROV-PRIMER</span></a></cite><span class="insert">];</span></li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/"><span class="insert">PROV-O</span></a><span class="insert"> (Candidate Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [</span><cite><a class="bibref" href="#bib-PROV-O"><span class="insert">PROV-O</span></a></cite><span class="insert">];</span></li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">PROV-DM</a><span class="insert"> (Candidate Recommendation), the PROV data model for provenance [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="delete">]:
-</span><span class="delete">Inference 22 (mention-specialization-inference)</span><span class="delete"> and
-</span><span class="delete">Constraint 31 (unique-mention)</span><span class="delete">.
-These might be removed from PROV-CONSTRAINTS.</span>
-
-<span class="insert">];</span></li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/"><span class="insert">PROV-N</span></a><span class="insert"> (Candidate Recommendation), a notation for provenance aimed at human consumption [</span><cite><a class="bibref" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">];</span></li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/"><span class="insert">PROV-CONSTRAINTS</span></a><span class="insert">
-(Candidate Recommendation), a set of constraints applying to the </span>PROV <span class="delete">Family of Specifications</span><span class="delete">
-This document is part of the PROV family of specifications, a set of specifications defining various aspects that are necessary to achieve the vision of inter-operable
-interchange of provenance information in heterogeneous environments such as the Web.  The specifications are:
-</span>
- <span class="delete">PROV-DM</span><span class="delete">, the PROV </span>data model<span class="delete"> for provenance;</span>
- <span class="delete">PROV-CONSTRAINTS</span><span class="delete">, a set of constraints applying to the PROV data model  </span>
-(this document);</li>
-<li> <span class="delete">PROV-N</span><span class="delete">, a notation</span><a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/"><span class="insert">PROV-AQ</span></a><span class="insert"> (To be published as Note), the mechanisms</span> for <span class="insert">accessing and querying </span>provenance <span class="delete">aimed at human consumption;</span><span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">]; </span></li>
-<li> <span class="delete">PROV-O</span><span class="delete">,</span><a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/"><span class="insert">PROV-XML</span></a><span class="insert"> (To be published as Note),  an XML schema for</span> the PROV <span class="delete">ontology,</span><span class="insert">data model [</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">].</span></li>
-
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">PROV-OVERVIEW</span></a><span class="insert"> (To be published as Note), an overview of the PROV family of documents [</span><cite><a class="bibref" href="#bib-PROV-OVERVIEW"><span class="insert">PROV-OVERVIEW</span></a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> <span class="delete">(Candidate</span><span class="insert">(Proposed</span> Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a><span class="delete">
+(Candidate</span><span class="insert"> (Proposed</span> Recommendation), a set of constraints applying to the PROV data model
+  (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">PROV-XML</span></a><span class="insert"> (To be published as Note),  an XML schema for the PROV data model [</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <span class="delete">PROV-XML</span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">PROV-DICTIONARY</span></a> (To be published as <span class="delete">Note),  an XML schema for the PROV data model</span><span class="insert">Note) introduces a specific type of collection, consisting of key-entity pairs</span> [<cite><span class="delete">PROV-XML</span><a class="bibref" href="#bib-PROV-DICTIONARY"><span class="insert">PROV-DICTIONARY</span></a></cite><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">PROV-DC</span></a><span class="insert"> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [</span><cite><a class="bibref" href="#bib-PROV-DC"><span class="insert">PROV-DC</span></a></cite><span class="insert">];</span></li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">PROV-LINKS</span></a><span class="insert"> (To be published as Note) introduces a mechanism to link across bundles [</span><cite><a class="bibref" href="#bib-PROV-LINKS"><span class="insert">PROV-LINKS</span></a></cite>].</li>
 </ul>
-<h4 id="how-to-read-the-prov-family-of-documents"><span class="insert">How to read the PROV Family of Documents</span></h4>
-<ul>
-<li><span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-OVERVIEW"><span class="insert">PROV-OVERVIEW</span></a></cite><span class="insert">] overviews the PROV family of documents. </span></li>
-<li><span class="insert">The primer [</span><cite><a class="bibref" href="#bib-PROV-PRIMER"><span class="insert">PROV-PRIMER</span></a></cite><span class="insert">] is the entry point to PROV offering</span> an <span class="delete">OWL2 ontology allowing the mapping of PROV</span><span class="insert">introduction</span> to <span class="delete">RDF;</span>
- <span class="delete">PROV-AQ</span><span class="delete">, the mechanisms for accessing and querying provenance; </span>
- <span class="delete">PROV-PRIMER</span><span class="delete">, a primer for the PROV data</span><span class="insert">the provenance</span> model.</li>
-
-<span class="delete">How to read the PROV Family of Specifications</span>
-
-<li>The <span class="delete">primer is the entry point</span><span class="insert">Linked Data and Semantic Web community should focus on [</span><cite><a class="bibref" href="#bib-PROV-O"><span class="insert">PROV-O</span></a></cite><span class="insert">] defining PROV classes and properties specified in an OWL2 ontology. For further details, [</span><cite><a class="bibref" href="#bib-PROV-DM"><span class="insert">PROV-DM</span></a></cite><span class="insert">] and PROV-CONSTRAINTS specify the constraints applicable</span> to <span class="delete">PROV offering an introduction to the provenance model.</span><span class="insert">the data model, and its interpretation. </span></li>
-<li>The <span class="delete">Linked Data and Semantic Web</span><span class="insert">XML</span> community should focus on <span class="delete">PROV-O
-</span><span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">] </span>defining <span class="delete">PROV classes and properties specified</span><span class="insert">an XML schema for PROV. Further details can also be found</span> in <span class="delete">an OWL2
-ontology. For further details, </span><span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-DM">PROV-DM<span class="delete"> and PROV-CONSTRAINTS specify
-the constraints applicable to the data model, and its interpretation.
-
-</span></a></cite><span class="insert">] and PROV-CONSTRAINTS.</span></li>
-<li>Developers seeking to retrieve or publish provenance should focus on <span class="delete">PROV-AQ.</span><span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-AQ"><span class="insert">PROV-AQ</span></a></cite><span class="insert">].</span></li>
-<li>Readers seeking to implement other PROV serializations
-should focus on <span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite><span class="insert">]</span> and PROV-CONSTRAINTS.  <span class="insert">[</span><cite><a class="bibref" href="#bib-PROV-O">PROV-O<span class="delete"> and </span></a></cite><span class="insert">], [</span><cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite><span class="insert">], and [</span><cite><a class="bibref" href="#bib-PROV-XML"><span class="insert">PROV-XML</span></a></cite><span class="insert">]</span> offer examples of mapping to <span class="delete">RDF and</span><span class="insert">RDF,</span> text,<span class="insert"> and XML,</span> respectively.</li>
-</ul>
-<h4 id="please-comment-by-january-31-2013"><span class="insert">Please Comment By January 31, 2013</span></h4>
-
-<span class="insert">The Provenance Working Group seeks to gather experience from </span><a href="http://www.w3.org/2011/prov/wiki/ProvImplementations"><span class="insert">implementations</span></a><span class="insert"> in order to increase confidence in the specifications and meet specific </span><a href="http://www.w3.org/2011/prov/wiki/ProvCRExitCriteria"><span class="insert">exit criteria</span></a><span class="insert">. This document will remain a Candidate Recommendation until at least 31 January 31, 2013. After that date, when and if the exit criteria are met, the group intends to request </span><a href="http://www.w3.org/2005/10/Process-20051014/tr.html#RecsPR"><span class="insert">Proposed Recommendation</span></a><span class="insert"> status.
-
-
-        </span><p>
-          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a <span class="delete">Last Call Working Draft. </span><span class="insert">Candidate Recommendation.
+
+
+<span class="delete">How to read the PROV Family of Documents</span>
+
+<span class="delete">[</span><span class="delete">PROV-OVERVIEW</span><span class="delete">] overviews the PROV family of documents. </span>
+<span class="delete">The primer [</span><span class="delete">PROV-PRIMER</span><span class="delete">] is the entry point to PROV offering an introduction to the provenance model.</span>
+<span class="delete">The Linked Data and Semantic Web community should focus on [</span><span class="delete">PROV-O</span><span class="delete">] defining PROV classes and properties specified in an OWL2 ontology. For further details, [</span><span class="delete">PROV-DM</span><span class="delete">] and PROV-CONSTRAINTS specify the constraints applicable to the data model, and its interpretation. </span>
+<span class="delete">The XML community should focus on [</span><span class="delete">PROV-XML</span><span class="delete">] defining an XML schema for PROV. Further details can also be found in [</span><span class="delete">PROV-DM</span><span class="delete">] and PROV-CONSTRAINTS.</span>
+<span class="delete">Developers seeking to retrieve or publish provenance should focus on [</span><span class="delete">PROV-AQ</span><span class="delete">].</span>
+<span class="delete">Readers seeking to implement other PROV serializations
+should focus on [</span><span class="delete">PROV-DM</span><span class="delete">] and PROV-CONSTRAINTS.  [</span><span class="delete">PROV-O</span><span class="delete">], [</span><span class="delete">PROV-N</span><span class="delete">], and [</span><span class="delete">PROV-XML</span><span class="delete">] offer examples of mapping to RDF, text, and XML, respectively.</span>
+
+<h4 id="w3c-members-please-review-by-09-april-2013"><abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr><span class="insert"> Members </span>Please <span class="delete">Comment</span><span class="insert">Review</span> By <span class="delete">January 31,</span><span class="insert">09 April</span> 2013</h4>
+
+<p>The<span class="delete"> Provenance Working Group seeks to gather experience from </span><span class="delete">implementations</span><span class="delete"> in order to increase confidence in the specifications and meet specific </span><span class="delete">exit criteria</span><span class="delete">. This document will remain a Candidate Recommendation until at least 31 January 31, 2013. After that date, when and if the exit criteria are met, the group intends to request </span><span class="delete">Proposed Recommendation</span><span class="delete"> status.
+
+
+        </span><span class="delete">
+          This document was published by the </span><span class="delete">Provenance Working Group</span><span class="delete"> as a Candidate Recommendation.
           
-            </span>This document is intended to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation. 
+            This document is intended to become a</span> <abbr title="World Wide Web Consortium">W3C</abbr> <span class="insert">Director seeks review and feedback from </span><abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr><span class="insert"> Advisory Committee representatives, via their </span><a href="http://form-tbd/"><span class="insert">review form</span></a><span class="insert"> by 09 April 2013. This will allow the Director to assess consensus and determine whether to issue this document as a </span><abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr> Recommendation.<span class="delete">
           
-          If you wish to make comments regarding this document, please send them to  
-          <a href="mailto:[email protected]">[email protected]</a>  
-          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>, 
-          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).<span class="delete"> The Last Call period ends 10 October 2012. </span>
+          If you wish</span></p>
+
+<p><span class="insert">Others are encouraged by the Provenance Working Group</span> to <span class="delete">make comments regarding this document, please</span><span class="insert">continue to</span> send <span class="delete">them</span><span class="insert">reports of implementation experience, and other feedback,</span> to 
+          
+<a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).
           
           
-            <abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr><span class="insert"> publishes a Candidate Recommendation to indicate that the document is believed
+            <span class="insert"> Reports of any success or difficulty with the test cases are encouraged. Open discussion among developers is welcome at
+</span><a href="mailto:[email protected]"><span class="insert">[email protected]</span></a><span class="insert"> 
+          (</span><a href="mailto:[email protected]?subject=subscribe"><span class="insert">subscribe</span></a><span class="insert">,
+          </span><a href="http://lists.w3.org/Archives/Public/public-prov-comments/"><span class="insert">archives</span></a><span class="insert">).</span></p>
+
+        <p><span class="insert">
+          This document was published by the </span><a href="http://www.w3.org/2011/prov/"><span class="insert">Provenance Working Group</span></a><span class="insert"> as a Proposed Recommendation.
+          
+            This document is intended to become a </span><abbr title="World Wide Web Consortium">W3C</abbr> <span class="delete">publishes a Candidate Recommendation </span><span class="insert">Recommendation.
+          
+          
+          
+          
+          
+          
+          The </span><abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr><span class="insert"> Membership and other interested parties are invited
+          </span>to <span class="delete">indicate</span><span class="insert">review the document and send comments to
+
+          </span><a href="mailto:[email protected]"><span class="insert">[email protected]</span></a><span class="insert"> 
+          (</span><a href="mailto:[email protected]?subject=subscribe"><span class="insert">subscribe</span></a><span class="insert">,
+          </span><a href="http://lists.w3.org/Archives/Public/public-prov-comments/"><span class="insert">archives</span></a><span class="insert">)
+          through 09 April 2013.
+          Advisory Committee Representatives should consult their
+          </span><a href="https://www.w3.org/2002/09/wbs/myQuestionnaires"><span class="insert">WBS questionnaires</span></a><span class="insert">. 
+          Note</span> that <span class="delete">the document is believed
             to be stable and to encourage implementation by the developer community. This
-            Candidate Recommendation is expected to advance to Proposed Recommendation no earlier than
+            Candidate Recommendation is</span><span class="insert">substantive technical comments were</span> expected <span class="delete">to advance to Proposed Recommendation no earlier than
             31 January 2013.
           
-          </span>All feedback is welcome.
+          All feedback is welcome.</span><span class="insert">during the Last Call review period that ended 10 October 2012.</span>
         </p>
         
+          
+        
+        
+        
           <p>
-            Publication as a <span class="delete">Working Draft</span><span class="insert">Candidate Recommendation</span> does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership. 
-            This is a draft document and may be updated, replaced or obsoleted by other documents at  
+            Publication as a <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+            This is a draft document and may be updated, replaced or obsoleted by other documents at 
             any time. It is inappropriate to cite this document as other than work in progress.
           </p>
         
         
         <p>
           
-            This <span class="delete">is</span><span class="insert">document was produced by</span> a <span class="delete">Last Call Working Draft and thus the Working Group has determined that this document has satisfied the relevant technical requirements and is sufficiently stable to advance through the Technical Recommendation process.</span><span class="delete">This document was produced by a </span>group operating under the  
-            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. 
+            This document was produced by a group operating under the 
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
           
           
           
             
-              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a>  
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> 
             
-            made in connection with the deliverables of the group; that page also includes instructions for  
-            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains 
-            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the 
-            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 
+            made in connection with the deliverables of the group; that page also includes instructions for 
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
             6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
           
           
@@ -1773,8 +899,14 @@
     
   
 </section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction<br>
-</a><ul class="toc"><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.1 </span>Conventions</a></li><li class="tocline"><a href="#purpose" class="tocxref"><span class="secno">1.2 </span>Purpose of this document</a></li><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.3 </span>Structure of this document</a></li><li class="tocline"><a href="#audience" class="tocxref"><span class="secno">1.4 </span> Audience </a></li></ul></li><li class="tocline"><a href="#rationale" class="tocxref"><span class="secno">2. </span>Rationale<span class="insert"> (Informative)</span></a><ul class="toc"><li class="tocline"><a href="#entities-activities-and-agents" class="tocxref"><span class="secno">2.1 </span>Entities, Activities and Agents</a></li><li class="tocline"><a href="#events" class="tocxref"><span class="secno">2.2 </span>Events</a></li><li class="tocline"><a href="#typing-section" class="tocxref"><span class="secno">2.3 </span>Types</a></li><li class="tocline"><a href="#validation-process-overview-1" class="tocxref"><span class="secno">2.4 </span>Validation Process Overview</a></li><li class="tocline"><a href="#summary-of-inferences-and-constraints" class="tocxref"><span class="secno">2.5 </span>Summary of inferences and constraints</a></li></ul></li><li class="tocline"><a href="#compliance" class="tocxref"><span class="secno">3. </span>Compliance with this document</a></li><li class="tocline"><a href="#concepts" class="tocxref"><span class="secno"><span class="insert">4. </span></span><span class="insert">Basic concepts</span></a></li><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno"><span class="delete">4.</span><span class="insert">5.</span> </span>Definitions and Inferences</a><ul class="toc"><li class="tocline"><a href="#optional-identifiers-and-attributes" class="tocxref"><span class="secno"><span class="delete">4.1</span><span class="insert">5.1</span> </span>Optional Identifiers and Attributes</a></li><li class="tocline"><a href="#entities-and-activities" class="tocxref"><span class="secno"><span class="delete">4.2</span><span class="insert">5.2</span> </span>Entities and Activities</a></li><li class="tocline"><a href="#derivations" class="tocxref"><span class="secno"><span class="delete">4.3</span><span class="insert">5.3</span> </span>Derivations</a></li><li class="tocline"><a href="#agents" class="tocxref"><span class="secno"><span class="delete">4.4</span><span class="insert">5.4</span> </span>Agents</a></li><li class="tocline"><a href="#alternate-and-specialized-entities" class="tocxref"><span class="secno"><span class="delete">4.5</span><span class="insert">5.5</span> </span>Alternate and Specialized Entities</a></li></ul></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno"><span class="delete">5.</span><span class="insert">6.</span> </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno"><span class="delete">5.1</span><span class="insert">6.1</span> </span>Uniqueness Constraints</a></li><li class="tocline"><a href="#event-ordering-constraints" class="tocxref"><span class="secno"><span class="delete">5.2</span><span class="insert">6.2</span> </span>Event Ordering Constraints</a><ul class="toc"><li class="tocline"><a href="#activity-constraints" class="tocxref"><span class="secno"><span class="delete">5.2.1</span><span class="insert">6.2.1</span> </span>Activity constraints</a></li><li class="tocline"><a href="#entity-constraints" class="tocxref"><span class="secno"><span class="delete">5.2.2</span><span class="insert">6.2.2</span> </span> Entity constraints</a></li><li class="tocline"><a href="#agent-constraints" class="tocxref"><span class="secno"><span class="delete">5.2.3</span><span class="insert">6.2.3</span> </span> Agent constraints</a></li></ul></li><li class="tocline"><a href="#type-constraints" class="tocxref"><span class="secno"><span class="delete">5.3</span><span class="insert">6.3</span> </span>Type Constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno"><span class="delete">5.4</span><span class="insert">6.4</span> </span>Impossibility constraints</a></li></ul></li><li class="tocline"><a href="#normalization-validity-equivalence" class="tocxref"><span class="secno"><span class="delete">6.</span><span class="insert">7.</span> </span>Normalization, Validity, and Equivalence</a><ul class="toc"><li class="tocline"><a href="#instances" class="tocxref"><span class="secno"><span class="delete">6.1</span><span class="insert">7.1</span> </span>Instances</a></li><li class="tocline"><a href="#bundle-constraints" class="tocxref"><span class="secno"><span class="delete">6.2</span><span class="insert">7.2</span> </span>Bundles and Documents</a></li></ul></li><li class="tocline"><a href="#glossary" class="tocxref"><span class="secno"><span class="delete">7.</span><span class="insert">8.</span> </span>Glossary</a></li><li class="tocline"><a href="#termination" class="tocxref"><span class="secno">A. </span>Termination of normalization</a></li><li class="tocline"><a href="#changes-since-last-version" class="tocxref"><span class="secno"><span class="insert">B. </span></span><span class="insert">Changes since last version</span></a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno"><span class="delete">B.</span><span class="insert">C.</span> </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno"><span class="delete">C.</span><span class="insert">D.</span> </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno"><span class="delete">C.1</span><span class="insert">D.1</span> </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno"><span class="delete">C.2</span><span class="insert">D.2</span> </span>Informative references</a></li></ul></li></ul></section>
-
+</a><ul class="toc"><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.1 </span>Conventions</a></li><li class="tocline"><a href="#purpose" class="tocxref"><span class="secno">1.2 </span>Purpose of this document</a></li><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.3 </span>Structure of this document</a></li><li class="tocline"><a href="#audience" class="tocxref"><span class="secno">1.4 </span> Audience </a></li></ul></li><li class="tocline"><a href="#rationale" class="tocxref"><span class="secno">2. </span>Rationale (Informative)</a><ul class="toc"><li class="tocline"><a href="#entities-activities-and-agents" class="tocxref"><span class="secno">2.1 </span>Entities, Activities and Agents</a></li><li class="tocline"><a href="#events" class="tocxref"><span class="secno">2.2 </span>Events</a></li><li class="tocline"><a href="#typing-section" class="tocxref"><span class="secno">2.3 </span>Types</a></li><li class="tocline"><a href="#overview" class="tocxref"><span class="secno">2.4 </span>Validation Process Overview</a></li><li class="tocline"><a href="#summary-of-inferences-and-constraints" class="tocxref"><span class="secno">2.5 </span>Summary of inferences and constraints</a></li></ul></li><li class="tocline"><a href="#compliance" class="tocxref"><span class="secno">3. </span>Compliance with this document</a></li><li class="tocline"><a href="#concepts" class="tocxref"><span class="secno">4. </span>Basic concepts</a></li><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">5. </span>Definitions and Inferences</a><ul class="toc"><li class="tocline"><a href="#optional-identifiers-and-attributes" class="tocxref"><span class="secno">5.1 </span>Optional Identifiers and Attributes</a></li><li class="tocline"><a href="#entities-and-activities" class="tocxref"><span class="secno">5.2 </span>Entities and Activities</a></li><li class="tocline"><a href="#derivations" class="tocxref"><span class="secno">5.3 </span>Derivations</a></li><li class="tocline"><a href="#agents" class="tocxref"><span class="secno">5.4 </span>Agents</a></li><li class="tocline"><a href="#alternate-and-specialized-entities" class="tocxref"><span class="secno">5.5 </span>Alternate and Specialized Entities</a></li></ul></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">6. </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">6.1 </span>Uniqueness Constraints</a></li><li class="tocline"><a href="#event-ordering-constraints" class="tocxref"><span class="secno">6.2 </span>Event Ordering Constraints</a><ul class="toc"><li class="tocline"><a href="#activity-constraints" class="tocxref"><span class="secno">6.2.1 </span>Activity constraints</a></li><li class="tocline"><a href="#entity-constraints" class="tocxref"><span class="secno">6.2.2 </span> Entity constraints</a></li><li class="tocline"><a href="#agent-constraints" class="tocxref"><span class="secno">6.2.3 </span> Agent constraints</a></li></ul></li><li class="tocline"><a href="#type-constraints" class="tocxref"><span class="secno">6.3 </span>Type Constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">6.4 </span>Impossibility constraints</a></li></ul></li><li class="tocline"><a href="#normalization-validity-equivalence" class="tocxref"><span class="secno">7. </span>Normalization, Validity, and Equivalence</a><ul class="toc"><li class="tocline"><a href="#instances" class="tocxref"><span class="secno">7.1 </span>Instances</a></li><li class="tocline"><a href="#bundle-constraints" class="tocxref"><span class="secno">7.2 </span>Bundles and Documents</a></li></ul></li><li class="tocline"><a href="#glossary" class="tocxref"><span class="secno">8. </span>Glossary</a></li><li class="tocline"><a href="#termination" class="tocxref"><span class="secno">A. </span>Termination of normalization</a></li><li class="tocline"><a href="#changes-from-last-call-working-draft-to-candidate-recommendation" class="tocxref"><span class="secno">B. </span>Changes <span class="delete">since last</span><span class="insert">from Last Call Working Draft to Candidate Recommendation</span></a></li><li class="tocline"><a href="#changes-from-candidate-recommendation-to-this-version" class="tocxref"><span class="secno"><span class="insert">C. </span></span><span class="insert">Changes from Candidate Recommendation to this</span> version</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno"><span class="delete">C.</span><span class="insert">D.</span> </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno"><span class="delete">D.</span><span class="insert">E.</span> </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno"><span class="delete">D.1</span><span class="insert">E.1</span> </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno"><span class="delete">D.2</span><span class="insert">E.2</span> </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+    
 
 
 
@@ -1788,7 +920,7 @@
 Provenance is a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing.
 This document complements
   the PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] that defines a data model for
-  provenance on the Web.  <span class="insert"> This document defines a form of validation for provenance. </span></p>
+  provenance on the Web. This document defines a form of validation for provenance. </p>
 
 
 
@@ -1818,26 +950,23 @@
 
 <p>The PROV Data Model, PROV-DM, is a conceptual data model for provenance, which is
 realizable using different representations such as PROV-N and PROV-O.
-A PROV <a><span class="insert">instance</span></a><span class="insert"> is a set of PROV statements.
-A PROV </span><a>document</a> is <span class="delete">a set of PROV statements,
-</span><span class="insert">an instance 
-</span>together with zero or more <a>bundles</a>, or named <span class="delete">sets of
-statements.</span><span class="insert">instances.</span>  For
+A PROV <a>instance</a> is a set of PROV statements.
+A PROV <a>document</a> is an instance 
+together with zero or more <a>bundles</a>, or named instances.  For
 example, a PROV document could be a .provn document, the result
 of a query, a triple store containing PROV statements in RDF, etc.
-<span class="delete">A PROV </span><span class="delete">instance</span><span class="delete"> is a set of PROV statements.
-</span>The
+The
 PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] imposes minimal requirements upon
 PROV instances. A <a href="#dfn-valid" class="internalDFN">valid</a> PROV instance corresponds to a
 consistent history of objects and interactions to which logical
-reasoning can be safely applied. <span class="delete">By default, </span>PROV instances need not
-be <a href="#dfn-valid" class="internalDFN">valid</a>.  <span class="insert">
-The term </span><a href="#dfn-valid" class="internalDFN"><span class="insert">valid</span></a><span class="insert"> is chosen by analogy with
-notions of validity in other </span><abbr title="World Wide Web Consortium"><span class="insert">W3C</span></abbr><span class="insert"> specifications. This
+reasoning can be safely applied. PROV instances need not
+be <a href="#dfn-valid" class="internalDFN">valid</a>.
+The term <a href="#dfn-valid" class="internalDFN">valid</a> is chosen by analogy with
+notions of validity in other <abbr title="World Wide Web Consortium">W3C</abbr> specifications. This
 terminology differs from the usual meaning of "validity" in logic;
 our notion of validity of a PROV instance/document is closer to
 logical "consistency".
-</span></p>
+</p>
 
 <p> This document specifies <em>definitions</em> of some
 provenance statements in terms of others, <em>inferences</em> over PROV instances
@@ -1849,8 +978,8 @@
 constraints</em>.
 Further discussion
 of the semantics of PROV statements, which justifies the definitions, inferences
-and constraints, <span class="insert">and relates the procedural specification approach
-taken here to a declarative specification, </span>can be found in the formal semantics [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>].
+and constraints, and relates the procedural specification approach
+taken here to a declarative specification, can be found in the formal semantics [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>].
 </p>
 
 <p>We define validity and equivalence in terms of a
@@ -1861,38 +990,33 @@
 <a title="valid" href="#dfn-valid" class="internalDFN">validity</a>.  Equivalence of two PROV 
 instances can be determined by comparing their normal forms.  For PROV
 documents, validity and equivalence amount to checking the validity or
-pairwise equivalence of their respective <span class="delete">documents.</span><span class="insert">instances.</span>
+pairwise equivalence of their respective instances.
 </p>
 <p>
-This <span class="delete">document outlines</span><span class="insert">specification defines
-validity and equivalence procedurally, via</span> an algorithm<span class="delete"> for validity checking</span> based on
+This specification defines
+validity and equivalence procedurally, via an algorithm based on
 <a title="normal form" href="#dfn-normal-form" class="internalDFN">normalization</a>.  Applications <em class="rfc2119" title="may">may</em> implement
-validity and equivalence checking using normalization, as <span class="delete">suggested
-here, or</span><span class="insert">outlined
-here.  Applications </span><em class="rfc2119" title="may"><span class="insert">may</span></em><span class="insert"> also implement validation and equivalence
-checking</span> in
+validity and equivalence checking using normalization, as outlined
+here.  Applications <em class="rfc2119" title="may">may</em> also implement validation and equivalence
+checking in
 any other way as long as the same instances or documents are considered valid or
 equivalent, respectively.
 </p>
 
 <p> Checking validity or equivalence are <em class="rfc2119" title="recommended">recommended</em>, but not required, for
-applications compliant with PROV.<span class="delete">  This specification defines how
-validity and equivalence are to be checked, if an application elects
-to support them at all.</span>  
+applications compliant with PROV.  
 Applications producing provenance <em class="rfc2119" title="should">should</em> ensure that it is
 <a href="#dfn-valid" class="internalDFN">valid</a>, and similarly applications consuming provenance <em class="rfc2119" title="may">may</em> reject provenance that is not <a href="#dfn-valid" class="internalDFN">valid</a>.  Applications
-<span class="delete">which</span><span class="insert">that</span> are determining whether PROV instances or documents convey the same
-information <em class="rfc2119" title="should">should</em> check equivalence as specified <span class="delete">here, and </span><span class="insert">here.  As a
-guideline, applications </span>should
- 
-treat equivalent instances or documents in the same way.<span class="insert">  This is a
+that are determining whether PROV instances or documents convey the same
+information <em class="rfc2119" title="should">should</em> check equivalence as specified here.  As a
+guideline, applications should 
+treat equivalent instances or documents in the same way.  This is a
 guideline only, because meaning of "in the same way" is
 application-specific.  For example, applications that manipulate the syntax of
 PROV instances in particular representations, such as pretty-printing
 or digital signing, have good reasons to treat syntactically
-different, but equivalent, documents differently.</span>
+different, but equivalent, documents differently.
 </p>
-
 </section>
 <section id="structure-of-this-document">
 <h3><span class="secno">1.3 </span>Structure of this document</h3>
@@ -1905,15 +1029,15 @@
 requirements for compliance with this document, which are specified in
 detail in the rest of the document.  </p>
 <p>
-<a href="#concepts"><span class="insert">Section 4</span></a><span class="insert"> defines basic concepts used in the
-rest of the specification.  </span></p>
-
-<p> <a href="#inferences">Section <span class="delete">4</span><span class="insert">5</span></a> presents definitions and inferences.  Definitions allow replacing shorthand notation in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>]
+<a href="#concepts">Section 4</a> defines basic concepts used in the
+rest of the specification.  </p>
+
+<p> <a href="#inferences">Section 5</a> presents definitions and inferences.  Definitions allow replacing shorthand notation in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>]
 with more explicit and complete statements; inferences allow adding
 new facts representing implicit knowledge about the structure of
 provenance.  </p>
 
-<p><a href="#constraints">Section <span class="delete">5</span><span class="insert">6</span></a> presents four kinds of constraints,
+<p><a href="#constraints">Section 6</a> presents four kinds of constraints,
 <em>uniqueness</em> constraints that prescribe that certain statements
 must be unique within PROV <a>instances</a>,
 <em>event ordering</em> constraints that require that the records in a
@@ -1924,13 +1048,12 @@
 classify the types of identifiers in valid PROV instances.
 </p>
 
-<p><a href="#normalization-validity-equivalence">Section <span class="delete">6</span><span class="insert">7</span></a> defines the notions
+<p><a href="#normalization-validity-equivalence">Section 7</a> defines the notions
 of <a>validity</a>, <a>equivalence</a> and <a>normalization</a>.
 </p>
 
 
 
-
 </section>
 <section id="audience">
 <h3><span class="secno">1.4 </span> Audience </h3>
@@ -1948,18 +1071,17 @@
 [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] notation.
 </p>
 
-
 </section>
 </section>
 
 <section id="rationale" class="informative">
-<h2><span class="secno">2. </span>Rationale<span class="insert"> (Informative)</span></h2><p><em>This section is non-normative.</em></p>
+<h2><span class="secno">2. </span>Rationale (Informative)</h2><p><em>This section is non-normative.</em></p>
 <p> This section gives a high-level rationale that provides some
   further background for the constraints, but does not affect the
 technical content of the rest of the specification.</p>
 
 <section class="informative" id="entities-activities-and-agents">
-<h3><span class="secno">2.1 </span>Entities, Activities and Agents</h3><p><em><span class="insert">This section is non-normative.</span></em></p>
+<h3><span class="secno">2.1 </span>Entities, Activities and Agents</h3><p><em>This section is non-normative.</em></p>
 <p>
 One of the central challenges in representing provenance information
 is how to deal with change.  Real-world objects, information objects
@@ -1988,7 +1110,7 @@
 thing are called <em>alternates</em>, and the PROV relations of
 <span class="name">specializationOf</span> and <span class="name">alternateOf</span> can be used to link such entities.</p>
 
-<p>Besides entities, a variety of other PROV objects <span class="delete">have</span><span class="insert">and relationships carry</span>
+<p>Besides entities, a variety of other PROV objects and relationships carry
 attributes, including activity, generation, usage, invalidation, start, end,
 communication, attribution, association, delegation, and
 derivation. Each object has an associated duration interval (which may
@@ -2043,10 +1165,9 @@
 'occurrent' in logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].</p>
 
 
-
 </section>
 <section class="informative" id="events">
-<h3><span class="secno">2.2 </span>Events</h3><p><em><span class="insert">This section is non-normative.</span></em></p>
+<h3><span class="secno">2.2 </span>Events</h3><p><em>This section is non-normative.</em></p>
 
 <p> Although time is important for provenance, provenance can be used
 in many different contexts within individual systems and across the
@@ -2101,7 +1222,7 @@
 </section>
 
 <section id="typing-section" class="informative">
-<h3><span class="secno">2.3 </span>Types</h3><p><em><span class="insert">This section is non-normative.</span></em></p>
+<h3><span class="secno">2.3 </span>Types</h3><p><em>This section is non-normative.</em></p>
 
 <p> As set out in other specifications, the identifiers used in PROV
 documents have associated type information.  An identifier can have
@@ -2272,20 +1393,6 @@
        <td class="name">e2</td> 
        <td class="name">'entity'</td>
      </tr>
-      
-	<span class="delete">mentionOf(e1,e2,b)</span>
-    	<span class="delete">e1</span> 
-	<span class="delete">'entity'</span>
-     
-     
-       <span class="delete">e2</span> 
-       <span class="delete">'entity'</span>
-     
-     
-       <span class="delete">b</span> 
-       <span class="delete">'entity'</span>
-     
-           
 
            <tr style="text-align: center; ">
 	<td rowspan="2" class="name">hadMember(c,e)</td>
@@ -2304,10 +1411,9 @@
  </tbody></table>
     </div>
 
-
 </section>
-<section class="informative" id="validation-process-overview-1">
-<h3><span class="secno">2.4 </span>Validation Process Overview</h3><p><em><span class="insert">This section is non-normative.</span></em></p>
+<section id="overview" class="informative">
+<h3><span class="secno">2.4 </span>Validation Process Overview</h3><p><em>This section is non-normative.</em></p>
 
 
     <p>
@@ -2318,14 +1424,11 @@
   does not attempt to provide a complete introduction to these topics,
   but it is provided in order to aid readers familiar with one or more
   of these topics in understanding the specification, and to clarify
-  some of the motivations for choices in the specification to all 
+  some of the motivations for choices in the specification to all
   readers.
   </p>
 
- 
- 
-
-    <p><span class="insert">As discussed below, the definitions, inferences and constraints
+    <p>As discussed below, the definitions, inferences and constraints
 can be viewed as pure logical assertions that could be checked in a
 variety of ways.  The rest of this document specifies validity and
 equivalence procedurally, that is, in terms of a reference
@@ -2335,18 +1438,16 @@
 implementers, while the procedural approach adopted here immediately demonstrates
 implementability and provides an adequate (polynomial-time) default implementation.  In
 this section we relate the declarative meaning of formulas to their
-procedural meaning.  [</span><cite><a class="bibref" href="#bib-PROV-SEM"><span class="insert">PROV-SEM</span></a></cite><span class="insert">] will provide an alternative,
+procedural meaning.  [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>] will provide an alternative,
 declarative characterization of validity and equivalence which could
-be used as a starting point for other implementation strategies.  </span></p>
+be used as a starting point for other implementation strategies.  </p>
 
 
  
  <h3 id="constants-variables-and-placeholders">Constants, Variables and Placeholders</h3>
   <p>
   PROV statements involve identifiers, literals, 
-   
- placeholders, and attribute lists.  Identifiers are, according to PROV-N, expressed as <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-QUALIFIED_NAME">qualified names</a> which can be mapped to URIs [<cite><span class="delete">IRI</span><a class="bibref" href="#bib-RFC3987"><span class="insert">RFC3987</span></a></cite>].
-  
+ placeholders, and attribute lists.  Identifiers are, according to PROV-N, expressed as <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-QUALIFIED_NAME">qualified names</a> which can be mapped to URIs [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].
  However, in order to specify
   constraints over PROV instances, we also need <em>variables</em>
   that represent unknown identifiers, literals, or placeholders.
@@ -2380,22 +1481,14 @@
 </p>
 
   
- <h4 id="substitution-1">Substitution</h4><p><em><span class="insert">This section is non-normative.</span></em></p>
+ <h4 id="substitution-1">Substitution</h4><p><em>This section is non-normative.</em></p>
 <p>A <em>substitution</em> is a function that maps variables to terms. Concretely, since we only
   need to consider substitutions of finite sets of variables, we can
   write substitutions as <span class="math">[x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span>.  A substitution
   <span class="math">S = [x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span> 
-  can be <em>applied</em> to a term <span class="delete">as follows.</span><span class="insert">by replacing occurrences of
-</span><span class="math"><span class="insert">x_i</span></span><span class="insert"> with </span><span class="math"><span class="insert">t_i</span></span><span class="insert">.</span>
+  can be <em>applied</em> to a term by replacing occurrences of
+<span class="math">x_i</span> with <span class="math">t_i</span>.
 </p>
-<span class="delete">
-  If the term is a variable </span><span class="delete">x</span><span class="delete">i</span><span class="delete">, one of the variables in the
-  domain of </span><span class="delete">S</span><span class="delete">, then </span><span class="delete">S(x</span><span class="delete">i</span><span class="delete">) = t</span><span class="delete">i</span><span class="delete">.
-  </span>
-  <span class="delete">If the term is a constant identifier or literal </span><span class="delete">c</span><span class="delete">, then </span><span class="delete">S(c) = c</span><span class="delete">.
-  </span>
-  
-
 
   <p>
   In addition, a substitution can be applied to an atomic formula
@@ -2445,15 +1538,15 @@
   can be thought of as a formula <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>, where <span class="math">x<sub>1</sub></span>...<span class="math">x<sub>n</sub></span> are the
   free variables of the definition.  
 </li>
-<li>An inference of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub></span> and ... and <span class="name">A<sub><span class="delete">l</span><span class="insert">p</span></sub></span>  <span class="conditional">THEN</span>  there
+<li>An inference of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub></span> and ... and <span class="name">A<sub>p</sub></span>  <span class="conditional">THEN</span>  there
   exists <span class="name">y<sub>1</sub></span>...<span class="name">y<sub>m</sub></span> such that <span class="name">B<sub>1</sub></span> and ... and <span class="name">B<sub>k</sub></span> can
-  be thought of as a formula <span class="math">∀ x<sub>1</sub>,....,x<sub>n</sub>.  A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ∧ ... ∧ B<sub>k</sub></span>, where <span class="math">x<sub>1</sub></span>...<span class="math">x<sub>n</sub></span> are the
+  be thought of as a formula <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>, where <span class="math">x<sub>1</sub></span>...<span class="math">x<sub>n</sub></span> are the
   free variables of the inference.  
 </li>
-<li>A uniqueness, ordering, or typing constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub></span> <span class="conditional">THEN</span> <span class="name">C</span> can be viewed as a formula
-  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒ C</span>.  </li>
-<li>A constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub></span> <span class="conditional">THEN INVALID</span> can be viewed as a formula
-  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒ False</span>.  </li>
+<li>A uniqueness, ordering, or typing constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> <span class="conditional">THEN</span> <span class="name">C</span> can be viewed as a formula
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ C</span>.  </li>
+<li>A constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> <span class="conditional">THEN INVALID</span> can be viewed as a formula
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ False</span>.  </li>
   </ul>
 
 
@@ -2478,49 +1571,45 @@
   <li>A logical implication as used in an inference is
    satisfied with the formula  <span class="math">∀
   x<sub>1</sub>,....,x<sub>n</sub>.  A<sub>1</sub> ∧ ... ∧
-  A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ∧
+  A<sub>p</sub> ⇒ ∃ y<sub>1</sub>...y<sub>m</sub> . B<sub>1</sub> ∧
   ... ∧ B<sub>k</sub></span> holds, that is, for any substitution of
   the variables <span class="math">x<sub>1</sub>,....,x<sub>n</sub></span>, if  <span class="math">A<sub>1</sub> ∧ ... ∧
-  A<sub><span class="delete">l</span><span class="insert">p</span></sub></span> is true, then 
+  A<sub>p</sub></span> is true, then 
  for some further substitution of terms for variables <span class="math">
   y<sub>1</sub>...y<sub>m</sub></span>, formula <span class="math">B<sub>1</sub> ∧ ... ∧
   B<sub>k</sub></span> is also true.</li>
   <li>A uniqueness, ordering, or typing constraint is satisfied when
-  its associated formula <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒ C</span> holds, that is, for any substitution of
+  its associated formula <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ C</span> holds, that is, for any substitution of
   the variables <span class="math">x<sub>1</sub>,....,x<sub>n</sub></span>, if  <span class="math">A<sub>1</sub> ∧ ... ∧
-  A<sub><span class="delete">l</span><span class="insert">p</span></sub></span> is true, then <span class="math">C</span> is
+  A<sub>p</sub></span> is true, then <span class="math">C</span> is
   also true.</li>
   <li>An impossibility constraint is satisfied when the formula
-  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub> ⇒
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒
   False</span> holds.  This is logically equivalent to <span class="math">∄
-  x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub></span>, that is, there exists no
-  substitution for <span class="math">x<sub>1</sub>...x<sub>n</sub></span> making <span class="math">A<sub>1</sub> ∧ ... ∧ A<sub><span class="delete">l</span><span class="insert">p</span></sub></span> true.
+  x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span>, that is, there exists no
+  substitution for <span class="math">x<sub>1</sub>...x<sub>n</sub></span> making <span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> true.
 </li></ol>  
 
-<h4 id="unification-and-merging"><span class="insert">Unification and </span>Merging</h4>
-
-  <p><em><span class="delete">Merging</span><span class="insert">Unification</span></em> is an operation that takes two terms and compares them to
-  <span class="delete">see if</span><span class="insert">determine whether</span> they<span class="delete"> are equal, or</span> can be made equal by substituting an
-  existential variable with another term.  <span class="delete">This operation</span><span class="insert">If so, the result</span> is <span class="insert">such </span>a<span class="delete"> special
-  case of </span><span class="insert">
+<h4 id="unification-and-merging">Unification and Merging</h4>
+
+  <p><em>Unification</em> is an operation that takes two terms and compares them to
+  determine whether they can be made equal by substituting an
+  existential variable with another term.  If so, the result is such a
   substitution; otherwise, the result is failure.  Unification is an
   essential concept in logic programming and automated reasoning,
 where terms can involve variables, constants and function symbols.  In PROV,
-  by comparison, </span>unification<span class="delete">, a common operation in logical
-  reasoning, including logic programming and automated reasoning.
-Merging</span><span class="insert"> only needs to deal with variables,
+  by comparison, unification only needs to deal with variables,
   constants and literals.
-</span></p>
-<p><span class="insert">
-Unifying</span> two terms <span class="math">t,t'</span> results in either substitution <span class="math">S</span>
+</p>
+<p>
+Unifying two terms <span class="math">t,t'</span> results in either substitution <span class="math">S</span>
   such that <span class="math">S(t) = S(t')</span>, or failure indicating that there is no
   substitution that can be applied to both <span class="math">t</span> and <span class="math">t'</span> to make
-  them equal.
-<span class="insert">  Unification is also used to define an operation on PROV
-  statements called </span><em><span class="insert">merging</span></em><span class="insert">.  Merging takes two statements
+  them equal.  Unification is also used to define an operation on PROV
+  statements called <em>merging</em>.  Merging takes two statements
   that have equal identifiers, unifies their corresponding term
   arguments, and combines their attribute lists.  
-</span></p>
+</p>
 
   
 
@@ -2560,20 +1649,20 @@
 x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ t
 = t'</span> can be
   applied by searching for an occurrence <span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> in the instance, and
-  if one is found, <span class="delete">merging</span><span class="insert">unifying</span> the terms <span class="math">t</span> and
+  if one is found, unifying the terms <span class="math">t</span> and
 <span class="math">t'</span>. If successful, the resulting
 substitution is applied to the instance; otherwise, the application
 of the uniqueness constraint fails.  </li>
 <li>A key constraint can similarly be applied by searching for
-different occurrences of a statement with the same identifier, <span class="delete">merging</span><span class="insert">unifying</span> the
+different occurrences of a statement with the same identifier, unifying the
 corresponding parameters of the statements, and concatenating their
-attribute <span class="delete">lists.</span><span class="insert">lists, to form a single statement.</span>  The substitutions obtained by <span class="delete">merging</span><span class="insert">unification</span> are applied to
-<span class="insert">the merged statement and the rest of </span>the instance.
+attribute lists, to form a single statement.  The substitutions obtained by unification are applied to
+the merged statement and the rest of the instance.
 </li>
   </ul>
   
  <p>As noted above, uniqueness or key constraint
-  application can <em>fail</em>, if a required <span class="insert">unification or </span>merging step fails.  Failure of constraint
+  application can <em>fail</em>, if a required unification or merging step fails.  Failure of constraint
   application means that there is no way to add information to the
   instance to satisfy the constraint, which in turn implies that the
   instance is <em>invalid</em>.
@@ -2585,15 +1674,15 @@
   called <em>chasing</em> [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>] or <em>saturation</em>
   [<cite><a class="bibref" href="#bib-CHR">CHR</a></cite>].  We call this process <em>normalization</em>.
   </p>
-  <p><span class="insert">
+  <p>
   Although this specification outlines one particular way of
   performing inferences and checking constraints, based on
   normalization, implementations can use any other equivalent
   algorithm.  The logical formulas corresponding to the definitions,
   inferences, and constraints outlined above (and further elaborated
-  in [</span><cite><a class="bibref" href="#bib-PROV-SEM"><span class="insert">PROV-SEM</span></a></cite><span class="insert">]) provides an equivalent specification, and any
+  in [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>]) provides an equivalent specification, and any
   implementation that correctly checks validity and equivalence (whether it performs normalization or not) complies
-  with this specification.</span>
+  with this specification.
   </p>
 
  
@@ -2613,7 +1702,7 @@
   tuple-generating and equality-generating dependencies, in the
   terminology of [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].  The termination of the remaining
   ordering, typing, and impossibility constraints is easy to show.  <a href="#termination">Appendix
-  <span class="delete">C</span><span class="insert">A</span></a> gives a proof that the definitions, inferences, and uniqueness
+  A</a> gives a proof that the definitions, inferences, and uniqueness
   and key constraints are weakly acyclic and therefore terminating.
   </p>
   <p>
@@ -2711,10 +1800,9 @@
   </li>
   </ol>
   <p>
-  A normalized instance that <span class="delete">satisfies</span><span class="insert">passes</span> all of the <span class="delete">checked constraints
-  </span><span class="insert">ordering, typing,
+  A normalized instance that passes all of the ordering, typing,
   and impossibility constraint checks 
-  </span>is called <a href="#dfn-valid" class="internalDFN">valid</a>.  Validity can be, but is not required to be,
+  is called <a href="#dfn-valid" class="internalDFN">valid</a>.  Validity can be, but is not required to be,
   checked by normalizing and then checking constraints.  Any other
   algorithm that provides equivalent behavior (that is, accepts the
   same valid instances and rejects the same invalid instances) is allowed.
@@ -2741,9 +1829,7 @@
   names of existential variables. Because of this, the appropriate
   notion of equivalence of normal forms is <em>isomorphism</em>.  Two
   instances <span class="math">I<sub>1</sub></span> and <span class="math">I<sub>2</sub></span> are <em>isomorphic</em> if there is an invertible
-  substitution <span class="math">S</span> mapping existential variables to existential variables such that <span class="math">S(I<sub>1</sub>) = I<sub>2</sub></span>.<span class="delete">
-  This is similar to the notion of equivalence used in [</span><span class="delete">RDF</span><span class="delete">], where
-  blank nodes play an analogous role to existential variables.  </span>
+  substitution <span class="math">S</span> mapping existential variables to existential variables such that <span class="math">S(I<sub>1</sub>) = I<sub>2</sub></span>.
 
   </p>
  
@@ -2760,48 +1846,49 @@
   those obtained by the algorithm in this specification.
   </p>
 
-<p><span class="insert">Equivalence is only explicitly specified for
+<p>Equivalence is only explicitly specified for
 valid instances (whose normal forms exist and are unique up to
 isomorphism).  Implementations may test equivalences involving valid
 and invalid documents.  This specification does not constrain the
 behavior of equivalence checking involving invalid instances, provided
 that:
-</span></p>
+</p>
 <ul>
-  <li><span class="insert">instance equivalence is </span><a href="#dfn-reflexive" class="internalDFN"><span class="insert">reflexive</span></a><span class="insert">, </span><a href="#dfn-symmetric" class="internalDFN"><span class="insert">symmetric</span></a><span class="insert"> and
-  </span><a href="#dfn-transitive" class="internalDFN"><span class="insert">transitive</span></a><span class="insert"> on all instances</span></li>
-  <li><span class="insert"> no valid instance is equivalent to an invalid instance.</span></li>
+  <li>instance equivalence is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-symmetric" class="internalDFN">symmetric</a> and
+  <a href="#dfn-transitive" class="internalDFN">transitive</a> on all instances</li>
+  <li> no valid instance is equivalent to an invalid instance.</li>
   </ul>
-<p><span class="insert">
+<p>
 Because of the second constraint, equivalence is essentially the union
   of two equivalence relations on the disjoint sets of valid and
   invalid instances.
   There are two simple implementations of equivalence for invalid
-  documents that are correct:</span></p>
+  documents that are correct:</p>
   <ol>
-    <li><span class="insert">each invalid instance is equivalent only to itself</span></li>
-    <li><span class="insert">every pair of invalid instances are equivalent</span></li>
+    <li>each invalid instance is equivalent only to itself</li>
+    <li>every pair of invalid instances are equivalent</li>
   </ol>
   
 <h4 id="from-instances-to-bundles-and-documents">From Instances to Bundles and Documents</h4>
 
 <p>PROV documents can contain multiple instances: a <a>toplevel
-instance</a><span class="delete"> consisting of the set of statements not appearing within a bundle,</span><span class="insert">,</span> and
-zero or more<span class="insert"> additional,</span> named instances called <a>bundle</a>s.  For the purpose
+instance</a>, and
+zero or more additional, named instances called <a>bundle</a>s.  For the purpose
 of inference and constraint checking, these instances are treated independently. That is,
 a PROV document is valid provided that each instance in it is valid
-and the names of its bundles are distinct.  <span class="insert">In other words, there are
+and the names of its bundles are distinct.  In other words, there are
 no validity constraints that need to be checked across the different
 instances in a PROV document; the contents of one instance in a
 multi-instance PROV document cannot affect the validity of another instance.
-</span>Similarly, a PROV document is
+Similarly, a PROV document is
 equivalent to another if their toplevel instances are equivalent, they
 have the same number of bundles with the same names, and the instances
-of their corresponding bundles are equivalent.<span class="delete">  Analogously to blank nodes</span><span class="insert">
-
-The scope of an existential variable</span> in<span class="delete">
-[</span><span class="delete">RDF</span><span class="delete">], the scope of an existential variable in</span> PROV is<span class="insert"> delimited at</span> the instance
-level, so existential variables with the same name occurring in
+of their corresponding bundles are equivalent.
+
+The scope of an existential variable in PROV is delimited at the instance
+<span class="delete">level, so</span><span class="insert">level.  This means that occurrences of existential variables with the
+  same name appearing in different statements within the same
+  instance stand for a common, unknown term.  However,</span> existential variables with the same name occurring in
 different instances do not necessarily denote the same term.  This
 is a consequence of the fact that the instances of two equivalent
 documents only need to be  pairwise isomorphic; this is a weaker
@@ -2811,17 +1898,13 @@
 </section>
 
 <section class="informative" id="summary-of-inferences-and-constraints">
-<h3><span class="secno">2.5 </span>Summary of inferences and constraints</h3><p><em><span class="insert">This section is non-normative.</span></em></p>
+<h3><span class="secno">2.5 </span>Summary of inferences and constraints</h3><p><em>This section is non-normative.</em></p>
 
 <p><a href="">Table 2</a> summarizes the inferences, and
 constraints specified in this document, broken down by component and
 type or relation involved.
 </p>
 
-<span class="delete">Table: work in progress; these entries might change when the document is updated.</span>
-
-
-
 
 
 <div id="prov-constraints-fig" style="text-align: left;">
@@ -2836,20 +1919,20 @@
 	<td class="essential"><a>Entity</a></td>
 	<td><a class="rule-text" href="#entity-generation-invalidation-inference_text"><span>Inference 7 (entity-generation-invalidation-inference)</span></a><br>
 		<a class="rule-text" href="#specialization-attributes-inference_text"><span>Inference 21 (specialization-attributes-inference)</span></a><br>
-		<a class="rule-text" href="#key-object_text"><span>Constraint <span class="delete">23</span><span class="insert">22</span> (key-object)</span></a><br>
-		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint <span class="delete">56</span><span class="insert">54</span> (impossible-object-property-overlap)</span></a><br>
-		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint <span class="delete">57</span><span class="insert">55</span> (entity-activity-disjoint)</span></a><br>
+		<a class="rule-text" href="#key-object_text"><span>Constraint 22 (key-object)</span></a><br>
+		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint 54 (impossible-object-property-overlap)</span></a><br>
+		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint 55 (entity-activity-disjoint)</span></a><br>
 	</td>
 	<td rowspan="8" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component1" title="Component 1: Entities/Activities">1</a></td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>Activity</a></td>
 	<td><a class="rule-text" href="#activity-start-end-inference_text"><span>Inference 8 (activity-start-end-inference)</span></a><br>
-		<a class="rule-text" href="#key-object_text"><span>Constraint <span class="delete">23</span><span class="insert">22</span> (key-object)</span></a><br>
-		<a class="rule-text" href="#unique-startTime_text"><span>Constraint <span class="delete">29</span><span class="insert">28</span> (unique-startTime)</span></a><br>
-		<a class="rule-text" href="#unique-endTime_text"><span>Constraint <span class="delete">30</span><span class="insert">29</span> (unique-endTime)</span></a><br>
-		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint <span class="delete">56</span><span class="insert">54</span> (impossible-object-property-overlap)</span></a><br>
-		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint <span class="delete">57</span><span class="insert">55</span> (entity-activity-disjoint)</span></a><br>
+		<a class="rule-text" href="#key-object_text"><span>Constraint 22 (key-object)</span></a><br>
+		<a class="rule-text" href="#unique-startTime_text"><span>Constraint 28 (unique-startTime)</span></a><br>
+		<a class="rule-text" href="#unique-endTime_text"><span>Constraint 29 (unique-endTime)</span></a><br>
+		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint 54 (impossible-object-property-overlap)</span></a><br>
+		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint 55 (entity-activity-disjoint)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
@@ -2857,99 +1940,99 @@
 	<td><a class="rule-text" href="#generation-use-communication-inference_text"><span>Inference 6 (generation-use-communication-inference)</span></a><br>
 
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#unique-generation_text"><span>Constraint <span class="delete">25</span><span class="insert">24</span> (unique-generation)</span></a><br>
-		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint <span class="delete">36</span><span class="insert">34</span> (generation-within-activity)</span></a><br>
-		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint <span class="delete">38</span><span class="insert">36</span> (generation-precedes-invalidation)</span></a><br>
-		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint <span class="delete">39</span><span class="insert">37</span> (generation-precedes-usage)</span></a><br>
-		<a class="rule-text" href="#generation-generation-ordering_text"><span>Constraint <span class="delete">41</span><span class="insert">39</span> (generation-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint <span class="delete">43</span><span class="insert">41</span> (derivation-usage-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#derivation-generation-generation-ordering_text"><span>Constraint <span class="delete">44</span><span class="insert">42</span> (derivation-generation-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint <span class="delete">45</span><span class="insert">43</span> (wasStartedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint <span class="delete">46</span><span class="insert">44</span> (wasEndedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#specialization-generation-ordering_text"><span>Constraint <span class="delete">47</span><span class="insert">45</span> (specialization-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint <span class="delete">50</span><span class="insert">48</span> (wasAttributedTo-ordering)</span></a><br>
-		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint <span class="delete">51</span><span class="insert">49</span> (actedOnBehalfOf-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-generation_text"><span>Constraint 24 (unique-generation)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint 36 (generation-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint 37 (generation-precedes-usage)</span></a><br>
+		<a class="rule-text" href="#generation-generation-ordering_text"><span>Constraint 39 (generation-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#derivation-generation-generation-ordering_text"><span>Constraint 42 (derivation-generation-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#specialization-generation-ordering_text"><span>Constraint 45 (specialization-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint 48 (wasAttributedTo-ordering)</span></a><br>
+		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint 49 (actedOnBehalfOf-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>Usage</a></td>
 	<td><a class="rule-text" href="#generation-use-communication-inference_text"><span>Inference 6 (generation-use-communication-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint <span class="delete">35</span><span class="insert">33</span> (usage-within-activity)</span></a><br>
-		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint <span class="delete">39</span><span class="insert">37</span> (generation-precedes-usage)</span></a><br>
-		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint <span class="delete">40</span><span class="insert">38</span> (usage-precedes-invalidation)</span></a><br>
-		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint <span class="delete">43</span><span class="insert">41</span> (derivation-usage-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint 37 (generation-precedes-usage)</span></a><br>
+		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint 38 (usage-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>Communication</a></td>
 	<td><a class="rule-text" href="#communication-generation-use-inference_text"><span>Inference 5 (communication-generation-use-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint <span class="delete">37</span><span class="insert">35</span> (wasInformedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>Start</a></td>
 	<td><a class="rule-text" href="#wasStartedBy-inference_text"><span>Inference 9 (wasStartedBy-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#unique-wasStartedBy_text"><span>Constraint <span class="delete">27</span><span class="insert">26</span> (unique-wasStartedBy)</span></a><br>
-		<a class="rule-text" href="#unique-startTime_text"><span>Constraint <span class="delete">29</span><span class="insert">28</span> (unique-startTime)</span></a><br>
-		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint <span class="delete">32</span><span class="insert">30</span> (start-precedes-end)</span></a><br>
-		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint <span class="delete">35</span><span class="insert">33</span> (usage-within-activity)</span></a><br>
-		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint <span class="delete">36</span><span class="insert">34</span> (generation-within-activity)</span></a><br>
-		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint <span class="delete">37</span><span class="insert">35</span> (wasInformedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#start-start-ordering_text"><span>Constraint <span class="delete">33</span><span class="insert">31</span> (start-start-ordering)</span></a><br>
-		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint <span class="delete">45</span><span class="insert">43</span> (wasStartedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-wasStartedBy_text"><span>Constraint 26 (unique-wasStartedBy)</span></a><br>
+		<a class="rule-text" href="#unique-startTime_text"><span>Constraint 28 (unique-startTime)</span></a><br>
+		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint 30 (start-precedes-end)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#start-start-ordering_text"><span>Constraint 31 (start-start-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>End</a></td>
 	<td><a class="rule-text" href="#wasEndedBy-inference_text"><span>Inference 10 (wasEndedBy-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#unique-wasEndedBy_text"><span>Constraint <span class="delete">28</span><span class="insert">27</span> (unique-wasEndedBy)</span></a><br>
-		<a class="rule-text" href="#unique-endTime_text"><span>Constraint <span class="delete">30</span><span class="insert">29</span> (unique-endTime)</span></a><br>
-		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint <span class="delete">32</span><span class="insert">30</span> (start-precedes-end)</span></a><br>
-		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint <span class="delete">35</span><span class="insert">33</span> (usage-within-activity)</span></a><br>
-		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint <span class="delete">36</span><span class="insert">34</span> (generation-within-activity)</span></a><br>
-		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint <span class="delete">37</span><span class="insert">35</span> (wasInformedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#end-end-ordering_text"><span>Constraint <span class="delete">34</span><span class="insert">32</span> (end-end-ordering)</span></a><br>
-		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint <span class="delete">46</span><span class="insert">44</span> (wasEndedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-wasEndedBy_text"><span>Constraint 27 (unique-wasEndedBy)</span></a><br>
+		<a class="rule-text" href="#unique-endTime_text"><span>Constraint 29 (unique-endTime)</span></a><br>
+		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint 30 (start-precedes-end)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#end-end-ordering_text"><span>Constraint 32 (end-end-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component1-color">
 	<td class="essential"><a>Invalidation</a></td>
 	<td><a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#unique-invalidation_text"><span>Constraint <span class="delete">26</span><span class="insert">25</span> (unique-invalidation)</span></a><br>
-		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint <span class="delete">38</span><span class="insert">36</span> (generation-precedes-invalidation)</span></a><br>
-		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint <span class="delete">40</span><span class="insert">38</span> (usage-precedes-invalidation)</span></a><br>
-		<a class="rule-text" href="#invalidation-invalidation-ordering_text"><span>Constraint <span class="delete">42</span><span class="insert">40</span> (invalidation-invalidation-ordering)</span></a><br>
-		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint <span class="delete">45</span><span class="insert">43</span> (wasStartedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint <span class="delete">46</span><span class="insert">44</span> (wasEndedBy-ordering)</span></a><br>
-		<a class="rule-text" href="#specialization-invalidation-ordering_text"><span>Constraint <span class="delete">48</span><span class="insert">46</span> (specialization-invalidation-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a><br>
-		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint <span class="delete">50</span><span class="insert">48</span> (wasAttributedTo-ordering)</span></a><br>
-		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint <span class="delete">51</span><span class="insert">49</span> (actedOnBehalfOf-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-invalidation_text"><span>Constraint 25 (unique-invalidation)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint 36 (generation-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint 38 (usage-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#invalidation-invalidation-ordering_text"><span>Constraint 40 (invalidation-invalidation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#specialization-invalidation-ordering_text"><span>Constraint 46 (specialization-invalidation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint 48 (wasAttributedTo-ordering)</span></a><br>
+		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint 49 (actedOnBehalfOf-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
@@ -2961,10 +2044,10 @@
 
 
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint <span class="delete">43</span><span class="insert">41</span> (derivation-usage-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#derivation-generation-generation-ordering_text"><span>Constraint <span class="delete">44</span><span class="insert">42</span> (derivation-generation-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#derivation-generation-generation-ordering_text"><span>Constraint 42 (derivation-generation-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 	<td rowspan="5" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component2" title="Component 2: Derivations">2</a></td>
 </tr>
@@ -2988,8 +2071,8 @@
 
 <tr class="component3-color" style="border-collapse: collapse; ">
 	<td class="essential"><a>Agent</a></td>
-	<td><a class="rule-text" href="#key-object_text"><span>Constraint <span class="delete">23</span><span class="insert">22</span> (key-object)</span></a><br>
-		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint <span class="delete">56</span><span class="insert">54</span> (impossible-object-property-overlap)</span></a><br>
+	<td><a class="rule-text" href="#key-object_text"><span>Constraint 22 (key-object)</span></a><br>
+		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint 54 (impossible-object-property-overlap)</span></a><br>
 	</td>
 	<td rowspan="5" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component3" title="Component 3: Agents/Responsibility">3</a></td>
 </tr>
@@ -2997,47 +2080,47 @@
 	<td class="essential"><a>Attribution</a></td>
 	<td><a class="rule-text" href="#attribution-inference_text"><span>Inference 13 (attribution-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint <span class="delete">50</span><span class="insert">48</span> (wasAttributedTo-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint 48 (wasAttributedTo-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component3-color">
 	<td class="essential"><a>Association</a></td>
 	<td><a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component3-color">
 	<td class="essential"><a>Delegation</a></td>
 	<td><a class="rule-text" href="#delegation-inference_text"><span>Inference 14 (delegation-inference)</span></a><br>
 		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
-		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint <span class="delete">51</span><span class="insert">49</span> (actedOnBehalfOf-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint 49 (actedOnBehalfOf-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 <tr class="component3-color">
 	<td class="essential"><a>Influence</a></td>
 	<td><a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
-		<a class="rule-text" href="#key-properties_text"><span>Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
 	</td>
 </tr>
 <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
 
 <tr class="component4-color">
 	<td><a title="bundle">Bundle constructor</a></td>
-	<td>No specific constraints; see <a href="#bundle-constraints" class="sectionRef sec-ref">section <span class="delete">6.2</span><span class="insert">7.2</span> Bundles and Documents</a></td>
+	<td>No specific constraints; see <a href="#bundle-constraints" class="sectionRef sec-ref">section 7.2 Bundles and Documents</a></td>
 	<td rowspan="2" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component4" title="Component 4: Bundles">4</a></td>
 </tr>
 <tr class="component4-color">
 	<td class="provType"><a title="bundle">Bundle type</a></td>
-	<td> No specific constraints; see <a href="#bundle-constraints" class="sectionRef sec-ref">section <span class="delete">6.2</span><span class="insert">7.2</span> Bundles and Documents</a>
+	<td> No specific constraints; see <a href="#bundle-constraints" class="sectionRef sec-ref">section 7.2 Bundles and Documents</a>
         </td>
 </tr>
 <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
@@ -3047,7 +2130,7 @@
 	<td><a class="rule-text" href="#alternate-reflexive_text"><span>Inference 16 (alternate-reflexive)</span></a><br>
 		<a class="rule-text" href="#alternate-transitive_text"><span>Inference 17 (alternate-transitive)</span></a><br>
 		<a class="rule-text" href="#alternate-symmetric_text"><span>Inference 18 (alternate-symmetric)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 	<td rowspan="3" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component5" title="Component 5: Alternate Entities">5</a></td>
 </tr>
@@ -3056,21 +2139,13 @@
 	<td><a class="rule-text" href="#specialization-transitive_text"><span>Inference 19 (specialization-transitive)</span></a><br>
 		<a class="rule-text" href="#specialization-alternate-inference_text"><span>Inference 20 (specialization-alternate-inference)</span></a><br>
 		<a class="rule-text" href="#specialization-attributes-inference_text"><span>Inference 21 (specialization-attributes-inference)</span></a><br>
-		<a class="rule-text" href="#specialization-generation-ordering_text"><span>Constraint <span class="delete">47</span><span class="insert">45</span> (specialization-generation-ordering)</span></a><br>
-		<a class="rule-text" href="#specialization-invalidation-ordering_text"><span>Constraint <span class="delete">48</span><span class="insert">46</span> (specialization-invalidation-ordering)</span></a><br>
-		<a class="rule-text" href="#impossible-specialization-reflexive_text"><span>Constraint <span class="delete">54</span><span class="insert">52</span> (impossible-specialization-reflexive)</span></a><br>
-		<a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+		<a class="rule-text" href="#specialization-generation-ordering_text"><span>Constraint 45 (specialization-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#specialization-invalidation-ordering_text"><span>Constraint 46 (specialization-invalidation-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-specialization-reflexive_text"><span>Constraint 52 (impossible-specialization-reflexive)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
 	</td>
 </tr>
 
-	<span class="delete">Mention</span>
-	<span class="delete">Inference 22 (mention-specialization-inference)</span>
-		<span class="delete">Constraint 31 (unique-mention)</span>
-		<span class="delete">Constraint 52 (typing)</span>
-	
-
-
-
 <tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
 
 <tr class="component6-color">
@@ -3080,8 +2155,8 @@
 </tr>
 <tr class="component6-color">
 	<td><a>Membership</a></td>
-	<td> <a class="rule-text" href="#membership-empty-collection_text"><span>Constraint <span class="delete">58</span><span class="insert">56</span> (membership-empty-collection)</span></a><br>
-             <a class="rule-text" href="#typing_text"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a><br>
+	<td> <a class="rule-text" href="#membership-empty-collection_text"><span>Constraint 56 (membership-empty-collection)</span></a><br>
+             <a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
         </td>
 </tr>
 </tbody></table>
@@ -3097,40 +2172,37 @@
 
 <p>
   For the purpose of compliance, the normative sections of this document
-  are <a href="#compliance" class="sectionRef sec-ref">section 3. Compliance with this document</a>, 
-<a href="#concepts" class="sectionRef sec-ref">section 4. <span class="insert">Basic concepts</span></a><span class="insert">,
-</span><a href="#inferences" class="sectionRef sec-ref"><span class="insert">section 5. </span>Definitions and Inferences</a>, 
-<a href="#constraints" class="sectionRef sec-ref">section <span class="delete">5.</span><span class="insert">6.</span> Constraints</a>, and 
-<a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section <span class="delete">6.</span><span class="insert">7.</span> Normalization, Validity, and Equivalence</a>.  
+  are <a href="#compliance" class="sectionRef sec-ref">section 3. Compliance with this document</a>,
+<a href="#concepts" class="sectionRef sec-ref">section 4. Basic concepts</a>,
+<a href="#inferences" class="sectionRef sec-ref">section 5. Definitions and Inferences</a>,
+<a href="#constraints" class="sectionRef sec-ref">section 6. Constraints</a>, and
+<a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section 7. Normalization, Validity, and Equivalence</a>.  
 
 
  To be compliant:
   </p><ol><li>When processing provenance, an
-    application <em class="rfc2119" title="may">may</em> apply the inferences and definitions in <a href="#inferences" class="sectionRef sec-ref">section <span class="delete">4.</span><span class="insert">5.</span> Definitions and Inferences</a>.</li>
+    application <em class="rfc2119" title="may">may</em> apply the inferences and definitions in <a href="#inferences" class="sectionRef sec-ref">section 5. Definitions and Inferences</a>.</li>
    <li>If determining whether a PROV instance or document is <a href="#dfn-valid" class="internalDFN">valid</a>, an
-    application <em class="rfc2119" title="must">must</em> <span class="delete">check that</span><span class="insert">determine whether</span> all of the
-    constraints of <a href="#constraints" class="sectionRef sec-ref">section <span class="delete">5.</span><span class="insert">6.</span> Constraints</a> are
-  satisfied   on 
+    application <em class="rfc2119" title="must">must</em> determine whether all of the
+    constraints of <a href="#constraints" class="sectionRef sec-ref">section 6. Constraints</a> are
+  satisfied on
   the <a href="#dfn-normal-form" class="internalDFN">normal form</a> of the instance or document.  </li>
    <li> If producing provenance meant for other applications to
-    use, the application <em class="rfc2119" title="should">should</em> produce <a href="#dfn-valid" class="internalDFN">valid</a> provenance, as specified in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section <span class="delete">6.</span><span class="insert">7.</span> Normalization, Validity, and Equivalence</a>. </li>
+    use, the application <em class="rfc2119" title="should">should</em> produce <a href="#dfn-valid" class="internalDFN">valid</a> provenance, as specified in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section 7. Normalization, Validity, and Equivalence</a>. </li>
     <li>If determining whether two PROV instances or documents are
   <a href="#dfn-equivalent" class="internalDFN">equivalent</a>, an application <em class="rfc2119" title="must">must</em> determine whether their
-  normal forms are equal, as specified in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section <span class="delete">6.</span><span class="insert">7.</span> Normalization, Validity, and Equivalence</a>.
+  normal forms are equal, as specified in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section 7. Normalization, Validity, and Equivalence</a>.
   </li></ol>
 
-  <p><span class="delete">Compliant </span><span class="insert">This specification defines validity and equivalence procedurally
+  <p>This specification defines validity and equivalence procedurally
   via reduction to normal forms.  If checking validity or equivalence, the
-  results </span><em class="rfc2119" title="must"><span class="insert">must</span></em><span class="insert"> be the same as would be obtained by computing normal
+  results <em class="rfc2119" title="must">must</em> be the same as would be obtained by computing normal
   forms as defined in this specification.  Applications that explicitly compute
   normal forms, following the implementation strategy suggested by
   this specification, are by definition compliant.  However,
-  </span>applications <span class="delete">are not required to</span><span class="insert">can also comply by checking validity and equivalence in any
-  other way that yields the same answers without</span> explicitly <span class="delete">compute
-  </span><span class="insert">applying
-  definitions, inferences, and constraints or constructing </span>normal <span class="delete">forms; however, if checking validity or equivalence, the
-  results should be the same as would be obtained by computing normal
-  forms as defined in this specification.</span><span class="insert">forms.</span></p>
+  applications can also comply by checking validity and equivalence in any
+  other way that yields the same answers without explicitly applying
+  definitions, inferences, and constraints or constructing normal forms.</p>
 
   <p>
   All figures are for illustration purposes
@@ -3144,130 +2216,135 @@
 
 
 
-
-
- 
-
-
 </section>
 
  <section id="concepts">
-  <h2><span class="secno">4. </span><span class="insert">Basic concepts</span></h2>
-
-  <p><span class="insert">This section specifies the key concepts of terms, statements, instances, substitution,
+  <h2><span class="secno">4. </span>Basic concepts</h2>
+
+  <p>This section specifies the key concepts of terms, statements, instances, substitution,
   satisfaction, and unification, which have already been discussed in
-  </span><a href="#rationale"><span class="insert">Section 2</span></a><span class="insert">.  
-  </span></p>
-
-  <p><span class="insert">Many PROV relation statements have an identifier, identifying a
+  <a href="#rationale">Section 2</a>.  
+  </p>
+
+  <p>Many PROV relation statements have an identifier, identifying a
   link between two or more related objects.  Identifiers can sometimes
-  be omitted in [</span><cite><a class="bibref" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">] notation.  For the purpose of inference and
+  be omitted in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] notation.  For the purpose of inference and
   validity checking, we generate special identifiers called
-  </span><dfn id="dfn-variables"><span class="insert">variables</span></dfn><span class="insert"> denoting the unknown values.
+  <dfn id="dfn-variables">variables</dfn> denoting the unknown values.
   Generally, identifiers occurring in constraints and inferences are
   variables.  Variables that are generated during inferences and
-  appear inside an instance are often called </span><dfn id="dfn-existential-variables"><span class="insert">existential
-  variables</span></dfn><span class="insert">, because they are implicitly existentially quantified.
-</span></p>
+  appear inside an instance are often called <dfn id="dfn-existential-variables">existential
+  variables</dfn>, because they are implicitly existentially quantified.
+</p>
   
-  <p><span class="insert"> A </span><dfn id="term"><span class="insert">PROV term</span></dfn><span class="insert"> is a constant identifier
-  </span><span class="math"><span class="insert">c</span></span><span class="insert">, a placeholder </span><span class="name"><span class="insert">-</span></span><span class="insert">, a literal value, 
-  or an existential variable </span><span class="math"><span class="insert">x</span></span><span class="insert">.  An
-  arbitrary PROV term is written  </span><span class="math"><span class="insert">t</span></span><span class="insert">.</span></p>
   
-  <p><span class="insert"> A </span><dfn id="statement"><span class="insert">PROV statement</span></dfn><span class="insert"> is an expression of
-  the form </span><span class="math"><span class="insert">p(t</span><sub><span class="insert">1</span></sub><span class="insert">,...,t</span><sub><span class="insert">n</span></sub><span class="insert">)</span></span><span class="insert"> or </span><span class="math"><span class="insert">p(id;t</span><sub><span class="insert">1</span></sub><span class="insert">,...,t</span><sub><span class="insert">n</span></sub><span class="insert">)</span></span><span class="insert"> where
-  </span><span class="math"><span class="insert">id,t</span><sub><span class="insert">1</span></sub><span class="insert">,...,t</span><sub><span class="insert">n</span></sub></span><span class="insert"> are
-  PROV </span><a><span class="insert">term</span></a><span class="insert">s and </span><span class="math"><span class="insert">p</span></span><span class="insert"> is one of the
-  basic PROV relations. An arbitrary PROV statement is written  </span><span class="math"><span class="insert">A</span></span><span class="insert">.</span></p>
+
+
   
-<p><span class="insert">  A </span><dfn id="instance"><span class="insert">PROV instance</span></dfn><span class="insert"> is a set of PROV
+  <p> A <dfn id="term">PROV term</dfn> is a constant identifier
+  <span class="math">c</span>, a placeholder <span class="name">-</span>, a literal value, 
+  or an existential variable <span class="math">x</span>.  An
+  arbitrary PROV term is written  <span class="math">t</span>.</p>
+  
+  <p> A <dfn id="statement">PROV statement</dfn> is an expression of
+  the form <span class="math">p(t<sub>1</sub>,...,t<sub>n</sub>)</span> or <span class="math">p(id;t<sub>1</sub>,...,t<sub>n</sub>)</span> where
+  <span class="math">id,t<sub>1</sub>,...,t<sub>n</sub></span> are
+  PROV <a>term</a>s and <span class="math">p</span> is one of the
+  basic PROV relations. An arbitrary PROV statement is written  <span class="math">A</span>.</p>
+  
+<p>  A <dfn id="instance">PROV instance</dfn> is a set of PROV
   statements.  Two instances are considered to be the same if they
   contain the same statements, without regard to order or repetition.
-  An arbitrary PROV instance is written </span><span class="math"><span class="insert">I</span></span><span class="insert">.
-</span></p>
-
-  <p><span class="insert">A </span><dfn id="substitution"><span class="insert">substitution</span></dfn> <span class="math"><span class="insert">S</span></span><span class="insert"> is a mapping </span><span class="math"><span class="insert">
-  [x</span><sub><span class="insert">1</span></sub><span class="insert">=t</span><sub><span class="insert">1</span></sub><span class="insert">,...,x</span><sub><span class="insert">n</span></sub><span class="insert">=t</span><sub><span class="insert">n</span></sub><span class="insert">]</span></span><span class="insert"> associating existential variables
-  with terms.  A substitution is </span><em><span class="insert">applied</span></em><span class="insert"> to a term, statement
+  An arbitrary PROV instance is written <span class="math">I</span>.
+</p>
+
+  <p>A <dfn id="substitution">substitution</dfn> <span class="math">S</span> is a mapping <span class="math">
+  [x<sub>1</sub>=t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span> associating existential variables
+  with terms.  A substitution is <em>applied</em> to a term, statement
   or instance by replacing all occurrences of each of the variables
-  </span><span class="math"><span class="insert">x</span><sub><span class="insert">i</span></sub></span><span class="insert"> with the corresponding </span><span class="math"><span class="insert">t</span><sub><span class="insert">i</span></sub></span><span class="insert">.  Specifically, if </span><span class="math"><span class="insert">S =
-  [x</span><sub><span class="insert">1</span></sub><span class="insert">=t</span><sub><span class="insert">1</span></sub><span class="insert">,...,x</span><sub><span class="insert">n</span></sub><span class="insert">=t</span><sub><span class="insert">n</span></sub><span class="insert">]</span></span><span class="insert">
-  then the application of </span><span class="math"><span class="insert">S</span></span><span class="insert"> to a term, statement or instance, written </span><span class="math"><span class="insert">S(t)</span></span><span class="insert">, </span><span class="math"><span class="insert">S(A)</span></span><span class="insert"> and
-  </span><span class="math"><span class="insert">S(I)</span></span><span class="insert"> respectively, is defined as follows:</span></p>
-<ul><li><span class="math"><span class="insert">S(c) = c</span></span><span class="insert"> if </span><span class="math"><span class="insert">c</span></span><span class="insert"> is a constant identifier.</span></li>
-<li><span class="math"><span class="insert">S(x</span><sub><span class="insert">i</span></sub><span class="insert">) = t</span><sub><span class="insert">i</span></sub></span><span class="insert"> if </span><span class="math"><span class="insert">x</span><sub><span class="insert">i</span></sub></span><span class="insert"> is one of the variables bound to a
-  term </span><span class="math"><span class="insert">t</span><sub><span class="insert">i</span></sub></span><span class="insert"> in </span><span class="math"><span class="insert">S</span></span><span class="insert">.</span></li>
-<li><span class="math"><span class="insert">S(x) = x</span></span><span class="insert"> if </span><span class="math"><span class="insert">x</span></span><span class="insert"> is a variable not bound in </span><span class="math"><span class="insert">S</span></span><span class="insert">.</span></li>
-<li><span class="math"><span class="insert">S(p(t</span><sub><span class="insert">1</span></sub><span class="insert">,...,t</span><sub><span class="insert">n</span></sub><span class="insert">)) = p(S(t</span><sub><span class="insert">1</span></sub><span class="insert">),...,S(t</span><sub><span class="insert">n</span></sub><span class="insert">))</span></span><span class="insert">.</span></li>
-<li><span class="math"><span class="insert">S(p(id;t</span><sub><span class="insert">1</span></sub><span class="insert">,...,t</span><sub><span class="insert">n</span></sub><span class="insert">)) = p(S(id);S(t</span><sub><span class="insert">1</span></sub><span class="insert">),...,S(t</span><sub><span class="insert">n</span></sub><span class="insert">))</span></span><span class="insert">.</span></li>
-<li><span class="math"><span class="insert">S(I) = { S(A) | A ∈ I } </span></span><span class="insert"> if </span><span class="math"><span class="insert">I</span></span><span class="insert"> is an instance.</span></li>
+  <span class="math">x<sub>i</sub></span> with the corresponding <span class="math">t<sub>i</sub></span>.  Specifically, if <span class="math">S =
+  [x<sub>1</sub>=t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span>
+  then the application of <span class="math">S</span> to a term, statement or instance, written <span class="math">S(t)</span>, <span class="math">S(A)</span> and
+  <span class="math">S(I)</span> respectively, is defined as follows:</p>
+<ul><li><span class="math">S(c) = c</span> if <span class="math">c</span> is a constant identifier.</li>
+<li><span class="math">S(x<sub>i</sub>) = t<sub>i</sub></span> if <span class="math">x<sub>i</sub></span> is one of the variables bound to a
+  term <span class="math">t<sub>i</sub></span> in <span class="math">S</span>.</li>
+<li><span class="math">S(x) = x</span> if <span class="math">x</span> is a variable not bound in <span class="math">S</span>.</li>
+<li><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>.</li>
+<li><span class="math">S(p(id;t<sub>1</sub>,...,t<sub>n</sub>)) = p(S(id);S(t<sub>1</sub>),...,S(t<sub>n</sub>))</span>.</li>
+<li><span class="math">S(I) = { S(A) | A ∈ I } </span> if <span class="math">I</span> is an instance.</li>
 </ul>
 
-  <p><span class="insert">Suppose </span><span class="math"><span class="insert">A</span></span><span class="insert"> is a statement and </span><span class="math"><span class="insert">I</span></span><span class="insert"> is an
-  instance and </span><span class="math"><span class="insert">S</span></span><span class="insert"> a substitution.  We say that </span><span class="math"><span class="insert">A</span></span><span class="insert"> is
-  </span><dfn id="dfn-satisfied"><span class="insert">satisfied</span></dfn><span class="insert"> in </span><span class="math"><span class="insert">I</span></span><span class="insert"> by </span><span class="math"><span class="insert">S</span></span><span class="insert"> if </span><span class="math"><span class="insert">S(A) ∈ I</span></span><span class="insert">.  Likewise,
-  we say that a set of statements </span><span class="math"><span class="insert">{A</span><sub><span class="insert">1</span></sub><span class="insert">,...,A</span><sub><span class="insert">n</span></sub><span class="insert">}</span></span><span class="insert"> is satisfied in
-  </span><span class="math"><span class="insert">I</span></span><span class="insert"> if each </span><span class="math"><span class="insert">A</span><sub><span class="insert">i</span></sub></span><span class="insert"> is satisfied in </span><span class="math"><span class="insert">I</span></span><span class="insert"> by </span><span class="math"><span class="insert">S</span></span><span class="insert">. Finally, we
-  say that a set of statements is </span><dfn id="dfn-satisfiable"><span class="insert">satisfiable</span></dfn><span class="insert">
-  in </span><span class="math"><span class="insert">I</span></span><span class="insert"> if there is some substitution </span><span class="math"><span class="insert">S</span></span><span class="insert"> that satisfies the
-  statements in </span><span class="math"><span class="insert">I</span></span><span class="insert">.
-</span></p>
+  <p>Suppose <span class="math">A</span> is a statement and <span class="math">I</span> is an
+  instance and <span class="math">S</span> a substitution.  We say that <span class="math">A</span> is
+  <dfn id="dfn-satisfied">satisfied</dfn> in <span class="math">I</span> by <span class="math">S</span> if <span class="math">S(A) ∈ I</span>.  Likewise,
+  we say that a set of statements <span class="math">{A<sub>1</sub>,...,A<sub>n</sub>}</span> is satisfied in
+  <span class="math">I</span> if each <span class="math">A<sub>i</sub></span> is satisfied in <span class="math">I</span> by <span class="math">S</span>. Finally, we
+  say that a set of statements is <dfn id="dfn-satisfiable">satisfiable</dfn>
+  in <span class="math">I</span> if there is some substitution <span class="math">S</span> that satisfies the
+  statements in <span class="math">I</span>.
+</p>
  
-    <p> <dfn id="dfn-unification"><span class="insert">Unification</span></dfn><span class="insert"> is an operation that can be applied
+    <p> <dfn id="dfn-unification">Unification</dfn> is an operation that can be applied
    to a pair of terms.
-   The result of unification is either a </span><dfn id="dfn-unifier"><span class="insert">unifier</span></dfn><span class="insert">, that is, a substitution </span><span class="math"><span class="insert">S</span></span><span class="insert"> such that </span><span class="math"><span class="insert">S(t)
-   = S(t')</span></span><span class="insert">, or failure, indicating
-   that there is no </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert">. Unification of pairs of terms is defined as follows.</span></p>
+   The result of unification is either a <dfn id="dfn-unifier">unifier</dfn>, that is, a substitution <span class="math">S</span> such that <span class="math">S(t)
+   = S(t')</span>, or failure, indicating
+   that there is no <a href="#dfn-unifier" class="internalDFN">unifier</a>. Unification of pairs of terms is defined as follows.</p>
 
     <ul>
-      <li><span class="insert"> If </span><span class="math"><span class="insert">t</span></span><span class="insert"> and </span><span class="math"><span class="insert">t'</span></span><span class="insert"> are constant identifiers or literal values
-      (including the placeholder </span><span class="name"><span class="insert">-</span></span><span class="insert">), then
-      there are two cases.  If </span><span class="math"><span class="insert">t = t'</span></span><span class="insert"> then their </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert"> is the
+      <li> If <span class="math">t</span> and <span class="math">t'</span> are constant identifiers or literal values
+      (including the placeholder <span class="name">-</span>), then
+      there are two cases.  If <span class="math">t = t'</span> then their <a href="#dfn-unifier" class="internalDFN">unifier</a> is the
       empty substitution, otherwise unification
-fails.  </span></li>
-   <li><span class="insert"> If </span><span class="math"><span class="insert">x</span></span><span class="insert"> is an existential variable
+fails.  </li>
+   <li> If <span class="math">x</span> is an existential variable
       and 
-   </span><span class="math"><span class="insert">t'</span></span><span class="insert"> is any term (identifier, constant,
-      placeholder </span><span class="name"><span class="insert">-</span></span><span class="insert">, or
+   <span class="math">t'</span> is any term (identifier, constant,
+      placeholder <span class="name">-</span>, or
       existential variable), then their
-   </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert"> is
-      </span><span class="math"><span class="insert">[x=t']</span></span><span class="insert">.  In the special case where
-      </span><span class="math"><span class="insert">t'=x</span></span><span class="insert">, the  </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert"> is the empty substitution.</span></li>
-         <li><span class="insert"> If </span><span class="math"><span class="insert">t</span></span><span class="insert"> is any term (identifier, constant,
-      placeholder </span><span class="name"><span class="insert">-</span></span><span class="insert">, or
+   <a href="#dfn-unifier" class="internalDFN">unifier</a> is
+      <span class="math">[x=t']</span>.  In the special case where
+      <span class="math">t'=x</span>, the  <a href="#dfn-unifier" class="internalDFN">unifier</a> is the empty substitution.</li>
+         <li> If <span class="math">t</span> is any term (identifier, constant,
+      placeholder <span class="name">-</span>, or
       existential variable) and
-   </span><span class="math"><span class="insert">x'</span></span><span class="insert"> is an existential variable, then their
-      </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert"> is the same as the </span><a href="#dfn-unifier" class="internalDFN"><span class="insert">unifier</span></a><span class="insert"> of </span><span class="math"><span class="insert">x</span></span><span class="insert">
-      and </span><span class="math"><span class="insert">t</span></span><span class="insert">.</span></li>
+   <span class="math">x'</span> is an existential variable, then their
+      <a href="#dfn-unifier" class="internalDFN">unifier</a> is the same as the <a href="#dfn-unifier" class="internalDFN">unifier</a> of <span class="math">x</span>
+      and <span class="math">t</span>.</li>
       </ul>
       
 
 
-<div class="remark"><span class="insert">Unification is analogous to unification in
+<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.</span></div>
-
-    <p><span class="insert">Two PROV instances </span><span class="math"><span class="insert">I</span></span><span class="insert"> and </span><span class="math"><span class="insert">I'</span></span><span class="insert"> are </span><dfn id="dfn-isomorphic"><span class="insert">isomorphic</span></dfn><span class="insert"> if
-  there exists an invertible substitution </span><span class="math"><span class="insert">S</span></span><span class="insert"> that maps each
-  variable of </span><span class="math"><span class="insert">I</span></span><span class="insert"> to a distinct variable of </span><span class="math"><span class="insert">I'</span></span><span class="insert"> and such that
-  </span><span class="math"><span class="insert">S(I) = I'</span></span><span class="insert">.</span></p>
-
-
+  function symbols.</div>
+
+    <p>Two PROV instances <span class="math">I</span> and <span class="math">I'</span> are <dfn id="dfn-isomorphic">isomorphic</dfn> if
+  there exists an invertible substitution <span class="math">S</span> that maps each
+  variable of <span class="math">I</span> to a distinct variable of <span class="math">I'</span> and such that
+  <span class="math">S(I) = I'</span>.</p>
+
+
+<div class="remark"><span class="insert">The scope of an existential variable is at the
+    instance level.  When we obtain information about an existential
+    variable, for example through unification or merging during
+    uniqueness constraint application, we substitute all other
+    occurrences of that variable occurring in the same instance.
+    Occurrences in other instances are not affected.  </span></div>
+  
 </section>
 <section id="inferences">
-<h2><span class="secno"><span class="insert">5. </span></span>Definitions and Inferences</h2>
+<h2><span class="secno">5. </span>Definitions and Inferences</h2>
 <p>
 This section  describes <a title="definition" href="#definition" class="internalDFN">definitions</a> and <a title="inference" href="#inference" class="internalDFN">inferences</a> that <em class="rfc2119" title="may">may</em> be used on
-  provenance data, and <span class="insert">that </span>preserve <a>equivalence</a> on <a href="#dfn-valid" class="internalDFN">valid</a>
-PROV instances (as detailed in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section <span class="delete">6.</span><span class="insert">7.</span> Normalization, Validity, and Equivalence</a>).
+  provenance data, and that preserve <a>equivalence</a> on <a href="#dfn-valid" class="internalDFN">valid</a>
+PROV instances (as detailed in <a href="#normalization-validity-equivalence" class="sectionRef sec-ref">section 7. Normalization, Validity, and Equivalence</a>).
 A <dfn id="definition">definition</dfn> is a rule that can be applied to
-  PROV instances to replace defined <span class="delete">expressions</span><span class="insert">statements</span> with <span class="delete">definitions.</span><span class="insert">other statements.</span> An  <dfn id="inference">inference</dfn> is a rule that can be applied
+  PROV instances to replace defined statements with other statements. An  <dfn id="inference">inference</dfn> is a rule that can be applied
   to PROV instances to add new PROV statements.  A definition states that a
   provenance statement is equivalent to some other statements, whereas
-  an inference only states one direction of an <span class="delete">implication; thus,
-  defined provenance statements can be replaced by their definitions.</span><span class="insert">implication.</span>
+  an inference only states one direction of an implication.
 </p>
 
 
@@ -3292,14 +2369,11 @@
   its definition.  
 </p>
 
-
-  
-
-  <div class="remark"><span class="insert">
+  <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.
-  </span></div>
+  </div>
 
   <p> Inferences have the following general form:</p>
 <div class="inference-example" id="inference-example"><div class="ruleTitle"><a class="internalDFN" href="#inference-example">Inference-example NNN (inference-example)</a></div>
@@ -3319,70 +2393,41 @@
   generating fresh identifiers <span class="name">a<sub>1</sub></span>,...,<span class="name">a<sub>m</sub></span> for the existential variables.  These fresh
   identifiers might later be found to be equal to known identifiers;
   they play a similar role in PROV constraints to existential
-  variables in <span class="delete">logic, to "labeled nulls" in database theory
-  </span><span class="insert">logic </span>[<cite><span class="delete">DBCONSTRAINTS</span><a class="bibref" href="#bib-Logic"><span class="insert">Logic</span></a></cite><span class="delete">],  </span><span class="insert">] </span>or <span class="delete">to blank nodes in </span><span class="insert">database theory
-  </span>[<cite><span class="delete">RDF</span><a class="bibref" href="#bib-DBCONSTRAINTS"><span class="insert">DBCONSTRAINTS</span></a></cite><span class="insert">].
+  variables in logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>] or database theory
+  [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].
   
   In general, omitted optional parameters to
-  [</span><cite><a class="bibref" href="#bib-PROV-N"><span class="insert">PROV-N</span></a></cite><span class="insert">] statements, or explicit </span><span class="name"><span class="insert">-</span></span><span class="insert">
+  [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] statements, or explicit <span class="name">-</span>
   markers, are placeholders for existentially quantified variables;
   that is, they denote unknown values.  There are a few exceptions to
-  this general rule, which are specified in </span><a class="rule-ref" href="#optional-placeholders"><span><span class="insert">Definition 4 (optional-placeholders)</span></span></a><span class="insert">.</span></p>
-
-<p><span class="insert"> Definitions and inferences can be viewed as logical formulas;
-  similar formalisms are often used in rule-based reasoning [</span><cite><a class="bibref" href="#bib-CHR"><span class="insert">CHR</span></a></cite><span class="insert">]
-  and in databases [</span><cite><a class="bibref" href="#bib-DBCONSTRAINTS"><span class="insert">DBCONSTRAINTS</span></a></cite>].  In <span class="delete">general, omitted optional parameters to
-  [</span><span class="delete">PROV-N</span><span class="delete">] statements, or explicit </span><span class="delete">-</span><span class="delete">
-  markers, are placeholders for existentially quantified variables;
-  that is, they denote unknown values.  There are a few exceptions to
-  this general rule, which are specified in </span><span class="delete">Definition 4 (optional-placeholders)</span><span class="delete">.</span>
-
-<span class="delete"> Definitions and inferences can be viewed as logical formulas;
-  similar formalisms are often used in rule-based reasoning [</span><span class="delete">CHR</span><span class="delete">]
-  and in databases [</span><span class="delete">DBCONSTRAINTS</span><span class="delete">].  In </span>particular, the identifiers
+  this general rule, which are specified in <a class="rule-ref" href="#optional-placeholders"><span>Definition 4 (optional-placeholders)</span></a>.</p>
+
+<p> Definitions and inferences can be viewed as logical formulas;
+  similar formalisms are often used in rule-based reasoning [<cite><a class="bibref" href="#bib-CHR">CHR</a></cite>]
+  and in databases [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].  In particular, the identifiers
   <span class="name">a<sub>1</sub></span> ...  <span class="name">a<sub>n</sub></span>
   should be viewed as existentially quantified variables, meaning that
   through subsequent reasoning steps they may turn out to be equal to
   other identifiers that are already known, or to other existentially
-  quantified variables.<span class="delete">  Their treatment is analogous to that of blank
-  nodes in RDF.  </span>
+  quantified variables.
   
   In contrast, distinct URIs or literal values in PROV
   are assumed to be distinct for the purpose of checking validity or
   inferences.  This issue is discussed in more detail under <a href="#uniqueness-constraints">Uniqueness Constraints</a>.
   </p>
   
-<p>In a <span class="delete">[definition|inference],</span><span class="insert">definition or inference,</span> term symbols such as <span class="name">id</span>, 
+<p>In a definition or inference, term symbols such as <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>,
 	are assumed to be variables unless otherwise specified.  These variables are scoped at 
-	the <span class="delete">[definition|inference|constraint]</span><span class="insert">definition, inference, or constraint</span> level, so the rule is equivalent to any one-for-one 
-	renaming of the variable names.  When several rules are 
-	collected within a <span class="delete">[definition|inference]</span><span class="insert">definition or inference</span> 
+	the definition, inference, or constraint level, so the rule is equivalent to any one-for-one 
+	renaming of the variable names.  When several rules are
+	collected within a definition or inference 
 	as an ordered list, the scope of the variables in each rule is at the level of list elements, and so reuse of 
 	variable names in different rules does not affect the meaning.
 </p>
 <section id="optional-identifiers-and-attributes">
-  <h3><span class="secno"><span class="delete">4.1</span><span class="insert">5.1</span> </span>Optional Identifiers and Attributes</h3>
-
-  <span class="delete">Many PROV relation statements have an identifier, identifying a
-  link between two or more related objects.  Identifiers can sometimes
-  be omitted in [</span><span class="delete">PROV-O</span><span class="delete">] notation.  For the purpose of inference and
-  validity checking, we generate special identifiers called
-  </span><span class="delete">existential variables</span><span class="delete"> denoting the unknown values.
-</span>
-<span class="delete">
-Existential variables can be </span><span class="delete">substituted</span><span class="delete">
-  with other terms.  Specifically, a
-  </span><span class="delete">substitution</span><span class="delete"> is a function from a set of existential
-  variables to identifiers, literals, the placeholder </span><span class="delete">-</span><span class="delete">,
-  or other </span><span class="delete">existential variables</span><span class="delete">.  A substitution </span><span class="delete">S</span><span class="delete"> can be
-  applied to an instance </span><span class="delete">I</span><span class="delete"> by replacing all occurrences of existential
-  variables </span><span class="delete">x</span><span class="delete"> in the instance with </span><span class="delete">S(x)</span><span class="delete">.  
-</span>
-
-
-
+  <h3><span class="secno">5.1 </span>Optional Identifiers and Attributes</h3>
 
 
 
@@ -3396,7 +2441,7 @@
   variables</a>.  
 </p>
 
-  <div class="definition" id="optional-identifiers"><div class="ruleTitle"><a class="internalDFN" href="#optional-identifiers">Definition 1 (optional-identifiers)</a></div>
+  <div class="definition" id="optional-identifiers"><div class="ruleTitle"><a id="1"></a><a class="internalDFN" href="#optional-identifiers">Definition 1 (optional-identifiers)</a></div>
 <p>For each  <span class="name">r</span> in { 
 <span class="name">used</span>,
 <span class="name">wasGeneratedBy</span>,
@@ -3421,15 +2466,31 @@
     <p>Likewise, many PROV-N statements allow for an optional attribute
    list.  If it is omitted, this is the same as specifying an empty
    attribute list:</p>
-   <div class="definition" id="optional-attributes"><div class="ruleTitle"><a class="internalDFN" href="#optional-attributes">Definition 2 (optional-attributes)</a></div>
+   <div class="definition" id="optional-attributes"><div class="ruleTitle"><a id="2"></a><a class="internalDFN" href="#optional-attributes">Definition 2 (optional-attributes)</a></div>
 <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><span class="delete">
+  For each</span>
+
+<p>  <span class="delete">p</span><span class="delete"> in {</span><span class="delete">entity</span><span class="delete">, </span><span class="delete">activity</span><span class="delete">,
+   </span><span class="delete">agent</span><span class="delete">}, if </span><span class="delete">a</span><span class="delete">n</span><span class="delete"> is not an attribute
+   list parameter then the</span><span class="insert">The</span> following definitional <span class="delete">rule holds:
+  </span><span class="delete">p(a</span><span class="delete">1</span><span class="delete">,...,a</span><span class="delete">n</span><span class="delete">)</span><span class="insert">rules hold:</span></p>
+    <ul><li><span class="name"><span class="insert">entity(id)</span></span> 
+   <span class="conditional">IF AND ONLY IF</span>   <span class="name"><span class="delete">p(a</span><span class="delete">1</span><span class="delete">,...,a</span><span class="delete">n</span><span class="delete">,[])</span><span class="insert">entity(id,[])</span></span>.
+  
+    </li>
+    <li><span class="name"><span class="insert">activity(id)</span></span> 
+   <span class="conditional"><span class="insert">IF AND ONLY IF</span></span>   <span class="name"><span class="insert">activity(id,[])</span></span><span class="insert">.
+    </span></li>
+   <li><span class="name"><span class="insert">activity(id,t1,t2)</span></span> 
+   <span class="conditional"><span class="insert">IF AND ONLY IF</span></span>   <span class="name"><span class="insert">activity(id,t1,t2,[])</span></span><span class="insert">.
+    </span></li>
+    <li><span class="name"><span class="insert">agent(id)</span></span> 
+   <span class="conditional"><span class="insert">IF AND ONLY IF</span></span>   <span class="name"><span class="insert">agent(id,[])</span></span><span class="insert">.
+    </span></li>
+    </ul>
+    <br>
+  </li>
   <li>
      For each <span class="name">r</span> in { 
 <span class="name">used</span>,
@@ -3452,7 +2513,7 @@
 
  <div class="remark">
   <p>Definitions  <a class="rule-ref" href="#optional-identifiers"><span>Definition 1 (optional-identifiers)</span></a> and <a class="rule-ref" href="#optional-attributes"><span>Definition 2 (optional-attributes)</span></a>.  
-do not apply to <span class="name">alternateOf</span><span class="delete">,</span><span class="insert"> and</span> <span class="name">specializationOf<span class="delete">, and </span><span class="delete">mentionOf</span></span>, which do not have identifiers and attributes.
+do not apply to <span class="name">alternateOf</span> and <span class="name">specializationOf</span>, which do not have identifiers and attributes.
 </p>
  </div>
 
@@ -3462,7 +2523,7 @@
   used if none of the optional arguments is present.  These are
   handled by specific rules listed below.  </p>
 
-<div class="definition" id="definition-short-forms"><div class="ruleTitle"><a class="internalDFN" href="#definition-short-forms">Definition 3 (definition-short-forms)</a></div>
+<div class="definition" id="definition-short-forms"><div class="ruleTitle"><a id="3"></a><a class="internalDFN" href="#definition-short-forms">Definition 3 (definition-short-forms)</a></div>
  <p>
   
   </p><ol>
@@ -3492,9 +2553,8 @@
 
   <p>
 There are no expansion rules for entity, agent, communication,
- attribution, influence, alternate, <span class="delete">specialization, </span>or <span class="delete">mention
-   </span><span class="insert">specialization 
-   </span>relations, because these
+ attribution, influence, alternate, or specialization 
+   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>Definition 1 (optional-identifiers)</span></a> and <a class="rule-ref" href="#optional-attributes"><span>Definition 2 (optional-attributes)</span></a>.  </p>
    </div>
@@ -3594,20 +2654,20 @@
   Essentially, the definitions state that parameters  
 <span class="name">g,u</span> are expandable only if the activity is specified, i.e., if parameter <span class="name">a</span> is provided.
 
-The rationale for this is that when a is provided, then there have to be two events, namely <span class="name">u</span> and <span class="name">g</span>, which account for the usage of <span class="name">e1</span> and the generation of <span class="name">e2</span>, respectively, by <span class="name">a</span>. Conversely, if <span class="name">a</span> is not provided, then one cannot tell whether one or more activities are involved in the derivation, and the explicit introduction of such events, which correspond to a single <span class="delete">acitivity,</span><span class="insert">activity,</span> would therefore not be justified.  </p>
-
-
-<p>  A  later constraint, <a class="rule-ref" href="#impossible-unspecified-derivation-generation-use"><span>Constraint <span class="delete">53</span><span class="insert">51</span> (impossible-unspecified-derivation-generation-use)</span></a>,
+The rationale for this is that when a is provided, then there have to be two events, namely <span class="name">u</span> and <span class="name">g</span>, which account for the usage of <span class="name">e1</span> and the generation of <span class="name">e2</span>, respectively, by <span class="name">a</span>. Conversely, if <span class="name">a</span> is not provided, then one cannot tell whether one or more activities are involved in the derivation, and the explicit introduction of such events, which correspond to a single activity, would therefore not be justified.  </p>
+
+
+<p>  A  later constraint, <a class="rule-ref" href="#impossible-unspecified-derivation-generation-use"><span>Constraint 51 (impossible-unspecified-derivation-generation-use)</span></a>,
   forbids specifying generation and use parameters when the activity
   is unspecified.</p>
     
-  <div class="definition" id="optional-placeholders"><div class="ruleTitle"><a class="internalDFN" href="#optional-placeholders">Definition 4 (optional-placeholders)</a></div>
+  <div class="definition" id="optional-placeholders"><div class="ruleTitle"><a id="4"></a><a class="internalDFN" href="#optional-placeholders">Definition 4 (optional-placeholders)</a></div>
     <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> <em class="rfc2119" title="may">may</em> 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> <span class="delete">must not</span><em class="rfc2119" title="may"><span class="insert">may</span></em> be a placeholder.
+   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> <em class="rfc2119" title="may">may</em> be a placeholder.
 </li>
 
     <li>For each  <span class="name">r</span> in { 
@@ -3631,11 +2691,11 @@
     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"><span class="delete">wasDerivedFrom(id;e2,e1,a,-,u,attrs)</span><span class="insert">wasDerivedFrom(id; e2,e1,a,-,u,attrs)</span></span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">g</span>
+   <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"><span class="delete">wasDerivedFrom(id;e2,e1,a,g,-,attrs)</span><span class="insert">wasDerivedFrom(id; e2,e1,a,g,-,attrs)</span></span> <span class="conditional">IF AND ONLY IF</span> there exists <span class="name">u</span>
+   <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>
 
@@ -3654,12 +2714,12 @@
   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>
+ <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 <span class="delete">modelling</span><span class="insert">modeling</span> to be inferred from the former. Hence, the two  <span class="delete">modellings</span><span class="insert">modeling</span> of the same system are regarded as different in the context of this specification.</p>
     </div>
 </section>
     
 <section id="entities-and-activities">
-  <h3><span class="secno"><span class="delete">4.2</span><span class="insert">5.2</span> </span>Entities and Activities</h3>
+  <h3><span class="secno">5.2 </span>Entities and Activities</h3>
 
 
   
@@ -3667,7 +2727,7 @@
 <p id="communication-generation-use-inference_text">Communication between activities <a title="definition" href="#definition" class="internalDFN">implies</a> the existence of an underlying
 entity generated by one activity and used by the other, and vice versa.</p>
 
-<div class="inference" id="communication-generation-use-inference"><div class="ruleTitle"><a class="internalDFN" href="#communication-generation-use-inference">Inference 5 (communication-generation-use-inference)</a></div>
+<div class="inference" id="communication-generation-use-inference"><div class="ruleTitle"><a id="5"></a><a class="internalDFN" href="#communication-generation-use-inference">Inference 5 (communication-generation-use-inference)</a></div>
 <p>
 <span class="conditional">IF</span> 
 <span class="name">wasInformedBy(_id; a2,a1,_attrs)</span>
@@ -3679,10 +2739,10 @@
 
 <p id="generation-use-communication-inference_text">
 
- </p><div class="inference" id="generation-use-communication-inference"><div class="ruleTitle"><a class="internalDFN" href="#generation-use-communication-inference">Inference 6 (generation-use-communication-inference)</a></div>
+ </p><div class="inference" id="generation-use-communication-inference"><div class="ruleTitle"><a id="6"></a><a class="internalDFN" href="#generation-use-communication-inference">Inference 6 (generation-use-communication-inference)</a></div>
 <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
+   and <span class="name"><span class="delete">used(_id2;</span><span class="insert">used(_use;</span> 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>
@@ -3725,7 +2785,7 @@
 From an entity statement, we can infer the existence of
 generation and invalidation events.
 </p>
-<div class="inference" id="entity-generation-invalidation-inference"><div class="ruleTitle"><a class="internalDFN" href="#entity-generation-invalidation-inference">Inference 7 (entity-generation-invalidation-inference)</a></div>
+<div class="inference" id="entity-generation-invalidation-inference"><div class="ruleTitle"><a id="7"></a><a class="internalDFN" href="#entity-generation-invalidation-inference">Inference 7 (entity-generation-invalidation-inference)</a></div>
 <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>,
@@ -3742,7 +2802,7 @@
 start and end events whose times match the start and end times of
 the activity, respectively.
 </p>
-<div class="inference" id="activity-start-end-inference"><div class="ruleTitle"><a class="internalDFN" href="#activity-start-end-inference">Inference 8 (activity-start-end-inference)</a></div>
+<div class="inference" id="activity-start-end-inference"><div class="ruleTitle"><a id="8"></a><a class="internalDFN" href="#activity-start-end-inference">Inference 8 (activity-start-end-inference)</a></div>
 <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
@@ -3757,9 +2817,9 @@
 implies that 
 <span class="name">e1</span> was generated by the starting activity <span class="name">a1</span>.</p>
 
-<div class="inference" id="wasStartedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasStartedBy-inference">Inference 9 (wasStartedBy-inference)</a></div>
+<div class="inference" id="wasStartedBy-inference"><div class="ruleTitle"><a id="9"></a><a class="internalDFN" href="#wasStartedBy-inference">Inference 9 (wasStartedBy-inference)</a></div>
 <p><span class="conditional">IF</span>
- <span class="name">wasStartedBy(_id; a,e1,a1,_t,_attrs)</span>,
+ <span class="name">wasStartedBy(_id; <span class="delete">a,e1,a1,_t,_attrs)</span><span class="insert">_a,e1,a1,_t,_attrs)</span></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>
@@ -3773,9 +2833,9 @@
 <span class="name">e1</span> was generated by the ending activity <span class="name">a1</span>.
 </p>
 
-<div class="inference" id="wasEndedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasEndedBy-inference">Inference 10 (wasEndedBy-inference)</a></div>
+<div class="inference" id="wasEndedBy-inference"><div class="ruleTitle"><a id="10"></a><a class="internalDFN" href="#wasEndedBy-inference">Inference 10 (wasEndedBy-inference)</a></div>
 <p><span class="conditional">IF</span>
- <span class="name">wasEndedBy(_id; a,e1,a1,_t,_attrs)</span>,
+ <span class="name">wasEndedBy(_id; <span class="delete">a,e1,a1,_t,_attrs)</span><span class="insert">_a,e1,a1,_t,_attrs)</span></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>
@@ -3786,14 +2846,14 @@
 </section>
 
  <section id="derivations"> 
-<h3><span class="secno"><span class="delete">4.3</span><span class="insert">5.3</span> </span>Derivations</h3>
+<h3><span class="secno">5.3 </span>Derivations</h3>
 
 
 <hr>
 <p id="derivation-generation-use-inference_text">Derivations with explicit
 activity, generation, and usage admit the  following inference: </p>
 
-<div class="inference" id="derivation-generation-use-inference"><div class="ruleTitle"><a class="internalDFN" href="#derivation-generation-use-inference">Inference 11 (derivation-generation-use-inference)</a></div>
+<div class="inference" id="derivation-generation-use-inference"><div class="ruleTitle"><a id="11"></a><a class="internalDFN" href="#derivation-generation-use-inference">Inference 11 (derivation-generation-use-inference)</a></div>
 <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>
@@ -3810,7 +2870,7 @@
 <p id="revision-is-alternate-inference_text">A revision admits the following inference, stating that  the two entities
 linked  by a revision are also alternates.</p>
  
-<div class="inference" id="revision-is-alternate-inference"><div class="ruleTitle"><a class="internalDFN" href="#revision-is-alternate-inference">Inference 12 (revision-is-alternate-inference)</a></div>
+<div class="inference" id="revision-is-alternate-inference"><div class="ruleTitle"><a id="12"></a><a class="internalDFN" href="#revision-is-alternate-inference">Inference 12 (revision-is-alternate-inference)</a></div>
   <p>In this inference, any of <span class="name">_a</span>, <span class="name">_g</span> or <span class="name">_u</span> <em class="rfc2119" title="may">may</em> 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>.  
@@ -3829,7 +2889,7 @@
 
 
 <section id="agents">
-<h3><span class="secno"><span class="delete">4.4</span><span class="insert">5.4</span> </span>Agents</h3>
+<h3><span class="secno">5.4 </span>Agents</h3>
 
 <p id="attribution-inference_text"> Attribution is the ascribing of an entity to an agent.  An
 entity can only be ascribed to an agent if the agent was associated with
@@ -3837,7 +2897,7 @@
 and association events are not explicit in the instance, they can
 be inferred.</p>
 
-<div class="inference" id="attribution-inference"><div class="ruleTitle"><a class="internalDFN" href="#attribution-inference">Inference 13 (attribution-inference)</a></div>
+<div class="inference" id="attribution-inference"><div class="ruleTitle"><a id="13"></a><a class="internalDFN" href="#attribution-inference">Inference 13 (attribution-inference)</a></div>
 <p>
 <span class="conditional">IF</span>
 <span class="name">wasAttributedTo(_att; e,ag,_attrs)</span>
@@ -3856,11 +2916,10 @@
 
 <div class="remark">
   In the above inference, <span class="name">_pl</span> is an
-  existential variable, so it can be<span class="delete">
-  merged </span><span class="insert"> unified
-</span>with a constant identifier, another existential variable, or a
+  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 <span class="delete">merging</span><a><span class="insert">unification</span></a>.
+  in the definition of <a>unification</a>.
   </div>
 <hr>
 <p id="delegation-inference_text"> Delegation relates agents where one agent acts on behalf of
@@ -3870,7 +2929,7 @@
 activity.  Both agents are associated with this activity.</p>
 
 
-<div class="inference" id="delegation-inference"><div class="ruleTitle"><a class="internalDFN" href="#delegation-inference">Inference 14 (delegation-inference)</a></div>
+<div class="inference" id="delegation-inference"><div class="ruleTitle"><a id="14"></a><a class="internalDFN" href="#delegation-inference">Inference 14 (delegation-inference)</a></div>
 <p>
 <span class="conditional">IF</span>
 <span class="name">actedOnBehalfOf(_id; ag1, ag2, a, _attrs)</span>
@@ -3890,7 +2949,7 @@
   <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 <span class="delete">merging</span><a><span class="insert">unification</span></a>.
+  in the definition of <a>unification</a>.
   </div>
 
 <hr>
@@ -3900,7 +2959,7 @@
 derivation, attribution, association, and delegation.  To capture this
 explicitly, we allow the following inferences:
 </p>
-<div class="inference" id="influence-inference"><div class="ruleTitle"><a class="internalDFN" href="#influence-inference">Inference 15 (influence-inference)</a></div>
+<div class="inference" id="influence-inference"><div class="ruleTitle"><a id="15"></a><a class="internalDFN" href="#influence-inference">Inference 15 (influence-inference)</a></div>
 <p>
   </p><ol>
   <li>
@@ -3913,7 +2972,7 @@
     <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>.
+    <span class="conditional">IF</span> <span class="name">wasStartedBy(id; <span class="delete">a2,e,a1,_t,attrs)</span><span class="insert">a2,e,_a1,_t,attrs)</span></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>.
@@ -3922,8 +2981,8 @@
     <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> <em class="rfc2119" title="may">may</em> be placeholders <span class="name">-</span>.
+    <span class="conditional">IF</span> <span class="name">wasDerivedFrom(id;  e2, e1, <span class="delete">a, g, u,</span><span class="insert">_a, _g, _u,</span> attrs)</span> <span class="conditional">THEN</span> <span class="name">wasInfluencedBy(id;  e2, e1, attrs)</span>.  Here,
+  <span class="name"><span class="delete">a</span><span class="insert">_a</span></span>, <span class="name"><span class="delete">g</span><span class="insert">_g</span></span>, <span class="name"><span class="delete">u</span><span class="insert">_u</span></span> <em class="rfc2119" title="may">may</em> 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>.
@@ -3949,20 +3008,20 @@
 
 
  <section id="alternate-and-specialized-entities"> 
-<h3><span class="secno"><span class="delete">4.5</span><span class="insert">5.5</span> </span>Alternate and Specialized Entities</h3>
+<h3><span class="secno">5.5 </span>Alternate and Specialized Entities</h3>
 
 
 
   
 <hr>
-  <p id="alternate-reflexive_text">The relation <span class="name">alternateOf</span> is an <a href="#dfn-equivalence-relation" class="internalDFN">equivalence relation</a><span class="delete">:</span><span class="insert"> on
-  entities:</span> that is,
+  <p id="alternate-reflexive_text">The relation <span class="name">alternateOf</span> is an <a href="#dfn-equivalence-relation" class="internalDFN">equivalence relation</a> on
+  entities: that is,
   it is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>,
   <a href="#dfn-transitive" class="internalDFN">transitive</a> and <a href="#dfn-symmetric" class="internalDFN">symmetric</a>.  As a consequence, the
   following inferences can be applied:</p>
 
  
-<div class="inference" id="alternate-reflexive"><div class="ruleTitle"><a class="internalDFN" href="#alternate-reflexive">Inference 16 (alternate-reflexive)</a></div>
+<div class="inference" id="alternate-reflexive"><div class="ruleTitle"><a id="16"></a><a class="internalDFN" href="#alternate-reflexive">Inference 16 (alternate-reflexive)</a></div>
 <p>
 <span class="conditional">IF</span>  <span class="name">entity(e)</span> <span class="conditional">THEN</span>
 <span class="name">alternateOf(e,e)</span>.
@@ -3974,7 +3033,7 @@
 </p><hr>
   <p id="alternate-transitive_text">
 
-       </p><div class="inference" id="alternate-transitive"><div class="ruleTitle"><a class="internalDFN" href="#alternate-transitive">Inference 17 (alternate-transitive)</a></div>
+       </p><div class="inference" id="alternate-transitive"><div class="ruleTitle"><a id="17"></a><a class="internalDFN" href="#alternate-transitive">Inference 17 (alternate-transitive)</a></div>
 <p>
 <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>
@@ -3985,7 +3044,7 @@
 </p><hr>
   <p id="alternate-symmetric_text">
 
-   </p><div class="inference" id="alternate-symmetric"><div class="ruleTitle"><a class="internalDFN" href="#alternate-symmetric">Inference 18 (alternate-symmetric)</a></div>
+   </p><div class="inference" id="alternate-symmetric"><div class="ruleTitle"><a id="18"></a><a class="internalDFN" href="#alternate-symmetric">Inference 18 (alternate-symmetric)</a></div>
 <p>
 <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>
@@ -3997,9 +3056,9 @@
 <p id="specialization-transitive_text">
 Similarly, specialization is a
     <a href="#dfn-strict-partial-order" class="internalDFN">strict partial order</a>: it is <a href="#dfn-irreflexive" class="internalDFN">irreflexive</a> and
-    <a href="#dfn-transitive" class="internalDFN">transitive</a>.  Irreflexivity is handled later as <a class="rule-ref" href="#impossible-specialization-reflexive"><span>Constraint <span class="delete">54</span><span class="insert">52</span> (impossible-specialization-reflexive)</span></a>
+    <a href="#dfn-transitive" class="internalDFN">transitive</a>.  Irreflexivity is handled later as <a class="rule-ref" href="#impossible-specialization-reflexive"><span>Constraint 52 (impossible-specialization-reflexive)</span></a>
     </p>
-       <div class="inference" id="specialization-transitive"><div class="ruleTitle"><a class="internalDFN" href="#specialization-transitive">Inference 19 (specialization-transitive)</a></div>
+       <div class="inference" id="specialization-transitive"><div class="ruleTitle"><a id="19"></a><a class="internalDFN" href="#specialization-transitive">Inference 19 (specialization-transitive)</a></div>
 <p>
 
 <span class="conditional">IF</span> <span class="name">specializationOf(e1,e2)</span>
@@ -4014,7 +3073,7 @@
     <p id="specialization-alternate-inference_text">If one entity specializes another, then they are also
     alternates:</p>
     
-       <div class="inference" id="specialization-alternate-inference"><div class="ruleTitle"><a class="internalDFN" href="#specialization-alternate-inference">Inference 20 (specialization-alternate-inference)</a></div>
+       <div class="inference" id="specialization-alternate-inference"><div class="ruleTitle"><a id="20"></a><a class="internalDFN" href="#specialization-alternate-inference">Inference 20 (specialization-alternate-inference)</a></div>
 <p>
 
 <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>
@@ -4025,7 +3084,7 @@
     If one entity specializes another then all attributes of the more
     general entity are also attributes of the more specific one.
     </p>
-<div class="inference" id="specialization-attributes-inference"><div class="ruleTitle"><a class="internalDFN" href="#specialization-attributes-inference">Inference 21 (specialization-attributes-inference)</a></div>
+<div class="inference" id="specialization-attributes-inference"><div class="ruleTitle"><a id="21"></a><a class="internalDFN" href="#specialization-attributes-inference">Inference 21 (specialization-attributes-inference)</a></div>
   <p>
 
 <span class="conditional">IF</span> <span class="name">entity(e1, attrs)</span>  and <span class="name">specializationOf(e2,e1)</span>, <span class="conditional">THEN </span>
@@ -4034,25 +3093,6 @@
 
 
   
-  
-
-  
-<span class="delete">Note: The following inference is associated with a feature "</span><span class="delete">at risk</span><span class="delete">" and may be removed from this specification based on feedback. Please send feedback to [email protected]</span>
-
-
-
-    <span class="delete">If one entity is a mention of another in a bundle, then the former is also a specialization of the latter:</span>
-    
-       <span class="delete">Inference 22 (mention-specialization-inference)</span>
-
-<span class="delete">IF</span> <span class="delete">mentionOf(e2,e1,b)</span> <span class="delete">THEN</span> <span class="delete">specializationOf(e2,e1)</span><span class="delete">.</span>
-     
-
-
-
-
-
-  
 
 </section>
 
@@ -4065,7 +3105,7 @@
 
 
 <section id="constraints">
-<h2><span class="secno"><span class="delete">5.</span><span class="insert">6.</span> </span>Constraints</h2>
+<h2><span class="secno">6. </span>Constraints</h2>
 
 
 
@@ -4090,7 +3130,7 @@
     patterns of statements in <a href="#dfn-valid" class="internalDFN">valid</a> PROV instances.
     </li></ul>
   
-  <p>As in a <span class="delete">[definition|inference],</span><span class="insert">definition or inference,</span> term symbols such as <span class="name">id</span>, 
+  <p>As in a definition or inference, term symbols such as <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> in a constraint,
 	are assumed to be variables unless otherwise specified.  These variables are scoped at 
@@ -4103,7 +3143,7 @@
 
 
  
-  <h3><span class="secno"><span class="delete">5.1</span><span class="insert">6.1</span> </span>Uniqueness Constraints</h3>
+  <h3><span class="secno">6.1 </span>Uniqueness Constraints</h3>
 
 
     
@@ -4118,45 +3158,6 @@
     <span class="name">activity(a,2011-11-16T16:00:00,_t1,[a=1])</span> and <span class="name">activity(a,_t2,2011-11-16T18:00:00,[b=2])</span>, with existential variables <span class="name">_t1</span> and <span class="name">_t2</span>.  The <a>merge</a> of
     these two statements (describing the same activity <span class="name">a</span>) is <span class="name">activity(a,2011-11-16T16:00:00,2011-11-16T18:00:00,[a=1,b=2])</span>.  </p>
 
-     <span class="delete">Merging</span><span class="delete"> is an operation that can be applied
-   to a pair of terms, or a pair of attribute lists.
-   The result of merging is either a substitution (mapping
-   existentially quantified variables to terms) or failure, indicating that the merge
-   cannot be performed.  Merging of pairs of terms, attribute lists,
-   or statements is defined as follows.</span>
-
-    
-      <span class="delete"> If </span><span class="delete">t</span><span class="delete"> and </span><span class="delete">t'</span><span class="delete"> are constant identifiers or values
-      (including the placeholder </span><span class="delete">-</span><span class="delete">), then
-   their </span><span class="delete">merge</span><span class="delete"> exists only if they are equal, otherwise merging
-fails.  </span>
-   <span class="delete"> If </span><span class="delete">x</span><span class="delete"> is an existential variable
-      and 
-   </span><span class="delete">t'</span><span class="delete"> is any term (identifier, constant,
-      placeholder </span><span class="delete">-</span><span class="delete">, or
-      existential variable), then their
-   </span><span class="delete">merge</span><span class="delete"> is </span><span class="delete">t'</span><span class="delete">, and the resulting substitution is
-      </span><span class="delete">[x=t']</span><span class="delete">.  In the special case where </span><span class="delete">t'=x</span><span class="delete">, the merge is
-      </span><span class="delete">x</span><span class="delete"> and the resulting substitution is empty.</span>
-         <span class="delete"> If </span><span class="delete">t</span><span class="delete"> is any term (identifier, constant,
-      placeholder </span><span class="delete">-</span><span class="delete">, or
-      existential variable) and
-   </span><span class="delete">x'</span><span class="delete"> is an existential variable, then their
-      merge is the same as the merge of </span><span class="delete">x</span><span class="delete"> and </span><span class="delete">t</span><span class="delete">.</span>
-  <span class="delete"> The </span><span class="delete">merge</span><span class="delete"> of two attribute lists  </span><span class="delete">attrs1</span><span class="delete"> and  </span><span class="delete">attrs2</span><span class="delete">
-   is their union, considered as sets of key-value pairs, written  </span><span class="delete">attrs1 ∪ attrs2</span><span class="delete">.  Duplicate keys with
-      different  are
-      allowed, but equal key-value pairs are merged.</span>
-
-
-
-<span class="delete">Merging for terms is analogous to unification in
-  logic programming and theorem proving, restricted to flat terms with
-  no function symbols.  No occurs check is needed because there are no
-  function symbols.</span>
-
-  
-
 
   <p>
 A typical uniqueness constraint is as follows:
@@ -4169,15 +3170,15 @@
   <ol> <li>Suppose PROV instance <span class="math">I</span> contains all of the hypotheses
   <span class="name">hyp<sub>1</sub></span> and ... and <span class="name">hyp<sub>n</sub></span>.
     </li>
-    <li>Attempt to <span class="delete">merge</span><span class="insert">unify</span> all of the equated terms in the conclusion
+    <li>Attempt to unify all of the equated terms in the conclusion
   <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>.
     </li>
-    <li>If <span class="delete">merging</span><span class="insert">unification</span> fails, then the constraint
+    <li>If unification fails, then the constraint
   is unsatisfiable, so application of the constraint to <span class="math">I</span>
   fails. If this failure occurs during <a>normalization</a> prior to
 validation, then <span class="math">I</span> is invalid, as explained in <a href="#normalization-validity-equivalence">Section 6</a>.
     </li>
-  <li>If <span class="delete">merging</span><span class="insert">unification</span> succeeds with a substitution <span class="math">S</span>, then
+  <li>If unification succeeds with a substitution <span class="math">S</span>, then
   <span class="math">S</span> is applied to the instance <span class="math">I</span>, yielding result <span class="math">S(I)</span>.</li>
   </ol>
   
@@ -4191,31 +3192,28 @@
 
  <p> Because of the presence of attributes, key constraints do not
   reduce directly to uniqueness constraints.  Instead, we enforce key
-  constraints <span class="delete">as follows.</span><span class="insert">using the following </span><dfn id="dfn-merging"><span class="insert">merging</span></dfn><span class="insert"> process.</span>  </p>
+  constraints using the following <dfn id="dfn-merging">merging</dfn> process.  </p>
   <ol>
     <li> Suppose <span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span> and <span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span> hold in PROV instance <span class="math">I</span>, where the key fields <span class="name">a<sub>k</sub> = b<sub>k</sub></span> are equal.</li>
-  <li> Attempt to <span class="delete">merge</span><span class="insert">unify</span> all of the corresponding parameters  <span class="name">a<sub>0</sub> = b<sub>0</sub> </span> and ... and  <span class="name">a<sub>n</sub> = b<sub>n</sub></span>.
+  <li> Attempt to unify all of the corresponding parameters  <span class="name">a<sub>0</sub> = b<sub>0</sub> </span> and ... and  <span class="name">a<sub>n</sub> = b<sub>n</sub></span>.
   </li>
-  <li>If <span class="delete">merging</span><span class="insert">unification</span> fails, then the constraint is unsatisfiable, so
+  <li>If unification fails, then the constraint is unsatisfiable, so
   application of the key constraint to <span class="math">I</span> fails.
   </li>
-  <li>If <span class="delete">merging</span><span class="insert">unification</span> succeeds with substitution <span class="math">S</span>, then we remove <span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span> and <span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span> from <span class="math">I</span>, obtaining
+  <li>If unification succeeds with substitution <span class="math">S</span>, then we remove <span class="name">r(a<sub>0</sub>; a<sub>1</sub>,...a<sub>n</sub>,attrs1)</span> and <span class="name">r(b<sub>0</sub>; b<sub>1</sub>,...b<sub>n</sub>,attrs2)</span> from <span class="math">I</span>, obtaining
   instance <span class="math">I'</span>, and return instance  <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>.
     </li></ol>
 
-    
-
-
 
     
 <p>Thus, if a PROV instance contains an apparent violation of a uniqueness
-  constraint or key constraint,<span class="insert"> unification or</span> merging can be used to determine
+  constraint or key constraint, unification or merging can be used to determine
   whether the constraint can be satisfied by instantiating some existential
   variables with other terms.  For key constraints, this is the same
   as merging pairs of statements whose keys are equal and whose
   corresponding arguments are compatible, because after
-  <span class="delete">merging</span><span class="insert">unifying</span> respective arguments and<span class="insert"> combining</span> attribute lists, the two statements
+  unifying respective arguments and combining attribute lists, the two statements
   become equal and one can be omitted. </p>
   
 
@@ -4231,16 +3229,16 @@
   This is enforced through
   the following key constraints:
   </p>
-  <div class="constraint" id="key-object"><div class="ruleTitle"><a class="internalDFN" href="#key-object">Constraint <span class="delete">23</span><span class="insert">22</span> (key-object)</a></div>
+  <div class="constraint" id="key-object"><div class="ruleTitle"><a id="22"></a><a class="internalDFN" href="#key-object">Constraint 22 (key-object)</a></div>
 <p></p><ol>
-  <li>The identifier field <span class="delete">e</span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#entity.id"><span class="name"><span class="insert">id</span></span></a> is a <span class="conditional">KEY</span> for
-  the <span class="name"><span class="delete">entity(e,attrs)</span><span class="insert">entity(id,attrs)</span></span> statement.
+  <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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 <span class="delete">a</span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#activity.id"><span class="name"><span class="insert">id</span></span></a> is a <span class="conditional">KEY</span> for
-  the  <span class="name"><span class="delete">activity(a,t1,t2,attrs)</span><span class="insert">activity(id,t1,t2,attrs)</span></span> statement.
+  <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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 <span class="delete">ag</span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#agent.id"><span class="name"><span class="insert">id</span></span></a> is a <span class="conditional">KEY</span> for
-  the  <span class="name"><span class="delete">agent(ag,attrs)</span><span class="insert">agent(id,attrs)</span></span> statement.
+<li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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>
@@ -4252,7 +3250,7 @@
    constraints require that all of the information about each identified
    statement can be merged into a single, consistent statement:
   </p>
-  <div class="constraint" id="key-properties"><div class="ruleTitle"><a class="internalDFN" href="#key-properties">Constraint <span class="delete">24</span><span class="insert">23</span> (key-properties)</a></div>
+  <div class="constraint" id="key-properties"><div class="ruleTitle"><a id="23"></a><a class="internalDFN" href="#key-properties">Constraint 23 (key-properties)</a></div>
 <p></p><ol>
   <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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.
@@ -4272,33 +3270,20 @@
   <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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><span class="insert">The identifier field </span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#derivation.id"><span class="name"><span class="insert">id</span></span></a><span class="insert"> is a </span><span class="conditional"><span class="insert">KEY</span></span><span class="insert"> for
-  the </span><span class="name"><span class="insert">wasDerivedFrom(id;  e2, e1, a, g2, u1, attrs)</span></span><span class="insert"> statement.
-  </span></li>
- <li><span class="insert">The identifier field </span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#attribution.id"><span class="name"><span class="insert">id</span></span></a><span class="insert"> is a </span><span class="conditional"><span class="insert">KEY</span></span><span class="insert"> for
-  the </span><span class="name"><span class="insert">wasAttributedTo(id; e,ag,attr)</span></span><span class="insert"> statement.
-  </span></li>
-  <li><span class="insert">The identifier field </span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#association.id"><span class="name"><span class="insert">id</span></span></a><span class="insert"> is a </span><span class="conditional"><span class="insert">KEY</span></span><span class="insert"> for
-  the </span><span class="name"><span class="insert">wasAssociatedWith(id; a,ag,pl,attrs)</span></span><span class="insert"> statement.
- </span></li>
+  <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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/2012/CR-prov-dm-20121211/#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/2012/CR-prov-dm-20121211/#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/2012/CR-prov-dm-20121211/#delegation.id"><span class="name">id</span></a> is a <span class="conditional">KEY</span> for
-  the <span class="name"><span class="delete">wasDerivedFrom(id;  e2, e1, a, g2, u1, attrs)</span><span class="insert">actedOnBehalfOf(id; ag2,ag1,a,attrs)</span></span> statement.
+  the <span class="name">actedOnBehalfOf(id; ag2,ag1,a,attrs)</span> statement.
   </li>
- 
-  <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#influence.id"><span class="name">id</span><span class="delete"> is a </span><span class="delete">KEY</span><span class="delete"> for
-  the </span><span class="delete">wasAttributedTo(id; e,ag,attr)</span><span class="delete"> statement.
-  </span>
-  <span class="delete">The identifier field </span><span class="delete">id</span><span class="delete"> is a </span><span class="delete">KEY</span><span class="delete"> for
-  the </span><span class="delete">wasAssociatedWith(id; a,ag,pl,attrs)</span><span class="delete"> statement.
- </span>
-  <span class="delete">The identifier field </span><span class="delete">id</span><span class="delete"> is a </span><span class="delete">KEY</span><span class="delete"> for
-  the </span><span class="delete">wasAssociatedWith(id; a,ag,-,attrs)</span><span class="delete"> statement.
-  </span>
-  <span class="delete">The identifier field </span><span class="delete">id</span><span class="delete"> is a </span><span class="delete">KEY</span><span class="delete"> for
-  the </span><span class="delete">actedOnBehalfOf(id; ag2,ag1,a,attrs)</span><span class="delete"> statement.
-  </span>
-  <span class="delete">The identifier field </span><span class="delete">id</span></a> is a <span class="conditional">KEY</span> for
+  <li>The identifier field <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#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>
@@ -4313,14 +3298,14 @@
 <p> Entities may have multiple generation or invalidation events
   (either or both may, however, be left implicit).  An entity can be
   generated by more than one activity, with one generation event per
-  each entity-activity pair.  These events must be simultaneous, as required by <a class="rule-ref" href="#generation-generation-ordering"><span>Constraint <span class="delete">41</span><span class="insert">39</span> (generation-generation-ordering)</span></a>
-  and <a class="rule-ref" href="#invalidation-invalidation-ordering"><span>Constraint <span class="delete">42</span><span class="insert">40</span> (invalidation-invalidation-ordering)</span></a>.
+  each entity-activity pair.  These events must be simultaneous, as required by <a class="rule-ref" href="#generation-generation-ordering"><span>Constraint 39 (generation-generation-ordering)</span></a>
+  and <a class="rule-ref" href="#invalidation-invalidation-ordering"><span>Constraint 40 (invalidation-invalidation-ordering)</span></a>.
 
 </p>
 </div>
 
 
-<div class="constraint" id="unique-generation"><div class="ruleTitle"><a class="internalDFN" href="#unique-generation">Constraint <span class="delete">25</span><span class="insert">24</span> (unique-generation)</a></div>
+<div class="constraint" id="unique-generation"><div class="ruleTitle"><a id="24"></a><a class="internalDFN" href="#unique-generation">Constraint 24 (unique-generation)</a></div>
 <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>
@@ -4331,7 +3316,7 @@
 </p><hr>
 <p id="unique-invalidation_text">
 
-</p><div class="constraint" id="unique-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#unique-invalidation">Constraint <span class="delete">26</span><span class="insert">25</span> (unique-invalidation)</a></div>
+</p><div class="constraint" id="unique-invalidation"><div class="ruleTitle"><a id="25"></a><a class="internalDFN" href="#unique-invalidation">Constraint 25 (unique-invalidation)</a></div>
 <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>
@@ -4366,18 +3351,18 @@
 That is, an activity may be started by
 several other activities, with shared or separate triggering
 entities.  If an activity is started or ended by multiple events, they must all
-be simultaneous, as specified in <a class="rule-ref" href="#start-start-ordering"><span>Constraint <span class="delete">33</span><span class="insert">31</span> (start-start-ordering)</span></a>
-and <a class="rule-ref" href="#end-end-ordering"><span>Constraint <span class="delete">34</span><span class="insert">32</span> (end-end-ordering)</span></a>.
+be simultaneous, as specified in <a class="rule-ref" href="#start-start-ordering"><span>Constraint 31 (start-start-ordering)</span></a>
+and <a class="rule-ref" href="#end-end-ordering"><span>Constraint 32 (end-end-ordering)</span></a>.
 </p>
 
-<div class="constraint" id="unique-wasStartedBy"><div class="ruleTitle"><a class="internalDFN" href="#unique-wasStartedBy">Constraint <span class="delete">27</span><span class="insert">26</span> (unique-wasStartedBy)</a></div>
+<div class="constraint" id="unique-wasStartedBy"><div class="ruleTitle"><a id="26"></a><a class="internalDFN" href="#unique-wasStartedBy">Constraint 26 (unique-wasStartedBy)</a></div>
 <p>
 <span class="conditional">IF</span> <span class="name">wasStartedBy(start1; a,_e1,a0,_t1,_attrs1)</span> and <span class="name">wasStartedBy(start2; a,_e2,a0,_t2,_attrs2)</span>,  <span class="conditional">THEN</span> <span class="name">start1</span> = <span class="name">start2</span>.</p>
 </div> 
 
 <p id="unique-wasEndedBy_text">
 
-</p><div class="constraint" id="unique-wasEndedBy"><div class="ruleTitle"><a class="internalDFN" href="#unique-wasEndedBy">Constraint <span class="delete">28</span><span class="insert">27</span> (unique-wasEndedBy)</a></div>
+</p><div class="constraint" id="unique-wasEndedBy"><div class="ruleTitle"><a id="27"></a><a class="internalDFN" href="#unique-wasEndedBy">Constraint 27 (unique-wasEndedBy)</a></div>
 <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> 
@@ -4392,7 +3377,7 @@
  <p id="unique-startTime_text">An <a href="#dfn-start-event" class="internalDFN">activity start event</a> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the instant an activity starts. It allows for an optional time attribute.  <span id="optional-start-time">Activities also allow for an optional start time attribute.  If both are specified, they <em class="rfc2119" title="must">must</em> be the same, as expressed by the following constraint.</span>
 </p>
 
-<div class="constraint" id="unique-startTime"><div class="ruleTitle"><a class="internalDFN" href="#unique-startTime">Constraint <span class="delete">29</span><span class="insert">28</span> (unique-startTime)</a></div>
+<div class="constraint" id="unique-startTime"><div class="ruleTitle"><a id="28"></a><a class="internalDFN" href="#unique-startTime">Constraint 28 (unique-startTime)</a></div>
 <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> 
@@ -4402,7 +3387,7 @@
 <p id="unique-endTime_text">An <a href="#dfn-end-event" class="internalDFN">activity end event</a> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the instant an activity ends. It allows for an optional time attribute.  <span id="optional-end-time">Activities also allow for an optional end time attribute.  If both are specified, they <em class="rfc2119" title="must">must</em> be the same, as expressed by the following constraint.</span>
 </p>
 
-<div class="constraint" id="unique-endTime"><div class="ruleTitle"><a class="internalDFN" href="#unique-endTime">Constraint <span class="delete">30</span><span class="insert">29</span> (unique-endTime)</a></div>
+<div class="constraint" id="unique-endTime"><div class="ruleTitle"><a id="29"></a><a class="internalDFN" href="#unique-endTime">Constraint 29 (unique-endTime)</a></div>
 <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> 
@@ -4414,36 +3399,13 @@
 
 
 
-<span class="delete">Note: The following constraint is associated with a feature "</span><span class="delete">at risk</span><span class="delete">" and may be removed from this specification based on feedback. Please send feedback to [email protected]</span>
-
-  
-
-
-<span class="delete">An entity can be the subject of at most one mention relation.</span>
-
-
-
-<span class="delete">Constraint 31 (unique-mention)</span>
-
-<span class="delete">IF</span> <span class="delete">mentionOf(e, e1, b1)</span><span class="delete"> and </span><span class="delete">mentionOf(e, e2, b2)</span><span class="delete">,
-</span><span class="delete">THEN</span>  <span class="delete">e1</span><span class="delete">=</span><span class="delete">e2</span><span class="delete"> and </span><span class="delete">b1</span><span class="delete">=</span><span class="delete">b2</span><span class="delete">.</span>
- 
-
-
-
-
-
-
-
-
-
 
 
 
 </section>  
 
 <section id="event-ordering-constraints">
-<h3><span class="secno"><span class="delete">5.2</span><span class="insert">6.2</span> </span>Event Ordering Constraints</h3>
+<h3><span class="secno">6.2 </span>Event Ordering Constraints</h3>
 
 
 <p>Given that provenance consists of a description of past entities
@@ -4479,7 +3441,7 @@
 <a href="#dfn-transitive" class="internalDFN">transitive</a>.  Moreover, we sometimes consider <em>strict</em> forms of these
 orders: we say <span class="name">e1</span> <dfn id="dfn-strictly-precedes">strictly precedes</dfn> <span class="name">e2</span> to indicate that <span class="name">e1</span>
 happened before <span class="name">e2</span>, but not at the same time.  This is a
-<a href="#dfn-transitive" class="internalDFN">transitive</a><span class="insert">, </span><a href="#dfn-irreflexive" class="internalDFN"><span class="insert">irreflexive</span></a> relation. </p>
+<a href="#dfn-transitive" class="internalDFN">transitive</a>, <a href="#dfn-irreflexive" class="internalDFN">irreflexive</a> relation. </p>
 
 
 <p>PROV also allows for time observations to be inserted in
@@ -4492,7 +3454,7 @@
 implies event ordering, or vice versa.  However, an application <em class="rfc2119" title="may">may</em> flag time values
 that appear inconsistent with the event ordering as possible
 inconsistencies.  When generating provenance, an application <em class="rfc2119" title="should">should</em>
-use a consistent <span class="delete">imeline</span><span class="insert">timeline</span> for related PROV statements within an
+use a consistent timeline for related PROV statements within an
 instance.</p>
 
 
@@ -4516,7 +3478,7 @@
 
 
 <section id="activity-constraints">
-<h4><span class="secno"><span class="delete">5.2.1</span><span class="insert">6.2.1</span> </span>Activity constraints</h4>
+<h4><span class="secno">6.2.1 </span>Activity constraints</h4>
 
 <p>
 This section specifies ordering constraints from the perspective of
@@ -4541,14 +3503,6 @@
 rectangle, or intersecting usage and generation edges).  The ordering
 constraints are represented by triangles: an occurrence of a triangle between two <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> vertical dotted lines represents that the event denoted by the left
 line precedes the event denoted by the right line.</p>
-  <span class="delete"> Miscellaneous suggestions about figures
-  (originally from Tim Lebo):
-</span>
-  <span class="delete">
-    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. </span>
-  
-
-  
 
 
   
@@ -4570,9 +3524,9 @@
 event</a> always <a href="#dfn-precedes" class="internalDFN">precedes</a> the corresponding <a href="#dfn-end-event" class="internalDFN">activity end
 event</a>.  This is illustrated by
 <a href="#ordering-activity" class="fig-ref">Figure 3</a>
-(a) and expressed by <a class="rule-ref" href="#start-precedes-end"><span>Constraint <span class="delete">32</span><span class="insert">30</span> (start-precedes-end)</span></a>.</p>
-
-<div class="constraint" id="start-precedes-end"><div class="ruleTitle"><a class="internalDFN" href="#start-precedes-end">Constraint <span class="delete">32</span><span class="insert">30</span> (start-precedes-end)</a></div>
+(a) and expressed by <a class="rule-ref" href="#start-precedes-end"><span>Constraint 30 (start-precedes-end)</span></a>.</p>
+
+<div class="constraint" id="start-precedes-end"><div class="ruleTitle"><a id="30"></a><a class="internalDFN" href="#start-precedes-end">Constraint 30 (start-precedes-end)</a></div>
 <p>
 <span class="conditional">IF</span>
 <span class="name">wasStartedBy(start; a,_e1,_a1,_t1,_attrs1)</span> 
@@ -4595,7 +3549,7 @@
 other.  Using this constraint in both directions means that each event
 <a href="#dfn-precedes" class="internalDFN">precedes</a> the other.
 </p>
-<div class="constraint" id="start-start-ordering"><div class="ruleTitle"><a class="internalDFN" href="#start-start-ordering">Constraint <span class="delete">33</span><span class="insert">31</span> (start-start-ordering)</a></div>
+<div class="constraint" id="start-start-ordering"><div class="ruleTitle"><a id="31"></a><a class="internalDFN" href="#start-start-ordering">Constraint 31 (start-start-ordering)</a></div>
  <p>
     <span class="conditional">IF</span>
 <span class="name">wasStartedBy(start1; a,_e1,_a1,_t1,_attrs1)</span> 
@@ -4617,7 +3571,7 @@
 other.  Using this constraint in both directions means that each event
 <a href="#dfn-precedes" class="internalDFN">precedes</a> the other, that is, they are simultaneous.
 </p>
-<div class="constraint" id="end-end-ordering"><div class="ruleTitle"><a class="internalDFN" href="#end-end-ordering">Constraint <span class="delete">34</span><span class="insert">32</span> (end-end-ordering)</a></div>
+<div class="constraint" id="end-end-ordering"><div class="ruleTitle"><a id="32"></a><a class="internalDFN" href="#end-end-ordering">Constraint 32 (end-end-ordering)</a></div>
  <p>
     <span class="conditional">IF</span>
 <span class="name">wasEndedBy(end1; a,_e1,_a1,_t1,_attrs1)</span> 
@@ -4633,9 +3587,9 @@
 <hr>
 
 <p id="usage-within-activity_text">A usage implies ordering of <a title="instantaneous event" href="#dfn-event" class="internalDFN">events</a>, since the <a title="entity usage event" href="#dfn-usage-event" class="internalDFN">usage event</a> had to occur during the associated activity. This is
-illustrated by <a href="#ordering-activity" class="fig-ref">Figure 3</a> (b) and  expressed by <a class="rule-ref" href="#usage-within-activity"><span>Constraint <span class="delete">35</span><span class="insert">33</span> (usage-within-activity)</span></a>.</p>
-
-<div class="constraint" id="usage-within-activity"><div class="ruleTitle"><a class="internalDFN" href="#usage-within-activity">Constraint <span class="delete">35</span><span class="insert">33</span> (usage-within-activity)</a></div>
+illustrated by <a href="#ordering-activity" class="fig-ref">Figure 3</a> (b) and  expressed by <a class="rule-ref" href="#usage-within-activity"><span>Constraint 33 (usage-within-activity)</span></a>.</p>
+
+<div class="constraint" id="usage-within-activity"><div class="ruleTitle"><a id="33"></a><a class="internalDFN" href="#usage-within-activity">Constraint 33 (usage-within-activity)</a></div>
 <ol>
     <li>
   <span class="conditional">IF</span>
@@ -4666,9 +3620,9 @@
 
 
 <p id="generation-within-activity_text">A generation implies ordering of <a title="instantaneous event" href="#dfn-event" class="internalDFN">events</a>, since the <a title="entity generation event" href="#dfn-generation-event" class="internalDFN">generation event</a> had to occur during the associated activity. This is
-illustrated by <a href="#ordering-activity" class="fig-ref">Figure 3</a> (c) and  expressed by <a class="rule-ref" href="#generation-within-activity"><span>Constraint <span class="delete">36</span><span class="insert">34</span> (generation-within-activity)</span></a>.</p> 
-
-<div class="constraint" id="generation-within-activity"><div class="ruleTitle"><a class="internalDFN" href="#generation-within-activity">Constraint <span class="delete">36</span><span class="insert">34</span> (generation-within-activity)</a></div>
+illustrated by <a href="#ordering-activity" class="fig-ref">Figure 3</a> (c) and  expressed by <a class="rule-ref" href="#generation-within-activity"><span>Constraint 34 (generation-within-activity)</span></a>.</p> 
+
+<div class="constraint" id="generation-within-activity"><div class="ruleTitle"><a id="34"></a><a class="internalDFN" href="#generation-within-activity">Constraint 34 (generation-within-activity)</a></div>
    <ol>
     <li>
   <span class="conditional">IF</span>
@@ -4705,9 +3659,9 @@
 follow the end event of <span class="name">a2</span>. This is
 illustrated by
 <a href="#ordering-activity" class="fig-ref">Figure 3</a>
-(d) and expressed by <a class="rule-ref" href="#wasInformedBy-ordering"><span>Constraint <span class="delete">37</span><span class="insert">35</span> (wasInformedBy-ordering)</span></a>.</p>
-
-<div class="constraint" id="wasInformedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasInformedBy-ordering">Constraint <span class="delete">37</span><span class="insert">35</span> (wasInformedBy-ordering)</a></div>
+(d) and expressed by <a class="rule-ref" href="#wasInformedBy-ordering"><span>Constraint 35 (wasInformedBy-ordering)</span></a>.</p>
+
+<div class="constraint" id="wasInformedBy-ordering"><div class="ruleTitle"><a id="35"></a><a class="internalDFN" href="#wasInformedBy-ordering">Constraint 35 (wasInformedBy-ordering)</a></div>
 <p>
   <span class="conditional">IF</span>
 <span class="name">wasInformedBy(_id; a2,a1,_attrs)</span> 
@@ -4728,25 +3682,16 @@
 </p></section>
 
 <section id="entity-constraints">
-<h4><span class="secno"><span class="delete">5.2.2</span><span class="insert">6.2.2</span> </span> Entity constraints</h4>
-
-
-
-
-
-
-
-<p><span class="insert">
-As with activities, entities have lifetimes: they are generated, then
-can be used, other entities can be derived from them, and finally they
-can be invalidated. </span>The <span class="delete">figure(s)</span><span class="insert">constraints on these events are
-illustrated graphically</span> in <span class="delete">this section should have vertical lines with visual styles that match the diagonal arrow that they go with. </span>
-
-<span class="delete">
+<h4><span class="secno">6.2.2 </span> Entity constraints</h4>
+
+
+
+
+<p>
 As with activities, entities have lifetimes: they are generated, then
 can be used, other entities can be derived from them, and finally they
 can be invalidated. The constraints on these events are
-illustrated graphically in </span><a href="#ordering-entity" class="fig-ref">Figure 4</a> and
+illustrated graphically in <a href="#ordering-entity" class="fig-ref">Figure 4</a> and
 <a href="#ordering-entity-trigger" class="fig-ref">Figure 5</a>.
 </p>
 
@@ -4769,7 +3714,7 @@
 explicitly here to cover the case of an entity that is generated and
 invalidated without being used.)</p>
 
-<div class="constraint" id="generation-precedes-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#generation-precedes-invalidation">Constraint <span class="delete">38</span><span class="insert">36</span> (generation-precedes-invalidation)</a></div>
+<div class="constraint" id="generation-precedes-invalidation"><div class="ruleTitle"><a id="36"></a><a class="internalDFN" href="#generation-precedes-invalidation">Constraint 36 (generation-precedes-invalidation)</a></div>
 <p>
  <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen; e,_a1,_t1,_attrs1)</span> 
@@ -4790,9 +3735,9 @@
 <p id="generation-precedes-usage_text"> 
 A usage and a generation for a given entity implies ordering of <a title="instantaneous event" href="#dfn-event" class="internalDFN">events</a>, since the <a title="entity generation
 event" href="#dfn-generation-event" class="internalDFN">generation event</a> had to precede the <a title="entity usage event" href="#dfn-usage-event" class="internalDFN">usage event</a>. This is
-illustrated by <a href="#ordering-entity" class="fig-ref">Figure 4</a>(a) and  expressed by <a class="rule-ref" href="#generation-precedes-usage"><span>Constraint <span class="delete">39</span><span class="insert">37</span> (generation-precedes-usage)</span></a>.</p>
-
-<div class="constraint" id="generation-precedes-usage"><div class="ruleTitle"><a class="internalDFN" href="#generation-precedes-usage">Constraint <span class="delete">39</span><span class="insert">37</span> (generation-precedes-usage)</a></div>
+illustrated by <a href="#ordering-entity" class="fig-ref">Figure 4</a>(a) and  expressed by <a class="rule-ref" href="#generation-precedes-usage"><span>Constraint 37 (generation-precedes-usage)</span></a>.</p>
+
+<div class="constraint" id="generation-precedes-usage"><div class="ruleTitle"><a id="37"></a><a class="internalDFN" href="#generation-precedes-usage">Constraint 37 (generation-precedes-usage)</a></div>
 <p>  <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen; e,_a1,_t1,_attrs1)</span> 
 and
@@ -4807,9 +3752,9 @@
 
 <hr>
 
-<p id="usage-precedes-invalidation_text">All usages of an entity precede its invalidation, which is captured by <a class="rule-ref" href="#usage-precedes-invalidation"><span>Constraint <span class="delete">40</span><span class="insert">38</span> (usage-precedes-invalidation)</span></a> (without any explicit graphical representation).</p> 
-
-<div class="constraint" id="usage-precedes-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#usage-precedes-invalidation">Constraint <span class="delete">40</span><span class="insert">38</span> (usage-precedes-invalidation)</a></div>
+<p id="usage-precedes-invalidation_text">All usages of an entity precede its invalidation, which is captured by <a class="rule-ref" href="#usage-precedes-invalidation"><span>Constraint 38 (usage-precedes-invalidation)</span></a> (without any explicit graphical representation).</p> 
+
+<div class="constraint" id="usage-precedes-invalidation"><div class="ruleTitle"><a id="38"></a><a class="internalDFN" href="#usage-precedes-invalidation">Constraint 38 (usage-precedes-invalidation)</a></div>
 <p>
 <span class="conditional">IF</span>
 <span class="name">used(use; _a1,e,_t1,_attrs1)</span> 
@@ -4822,8 +3767,6 @@
 </div>
 
 
-
-
 <hr>
 
 <p id="generation-generation-ordering_text">
@@ -4833,7 +3776,7 @@
 other.  Using this constraint in both directions means that each event
 <a href="#dfn-precedes" class="internalDFN">precedes</a> the other.
 </p>
-<div class="constraint" id="generation-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#generation-generation-ordering">Constraint <span class="delete">41</span><span class="insert">39</span> (generation-generation-ordering)</a></div>
+<div class="constraint" id="generation-generation-ordering"><div class="ruleTitle"><a id="39"></a><a class="internalDFN" href="#generation-generation-ordering">Constraint 39 (generation-generation-ordering)</a></div>
  <p>
     <span class="conditional">IF</span>
 <span class="name">wasGeneratedBy(gen1; e,_a1,_t1,_attrs1)</span> 
@@ -4855,7 +3798,7 @@
 other.  Using this constraint in both directions means that each event
 <a href="#dfn-precedes" class="internalDFN">precedes</a> the other, that is, they are simultaneous.
 </p>
-<div class="constraint" id="invalidation-invalidation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-invalidation-ordering">Constraint <span class="delete">42</span><span class="insert">40</span> (invalidation-invalidation-ordering)</a></div>
+<div class="constraint" id="invalidation-invalidation-ordering"><div class="ruleTitle"><a id="40"></a><a class="internalDFN" href="#invalidation-invalidation-ordering">Constraint 40 (invalidation-invalidation-ordering)</a></div>
  <p>
     <span class="conditional">IF</span>
 <span class="name">wasInvalidatedBy(inv1; e,_a1,_t1,_attrs1)</span> 
@@ -4876,10 +3819,10 @@
 First, we consider derivations, where the activity and usage are known. In that case, the <a title="entity usage event" href="#dfn-usage-event" class="internalDFN">usage</a> of <span class="name">e1</span> has to precede the <a title="entity generation
 event" href="#dfn-generation-event" class="internalDFN">generation</a> of <span class="name">e2</span>.
 This is
-illustrated by <a href="#ordering-entity-fig">Figure 4</a> (b) and  expressed by  <a class="rule-ref" href="#derivation-usage-generation-ordering"><span>Constraint <span class="delete">43</span><span class="insert">41</span> (derivation-usage-generation-ordering)</span></a>.</p>
-
-
-<div class="constraint" id="derivation-usage-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#derivation-usage-generation-ordering">Constraint <span class="delete">43</span><span class="insert">41</span> (derivation-usage-generation-ordering)</a></div>
+illustrated by <a href="#ordering-entity-fig">Figure 4</a> (b) and  expressed by  <a class="rule-ref" href="#derivation-usage-generation-ordering"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a>.</p>
+
+
+<div class="constraint" id="derivation-usage-generation-ordering"><div class="ruleTitle"><a id="41"></a><a class="internalDFN" href="#derivation-usage-generation-ordering">Constraint 41 (derivation-usage-generation-ordering)</a></div>
   <p>
   In this constraint, <span class="name">_a</span>, <span class="name">gen2</span>, <span class="name">use1</span> <em class="rfc2119" title="must not">must not</em> be placeholders.</p>
 <p>
@@ -4897,11 +3840,11 @@
 <p id="derivation-generation-generation-ordering_text">
 When the activity, generation or usage is unknown, a similar constraint exists, except that the constraint refers to its
 generation event, as
-illustrated by <a href="#ordering-entity-fig">Figure 4</a> (c) and  expressed by <a class="rule-ref" href="#derivation-generation-generation-ordering"><span>Constraint <span class="delete">44</span><span class="insert">42</span> (derivation-generation-generation-ordering)</span></a>.</p>
-
-<div class="constraint" id="derivation-generation-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#derivation-generation-generation-ordering">Constraint <span class="delete">44</span><span class="insert">42</span> (derivation-generation-generation-ordering)</a></div>
+illustrated by <a href="#ordering-entity-fig">Figure 4</a> (c) and  expressed by <a class="rule-ref" href="#derivation-generation-generation-ordering"><span>Constraint 42 (derivation-generation-generation-ordering)</span></a>.</p>
+
+<div class="constraint" id="derivation-generation-generation-ordering"><div class="ruleTitle"><a id="42"></a><a class="internalDFN" href="#derivation-generation-generation-ordering">Constraint 42 (derivation-generation-generation-ordering)</a></div>
   <p>
-In this constraint, any<span class="insert"> of</span> <span class="name">_a</span>, <span class="name">_g</span>, <span class="name">_u</span> <em class="rfc2119" title="may">may</em> be placeholders.</p>
+In this constraint, any of <span class="name">_a</span>, <span class="name">_g</span>, <span class="name">_u</span> <em class="rfc2119" title="may">may</em> be placeholders.</p>
 <p>
  <span class="conditional">IF</span>
 <span class="name">wasDerivedFrom(_d; e2,e1,_a,_g,_u,attrs)</span>
@@ -4935,10 +3878,10 @@
 <p id="wasStartedBy-ordering_text">
 The entity that triggered the start of an activity must exist before the activity starts.
 This is
-illustrated by <a href="#ordering-entity-trigger" class="fig-ref">Figure 5</a>(a) and  expressed by <a class="rule-ref" href="#wasStartedBy-ordering"><span>Constraint <span class="delete">45</span><span class="insert">43</span> (wasStartedBy-ordering)</span></a>.</p>
-
-
-<div class="constraint" id="wasStartedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasStartedBy-ordering">Constraint <span class="delete">45</span><span class="insert">43</span> (wasStartedBy-ordering)</a></div>
+illustrated by <a href="#ordering-entity-trigger" class="fig-ref">Figure 5</a>(a) and  expressed by <a class="rule-ref" href="#wasStartedBy-ordering"><span>Constraint 43 (wasStartedBy-ordering)</span></a>.</p>
+
+
+<div class="constraint" id="wasStartedBy-ordering"><div class="ruleTitle"><a id="43"></a><a class="internalDFN" href="#wasStartedBy-ordering">Constraint 43 (wasStartedBy-ordering)</a></div>
  <ol>
     <li>
     <span class="conditional">IF</span>
@@ -4970,7 +3913,7 @@
 <a href="#ordering-entity-trigger" class="fig-ref">Figure 5</a>(b).</p>
 
 
-<div class="constraint" id="wasEndedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasEndedBy-ordering">Constraint <span class="delete">46</span><span class="insert">44</span> (wasEndedBy-ordering)</a></div>
+<div class="constraint" id="wasEndedBy-ordering"><div class="ruleTitle"><a id="44"></a><a class="internalDFN" href="#wasEndedBy-ordering">Constraint 44 (wasEndedBy-ordering)</a></div>
  <ol>
       <li>
     <span class="conditional">IF</span>
@@ -5008,7 +3951,7 @@
 specific entity must have been generated after the
 less specific entity was generated.
 </p>
-<div class="constraint" id="specialization-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#specialization-generation-ordering">Constraint <span class="delete">47</span><span class="insert">45</span> (specialization-generation-ordering)</a></div>
+<div class="constraint" id="specialization-generation-ordering"><div class="ruleTitle"><a id="45"></a><a class="internalDFN" href="#specialization-generation-ordering">Constraint 45 (specialization-generation-ordering)</a></div>
   <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>
@@ -5023,7 +3966,7 @@
 then
 the invalidation event of the more specific entity precedes that of
 the less specific entity.
-</p><div class="constraint" id="specialization-invalidation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#specialization-invalidation-ordering">Constraint <span class="delete">48</span><span class="insert">46</span> (specialization-invalidation-ordering)</a></div>
+</p><div class="constraint" id="specialization-invalidation-ordering"><div class="ruleTitle"><a id="46"></a><a class="internalDFN" href="#specialization-invalidation-ordering">Constraint 46 (specialization-invalidation-ordering)</a></div>
   <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 
@@ -5035,7 +3978,7 @@
 </section>
 
 <section id="agent-constraints">
-<h4><span class="secno"><span class="delete">5.2.3</span><span class="insert">6.2.3</span> </span> Agent constraints</h4>
+<h4><span class="secno">6.2.3 </span> Agent constraints</h4>
 
 <p> Like entities and activities, agents have lifetimes that follow a
 familiar pattern.  An agent that is also an entity can be generated
@@ -5062,11 +4005,11 @@
 associated with an agent must have some overlap with the agent. The
 agent <em class="rfc2119" title="must">must</em> have been generated (or started), or <em class="rfc2119" title="must">must</em> have become
 associated with the activity, after the activity start: so, the agent <em class="rfc2119" title="must">must</em> exist before the activity end. Likewise, the agent may be destructed (or ended), or may terminate its association with the activity, before the activity end: hence, the agent invalidation (or end) is required to happen after the activity start.
-This is illustrated by <a href="#ordering-agents">Figure 6</a> (a) and  expressed by <a class="rule-ref" href="#wasAssociatedWith-ordering"><span>Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</span></a>.</p>
-
-
-
-<div class="constraint" id="wasAssociatedWith-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasAssociatedWith-ordering">Constraint <span class="delete">49</span><span class="insert">47</span> (wasAssociatedWith-ordering)</a></div>
+This is illustrated by <a href="#ordering-agents">Figure 6</a> (a) and  expressed by <a class="rule-ref" href="#wasAssociatedWith-ordering"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a>.</p>
+
+
+
+<div class="constraint" id="wasAssociatedWith-ordering"><div class="ruleTitle"><a id="47"></a><a class="internalDFN" href="#wasAssociatedWith-ordering">Constraint 47 (wasAssociatedWith-ordering)</a></div>
   <p>
 In the following inferences, <span class="name">_pl</span> <em class="rfc2119" title="may">may</em> be
  a placeholder <span class="name">-</span>.
@@ -5119,18 +4062,28 @@
 </div>
 
 
+
+
+<div class="remark"> <p><span class="insert"> Case 3 of the above constraint says that the
+agent </span><span class="name"><span class="insert">ag</span></span><span class="insert"> 
+must have ended after the start of the activity </span><span class="name"><span class="insert">a</span></span><span class="insert">,
+ensuring some overlap between the two.   Since </span><span class="name"><span class="insert">ag</span></span><span class="insert"> is the subject of a
+</span><span class="name"><span class="insert">wasEndedBy</span></span><span class="insert"> statement, it is an activity according to the </span><a href="#typing"><span class="insert">typing constraints</span></a><span class="insert">.  Case 4 handles the symmetric
+  case, ensuring that the start of an agent-activity precedes the
+  start of an associated activity. </span></p> </div>
+
 <p>
 
 </p><hr>
 
 <p id="wasAttributedTo-ordering_text">An agent to which an entity was attributed, <em class="rfc2119" title="must">must</em> exist before this entity was generated.
 This is
-illustrated by <a href="#ordering-agents">Figure 6</a> (b) and  expressed by  <a class="rule-ref" href="#wasAttributedTo-ordering"><span>Constraint <span class="delete">50</span><span class="insert">48</span> (wasAttributedTo-ordering)</span></a>.</p>
+illustrated by <a href="#ordering-agents">Figure 6</a> (b) and  expressed by  <a class="rule-ref" href="#wasAttributedTo-ordering"><span>Constraint 48 (wasAttributedTo-ordering)</span></a>.</p>
 
 
 
  
-<div class="constraint" id="wasAttributedTo-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasAttributedTo-ordering">Constraint <span class="delete">50</span><span class="insert">48</span> (wasAttributedTo-ordering)</a></div>
+<div class="constraint" id="wasAttributedTo-ordering"><div class="ruleTitle"><a id="48"></a><a class="internalDFN" href="#wasAttributedTo-ordering">Constraint 48 (wasAttributedTo-ordering)</a></div>
       <ol> <li>
     <span class="conditional">IF</span>
 <span class="name">wasAttributedTo(_at; e,ag,_attrs)</span> 
@@ -5160,10 +4113,10 @@
 <p>
 </p><hr>
 
-<p id="actedOnBehalfOf-ordering_text">For delegation, <span class="delete">two agents need</span><span class="insert">the responsible agent has</span> to <span class="insert">precede or </span>have some overlap <span class="delete">in their lifetime.</span><span class="insert">with the subordinate agent.</span></p>
-
-
-<div class="constraint" id="actedOnBehalfOf-ordering"><div class="ruleTitle"><a class="internalDFN" href="#actedOnBehalfOf-ordering">Constraint <span class="delete">51</span><span class="insert">49</span> (actedOnBehalfOf-ordering)</a></div>
+<p id="actedOnBehalfOf-ordering_text">For delegation, the responsible agent has to precede or have some overlap with the subordinate agent.</p>
+
+
+<div class="constraint" id="actedOnBehalfOf-ordering"><div class="ruleTitle"><a id="49"></a><a class="internalDFN" href="#actedOnBehalfOf-ordering">Constraint 49 (actedOnBehalfOf-ordering)</a></div>
  <ol> <li>
 	 <span class="conditional">IF</span>
 <span class="name">actedOnBehalfOf(_del; ag2,ag1,_a,_attrs)</span> 
@@ -5198,17 +4151,16 @@
 
 
 <section id="type-constraints">
-<h3><span class="secno"><span class="delete">5.3</span><span class="insert">6.3</span> </span>Type Constraints</h3>
-
-<p id="typing_text">The following <span class="delete">rule  establishes</span><span class="insert">rules assign</span> types <span class="delete">denoted by</span><span class="insert">to</span> identifiers<span class="delete"> from</span><span class="insert">
-based on</span> their use within <span class="delete">expressions.</span><span class="insert">statements.</span> 
+<h3><span class="secno">6.3 </span>Type Constraints</h3>
+
+<p id="typing_text">The following rules assign types to identifiers
+based on their use within statements. 
 The function <span class="name">typeOf</span> gives the set of types denoted by an identifier.
-That is,  <span class="name">typeOf(e)</span> returns the set of types 
-associated with identifier  <span class="name">e</span>. The function 
-<span class="name">typeOf</span> is not a <span class="delete">term of</span><span class="insert">PROV statement, but a
-construct used only during validation</span> PROV, <span class="delete">but a construct introduced</span><span class="insert">similar</span> to <span class="delete">validate PROV statements. 
-</span><a href="#dfn-precedes" class="internalDFN"><span class="insert">precedes</span></a><span class="insert">.
-</span></p>
+That is,  <span class="name">typeOf(e)</span> returns the set of types
+associated with identifier  <span class="name">e</span>. The function
+<span class="name">typeOf</span> is not a PROV statement, but a
+construct used only during validation PROV, similar to <a href="#dfn-precedes" class="internalDFN">precedes</a>.
+</p>
 
 
 
@@ -5220,18 +4172,18 @@
  (e.g. <span class="name">'prov:EmptyCollection'</span> is a subtype of <span class="name">'prov:Collection'</span>) or because certain types are not
  disjoint (such as <span class="name">'agent'</span> and <span class="name">'entity'</span>). The set of types
  does not reflect all of the distinctions among objects, only those
- relevant for checking validity.  In particular, <span class="delete">subtypes</span><span class="insert">a subtype</span> such as <span class="name">'plan'</span> <span class="delete">and </span><span class="delete">'bundle'</span><span class="delete"> are</span><span class="insert">is</span> omitted, and statements such as <span class="name">wasAssociatedWith</span> <span class="delete">and </span><span class="delete">mentionOf</span> that have plan<span class="delete"> or bundle</span> parameters only check that these parameters are entities.
+ relevant for checking validity.  In particular, a subtype such as <span class="name">'plan'</span> is omitted, and statements such as <span class="name">wasAssociatedWith</span> that have plan parameters only check that these parameters are entities.
 </p>
 
 <p>To check if a PROV instance satisfies type constraints, one obtains the types of identifiers by application of
-<a class="rule-ref" href="#typing"><span>Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</span></a>
+<a class="rule-ref" href="#typing"><span>Constraint 50 (typing)</span></a>
 and check that none of the impossibility constraints 
-<a class="rule-ref" href="#entity-activity-disjoint"><span>Constraint <span class="delete">57</span><span class="insert">55</span> (entity-activity-disjoint)</span></a> and
-<a class="rule-ref" href="#membership-empty-collection"><span>Constraint <span class="delete">58</span><span class="insert">56</span> (membership-empty-collection)</span></a> are
+<a class="rule-ref" href="#entity-activity-disjoint"><span>Constraint 55 (entity-activity-disjoint)</span></a> and
+<a class="rule-ref" href="#membership-empty-collection"><span>Constraint 56 (membership-empty-collection)</span></a> are
   violated as a result.</p>
 
 
-<div class="constraint" id="typing"><div class="ruleTitle"><a class="internalDFN" href="#typing">Constraint <span class="delete">52</span><span class="insert">50</span> (typing)</a></div>
+<div class="constraint" id="typing"><div class="ruleTitle"><a id="50"></a><a class="internalDFN" href="#typing">Constraint 50 (typing)</a></div>
 
 
 <ol>
@@ -5247,7 +4199,7 @@
 <span class="name">'agent' ∈ typeOf(ag)</span>.
 </li><li>
 <span class="conditional">IF</span> 
-   <span class="name"><span class="delete">activity(a,attrs)</span><span class="insert">activity(a,t1,t2,attrs)</span></span>  
+   <span class="name">activity(a,t1,t2,attrs)</span>  
 <span class="conditional">THEN</span> 
 <span class="name">'activity' ∈ typeOf(a)</span>.
 
@@ -5380,37 +4332,22 @@
 
 
 
-
-
-
 </li><li>
 
-
 <span class="conditional">IF</span> 
-   <span class="name"><span class="delete">mentionOf(e2,e1,b)</span><span class="insert">hadMember(c,e)</span></span>  
+   <span class="name">hadMember(c,e)</span>  
 <span class="conditional">THEN</span> 
-<span class="name"><span class="insert">'prov:Collection' ∈ typeOf(c)</span></span><span class="insert"> AND
-</span><span class="name">'entity' ∈ <span class="delete">typeOf(e2)</span><span class="insert">typeOf(c)</span></span> AND
-<span class="name">'entity' ∈ <span class="delete">typeOf(e1)</span><span class="delete"> AND
-</span><span class="delete">'entity' ∈ typeOf(b)</span><span class="insert">typeOf(e)</span></span>.
+<span class="name">'prov:Collection' ∈ typeOf(c)</span> AND
+<span class="name">'entity' ∈ typeOf(c)</span> AND
+<span class="name">'entity' ∈ typeOf(e)</span>.
 
 
 </li><li>
 
 <span class="conditional">IF</span> 
-   <span class="name"><span class="delete">hadMember(c,e)</span><span class="insert">entity(c,[prov:type='prov:EmptyCollection'])</span></span>  
+   <span class="name">entity(c,[prov:type='prov:EmptyCollection'])</span>  
 <span class="conditional">THEN</span> 
-<span class="name"><span class="delete">'prov:Collection' ∈ typeOf(c)</span><span class="delete"> AND
-</span><span class="delete">'entity' ∈ typeOf(c)</span><span class="delete"> AND
-</span><span class="delete">'entity' ∈ typeOf(e)</span><span class="delete">.
-
-
-</span>
-
-<span class="delete">IF</span> 
-   <span class="delete">entity(c,[prov:type='prov:EmptyCollection'])</span>  
-<span class="delete">THEN</span> 
-'entity' ∈ typeOf(c)</span>  AND
+<span class="name">'entity' ∈ typeOf(c)</span>  AND
 <span class="name">'prov:Collection' ∈ typeOf(c)</span> AND
 <span class="name">'prov:EmptyCollection' ∈ typeOf(c)</span>.
 
@@ -5420,7 +4357,7 @@
 </section> 
 
 <section id="impossibility-constraints">
-<h3><span class="secno"><span class="delete">5.4</span><span class="insert">6.4</span> </span>Impossibility constraints</h3>
+<h3><span class="secno">6.4 </span>Impossibility constraints</h3>
 
 <p> Impossibility constraints require that certain patterns of
 statements never appear in <a href="#dfn-valid" class="internalDFN">valid</a> PROV instances.  Impossibility
@@ -5445,7 +4382,7 @@
     are unspecified.  It is forbidden to specify a generation or use
     event without specifying the activity.</p>
 
-        <div class="constraint" id="impossible-unspecified-derivation-generation-use"><div class="ruleTitle"><a class="internalDFN" href="#impossible-unspecified-derivation-generation-use">Constraint <span class="delete">53</span><span class="insert">51</span> (impossible-unspecified-derivation-generation-use)</a></div>
+        <div class="constraint" id="impossible-unspecified-derivation-generation-use"><div class="ruleTitle"><a id="51"></a><a class="internalDFN" href="#impossible-unspecified-derivation-generation-use">Constraint 51 (impossible-unspecified-derivation-generation-use)</a></div>
 <p> In the following rules, <span class="name">g</span> and <span class="name">u</span> <em class="rfc2119" title="must not">must not</em> be <span class="name">-</span>.</p>
 	  <ol>
   <li> <span class="conditional">IF</span>
@@ -5464,7 +4401,7 @@
     <a href="#dfn-strict-partial-order" class="internalDFN">strict partial order</a>: it is <a href="#dfn-irreflexive" class="internalDFN">irreflexive</a> and
     <a href="#dfn-transitive" class="internalDFN">transitive</a>.</p>
 
-        <div class="constraint" id="impossible-specialization-reflexive"><div class="ruleTitle"><a class="internalDFN" href="#impossible-specialization-reflexive">Constraint <span class="delete">54</span><span class="insert">52</span> (impossible-specialization-reflexive)</a></div>
+        <div class="constraint" id="impossible-specialization-reflexive"><div class="ruleTitle"><a id="52"></a><a class="internalDFN" href="#impossible-specialization-reflexive">Constraint 52 (impossible-specialization-reflexive)</a></div>
 
 	  <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>
@@ -5479,7 +4416,7 @@
    <p id="impossible-property-overlap_text"> Furthermore,  identifiers
    of basic relationships are disjoint.
   </p>
-  <div class="constraint" id="impossible-property-overlap"><div class="ruleTitle"><a class="internalDFN" href="#impossible-property-overlap">Constraint <span class="delete">55</span><span class="insert">53</span> (impossible-property-overlap)</a></div>
+  <div class="constraint" id="impossible-property-overlap"><div class="ruleTitle"><a id="53"></a><a class="internalDFN" href="#impossible-property-overlap">Constraint 53 (impossible-property-overlap)</a></div>
   <p>
 For each <span class="name">r</span> and <span class="name">s</span>
    in { 
@@ -5524,7 +4461,7 @@
    <p id="impossible-object-property-overlap_text"> Identifiers of entities,
   agents and activities cannot also be identifiers of properties.
   </p>
-  <div class="constraint" id="impossible-object-property-overlap"><div class="ruleTitle"><a class="internalDFN" href="#impossible-object-property-overlap">Constraint <span class="delete">56</span><span class="insert">54</span> (impossible-object-property-overlap)</a></div>
+  <div class="constraint" id="impossible-object-property-overlap"><div class="ruleTitle"><a id="54"></a><a class="internalDFN" href="#impossible-object-property-overlap">Constraint 54 (impossible-object-property-overlap)</a></div>
   <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 { 
@@ -5541,7 +4478,7 @@
 <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><span class="delete">n</span><span class="insert">m</span></sub>)</span> and
+<p>    <span class="conditional">IF</span> <span class="name">p(id,a<sub>1</sub>,...,a<sub>m</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>
@@ -5553,7 +4490,7 @@
    <p id="entity-activity-disjoint_text">   The set of entities and activities are disjoint, expressed by 
   the following constraint:
   </p>
-  <div class="constraint" id="entity-activity-disjoint"><div class="ruleTitle"><a class="internalDFN" href="#entity-activity-disjoint">Constraint <span class="delete">57</span><span class="insert">55</span> (entity-activity-disjoint)</a></div>
+  <div class="constraint" id="entity-activity-disjoint"><div class="ruleTitle"><a id="55"></a><a class="internalDFN" href="#entity-activity-disjoint">Constraint 55 (entity-activity-disjoint)</a></div>
 
     
 <p>
@@ -5568,7 +4505,7 @@
 	  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>Constraint <span class="delete">57</span><span class="insert">55</span> (entity-activity-disjoint)</span></a>.
+ 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>Constraint 55 (entity-activity-disjoint)</span></a>.
   </div>
 
 
@@ -5576,9 +4513,9 @@
    <p id="membership-empty-collection_text"> An empty collection cannot contain any member, expressed by
   the following constraint:
   </p>
-  <div class="constraint" id="membership-empty-collection"><div class="ruleTitle"><a class="internalDFN" href="#membership-empty-collection">Constraint <span class="delete">58</span><span class="insert">56</span> (membership-empty-collection)</a></div>
+  <div class="constraint" id="membership-empty-collection"><div class="ruleTitle"><a id="56"></a><a class="internalDFN" href="#membership-empty-collection">Constraint 56 (membership-empty-collection)</a></div>
 <p> <span class="conditional">IF</span> 
- <span class="name">hasMember(c,e)</span> and
+ <span class="name"><span class="delete">hasMember(c,e)</span><span class="insert">hadMember(c,e)</span></span> and
 <span class="name">'prov:EmptyCollection' ∈ typeOf(c)</span>
 <span class="conditional">THEN</span> <span class="conditional">INVALID</span>.</p>
   </div>
@@ -5591,7 +4528,7 @@
 </section> 
 
   <section id="normalization-validity-equivalence">
-<h2><span class="secno"><span class="delete">6.</span><span class="insert">7.</span> </span>Normalization, Validity, and Equivalence</h2>
+<h2><span class="secno">7. </span>Normalization, Validity, and Equivalence</h2>
 
 
   <p>We define the notions of <a title="normal form" href="#dfn-normal-form" class="internalDFN">normalization</a>, <a title="valid" href="#dfn-valid" class="internalDFN">validity</a> and
@@ -5599,12 +4536,12 @@
 for PROV instances and then extend them to PROV documents.</p>
 
 <section id="instances">
-  <h3><span class="secno"><span class="delete">6.1</span><span class="insert">7.1</span> </span>Instances</h3>
+  <h3><span class="secno">7.1 </span>Instances</h3>
   
 <div class="remark">
-  <span class="delete">Implementations</span><span class="insert">Before normalization or validation, implementations</span> should <span class="delete">decide up front what</span><span class="insert">expand
-  namespace prefixes and  perform any appropriate</span> reasoning about
-  co-reference <span class="delete">should be applied,</span><span class="insert">of identifiers,</span> and rewrite the instance (by
+  Before normalization or validation, implementations should expand
+  namespace prefixes and  perform any appropriate reasoning about
+  co-reference of identifiers, 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.
@@ -5616,7 +4553,7 @@
 
 <p> We define the <dfn id="dfn-normal-form">normal form</dfn> of a PROV instance as the set
 of provenance statements resulting from applying all definitions,
-  inferences, and uniqueness <span class="delete">constraints.</span><span class="insert">constraints, obtained as follows:</span></p>
+  inferences, and uniqueness constraints, obtained as follows:</p>
 
 
 
@@ -5633,7 +4570,7 @@
     variables), yielding an instance <span class="math">I<sub>2</sub></span>.
     </li>
   <li>
-    Apply all uniqueness constraints to <span class="math">I<sub>2</sub></span> by <span class="insert">unifying terms or </span>merging<span class="delete"> terms or</span> statements
+    Apply all uniqueness constraints to <span class="math">I<sub>2</sub></span> by unifying terms or merging statements
     and applying the resulting substitution to the instance, yielding
     an instance <span class="math">I<sub>3</sub></span>.  If some uniqueness constraint cannot be
     applied, then normalization fails.
@@ -5641,34 +4578,32 @@
     <li>If no definitions, inferences, or uniqueness constraints can be applied to instance <span class="math">I<sub>3</sub></span>, then <span class="math">I<sub>3</sub></span> is the
     normal form of <span class="math">I</span>.</li>
     <li>Otherwise, the normal form of <span class="math">I</span> is the same as the normal form
-    of <span class="math">I<sub>3</sub></span> (that is, proceed by<span class="delete"> recursively </span>
-    normalizing <span class="math">I<sub>3</sub></span><span class="delete">).</span><span class="insert"> at step 1).</span>
+    of <span class="math">I<sub>3</sub></span> (that is, proceed by
+    normalizing <span class="math">I<sub>3</sub></span> at step 1).
  </li></ol>
  
 <p>Because of the potential interaction among definitions, inferences, and
-  constraints, the above algorithm is <span class="delete">recursive.</span><span class="insert">iterative.</span>  Nevertheless,
+  constraints, the above algorithm is iterative.  Nevertheless,
   all of our constraints fall into a class of <a>tuple-generating
   dependencies</a> and <a>equality-generating dependencies</a> that
   satisfy a termination condition called <a>weak acyclicity</a> that
   has been studied in the context of relational databases
   [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].  Therefore, the above algorithm terminates, independently
   of the order in which inferences and constraints are applied.
-  <a href="#termination">Appendix <span class="delete">C</span><span class="insert">A</span></a> gives a proof that normalization terminates and produces
+  <a href="#termination">Appendix A</a> gives a proof that normalization terminates and produces
   a unique (up to isomorphism) normal form.
 </p>
   
  <p>
  A PROV instance is <dfn id="dfn-valid">valid</dfn>
-if its normal form exists and <span class="delete">satisfies </span>all of
-  the validity <span class="delete">constraints; this implies that the instance satisfies
-  all of the definitions, inferences, and constraints.  
-  </span><span class="insert">constraints succeed on the normal form.
-  </span>The following algorithm can be used to test
+if its normal form exists and all of
+  the validity constraints succeed on the normal form.
+  The following algorithm can be used to test
   validity:</p>
 
 <ol>
-  <li>Normalize the instance <span class="math">I</span>, obtaining<span class="delete"> normalized instance</span><span class="insert">
-  normal form</span> <span class="math">I'</span>.  If
+  <li>Normalize the instance <span class="math">I</span>, obtaining
+  normal form <span class="math">I'</span>.  If
   normalization fails, then <span class="math">I</span> is not <a href="#dfn-valid" class="internalDFN">valid</a>.
   </li>
   <li>Apply all event ordering constraints to <span class="math">I'</span> to build a graph <span class="math">G</span> whose nodes
@@ -5684,38 +4619,34 @@
   </li><li>
   Check that none of the impossibility constraints <a href="#impossibility-constraints">(section 5.4)</a>  are
   violated.  If any are violated, then <span class="math">I</span> is
-  not <a href="#dfn-valid" class="internalDFN">valid</a>.  Otherwise, <span class="math">I</span> is <a href="#dfn-valid" class="internalDFN">valid</a><span class="insert">.</span>
+  not <a href="#dfn-valid" class="internalDFN">valid</a>.  Otherwise, <span class="math">I</span> is <a href="#dfn-valid" class="internalDFN">valid</a>.
   </li>
   </ol>
 
-<p>A normal form of a PROV instance does not exist when a uniqueness 
-  constraint fails due to <span class="insert">unification or </span>merging failure. </p>
-
-
-  
-
-
-
-<p>  Two <a href="#dfn-valid" class="internalDFN"><span class="insert">valid</span></a> PROV instances are <dfn id="dfn-equivalent">equivalent</dfn> if they 
-  have <a href="#dfn-isomorphic" class="internalDFN">isomorphic</a> normal <span class="delete">forms (that</span><span class="insert">forms.  That</span> is, after applying all possible inference
+<p>A normal form of a PROV instance does not exist when a uniqueness
+  constraint fails due to unification or merging failure. </p>
+
+
+
+<p>  Two <a href="#dfn-valid" class="internalDFN">valid</a> PROV instances are <dfn id="dfn-equivalent">equivalent</dfn> if they
+  have <a href="#dfn-isomorphic" class="internalDFN">isomorphic</a> normal forms.  That is, after applying all possible inference
 rules, the two instances produce the same set of PROV statements,
 up to reordering of statements and attributes within attribute lists,
-  and renaming of existential <span class="delete">variables).
-</span><span class="insert">variables.  
-</span></p>
-  <p>Equivalence <span class="insert">can also be checked over pairs of PROV instances that
+  and renaming of existential variables.  
+</p>
+  <p>Equivalence can also be checked over pairs of PROV instances that
   are not necessarily valid, subject to the following rules:
-  </span></p><ul>
-    <li><span class="insert">If both are valid, then equivalence is
-  defined above.</span></li>
-    <li><span class="insert">If both are invalid, then equivalence can be
-  implemented in any way provided it is </span><a href="#dfn-reflexive" class="internalDFN"><span class="insert">reflexive</span></a><span class="insert">, </span><a href="#dfn-symmetric" class="internalDFN"><span class="insert">symmetric</span></a><span class="insert">, and </span><a href="#dfn-transitive" class="internalDFN"><span class="insert">transitive</span></a><span class="insert">.
-  </span></li>
-  <li><span class="insert">If one instance is valid and the other is invalid, then the two
-  instances are not equivalent.</span></li>
+  </p><ul>
+    <li>If both are valid, then equivalence is
+  defined above.</li>
+    <li>If both are invalid, then equivalence can be
+  implemented in any way provided it is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-symmetric" class="internalDFN">symmetric</a>, and <a href="#dfn-transitive" class="internalDFN">transitive</a>.
+  </li>
+  <li>If one instance is valid and the other is invalid, then the two
+  instances are not equivalent.</li>
   </ul>
-  <p><span class="insert">
-Equivalence </span>has the following <span class="delete">characteristics:</span><span class="insert">characteristics over valid instances:</span> </p>
+  <p>
+Equivalence has the following characteristics over valid instances: </p>
 
 <ul>
   <li>
@@ -5739,80 +4670,71 @@
   <li>
   Applying inference rules, definitions, and uniqueness constraints preserves equivalence.  That is, a <a href="#instance" class="internalDFN">PROV
   instance</a> is equivalent to the instance obtained by applying any
-  inference rule or definition, or by <a title="unification"><span class="insert">unifying</span></a><span class="insert"> two terms or</span> <a href="#dfn-merging" class="internalDFN">merging</a> two statements to
+  inference rule or definition, or by <a title="unification">unifying</a> two terms or <a href="#dfn-merging" class="internalDFN">merging</a> two statements to
   enforce a uniqueness constraint.
   </li>
-  <li>Equivalence is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-symmetric" class="internalDFN">symmetric</a>, and 
-  <a href="#dfn-transitive" class="internalDFN">transitive</a>.<span class="insert">  (This is because a valid instance has a unique
-  normal form up to isomorphism [</span><cite><a class="bibref" href="#bib-DBCONSTRAINTS"><span class="insert">DBCONSTRAINTS</span></a></cite><span class="insert">]). </span></li>
+  <li>Equivalence is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-symmetric" class="internalDFN">symmetric</a>, and
+  <a href="#dfn-transitive" class="internalDFN">transitive</a>.  (This is because a valid instance has a unique
+  normal form up to isomorphism [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>]). </li>
 </ul>
 
 <p> An application that processes PROV data <em class="rfc2119" title="should">should</em> handle
-equivalent instances in the same way.<span class="delete"> (Common</span><span class="insert">  This guideline is necessarily
+equivalent instances in the same way.  This guideline is necessarily
 imprecise because "in the same way" is application-specific.
-Common</span> exceptions to this <span class="delete">rule</span><span class="insert">guideline</span>
-include, for example, <span class="delete">pretty-printers</span><span class="insert">applications</span> that <span class="delete">seek to preserve the
-original</span><span class="insert">pretty-print or digitally sign
-provenance, where the</span> order <span class="insert">and syntactic form </span>of statements <span class="delete">in a file and avoid expanding
-inferences.)</span><span class="insert">matters.</span>  </p>
+Common exceptions to this guideline
+include, for example, applications that pretty-print or digitally sign
+provenance, where the order and syntactic form of statements matters.  </p>
 
 </section>
 
 <section id="bundle-constraints">
-<h3><span class="secno"><span class="delete">6.2</span><span class="insert">7.2</span> </span>Bundles and Documents</h3>
+<h3><span class="secno">7.2 </span>Bundles and Documents</h3>
 
 
 <p>The definitions, inferences, and constraints, and
 the resulting notions of normalization, validity and equivalence,
-<span class="delete">assume</span><span class="insert">work on</span> a <span class="insert">single </span>PROV <span class="delete">document that consists only of a </span><span class="delete">toplevel
-instance</span><span class="delete">, containing all PROV statements in the top level of the
-document (that is, not enclosed in a named </span><span class="delete">bundle</span><span class="delete">).</span><span class="insert">instance.</span>  In this
+work on a single PROV instance.  In this
 section, we describe how to deal with general PROV
-documents, possibly including multiple named <span class="delete">bundles.</span><span class="insert">bundles as well as a
-toplevel instance.</span>  Briefly, each bundle is
+documents, possibly including multiple named bundles as well as a
+toplevel instance.  Briefly, each bundle is
 handled independently; there is no interaction between bundles from
 the perspective of applying definitions, inferences, or constraints,
 computing normal forms, or checking validity or equivalence.</p>
 
 <p> We model a general PROV document, containing <span class="name">n</span> named bundles
 <span class="name">b<sub>1</sub>...b<sub>n</sub></span>, as a tuple
-<span class="name"><span class="delete">(B</span><span class="insert">(I</span><sub>0</sub>,[b<sub>1</sub><span class="delete">=B</span><span class="insert">=I</span><sub>1</sub>,...,b<sub>n</sub><span class="delete">=B</span><span class="insert">=I</span><sub>n</sub>])</span>
-where <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>0</sub></span> is the <span class="delete">set of
-statements of the </span>toplevel<span class="delete"> instance</span><span class="insert">
-instance, and for each </span><span class="name"><span class="insert">i</span></span>, <span class="delete">and for each </span><span class="delete">i</span><span class="delete">, </span><span class="delete">B</span><span class="name"><span class="insert">I</span><sub>i</sub></span> is the <span class="delete">set of
-statements of </span><span class="insert">instance associated with
-</span>bundle <span class="name">b<sub>i</sub></span>.<span class="delete">  Names </span><span class="delete">b</span><span class="delete">1</span><span class="delete">...b</span><span class="delete">n</span><span class="delete"> are assumed to be distinct.  </span>   This notation is shorthand for the
+<span class="name">(I<sub>0</sub>,[b<sub>1</sub>=I<sub>1</sub>,...,b<sub>n</sub>=I<sub>n</sub>])</span>
+where <span class="name">I<sub>0</sub></span> is the toplevel
+instance, and for each <span class="name">i</span>, <span class="name">I<sub>i</sub></span> is the instance associated with
+bundle <span class="name">b<sub>i</sub></span>.   This notation is shorthand for the
 following PROV-N syntax:</p>
 
 <div class="name">
-<span class="delete">B</span><span class="insert">document</span><br><span class="insert">
-&nbsp;&nbsp;&nbsp;I</span><sub>0</sub><br>
-<span class="delete">bundle</span><span class="insert">&nbsp;&nbsp;&nbsp;bundle</span> b<sub>1</sub><br>
-<span class="delete">&nbsp;&nbsp;&nbsp;  B</span><span class="insert">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I</span><sub>1</sub><br>
-<span class="delete">endBundle</span><span class="insert">&nbsp;&nbsp;&nbsp;endBundle</span><br>
-<span class="delete">...</span><span class="insert">&nbsp;&nbsp;&nbsp;...</span><br>
-<span class="delete">bundle</span><span class="insert">&nbsp;&nbsp;&nbsp;bundle</span> b<sub>n</sub><br>
-<span class="delete">&nbsp;&nbsp;&nbsp;  B</span><span class="insert">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I</span><sub>n</sub><br>
-<span class="delete">endBundle</span><span class="insert">&nbsp;&nbsp;&nbsp;endBundle</span><br><span class="insert">
-endDocument</span>
+document<br>
+&nbsp;&nbsp;&nbsp;I<sub>0</sub><br>
+&nbsp;&nbsp;&nbsp;bundle b<sub>1</sub><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I<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;I<sub>n</sub><br>
+&nbsp;&nbsp;&nbsp;endBundle<br>
+endDocument
 </div>
 
-
-
-
 <p> The <a href="#dfn-normal-form" class="internalDFN">normal form</a> of a PROV document
-<span class="name"><span class="delete">(B</span><span class="insert">(I</span><sub>0</sub>,[b<sub>1</sub><span class="delete">=B</span><span class="insert">=I</span><sub>1</sub>,...,[b<sub>n</sub><span class="delete">=B</span><span class="insert">=I</span><sub>n</sub>])</span> is <span class="name"><span class="delete">(B'</span><span class="insert">(I'</span><sub>0</sub>,[b<sub>1</sub><span class="delete">=B'</span><span class="insert">=I'</span><sub>1</sub>,...,b<sub>n</sub><span class="delete">=B'</span><span class="insert">=I'</span><sub>n</sub>])</span>
-where <span class="name"><span class="delete">B'</span><span class="insert">I'</span><sub>i</sub></span> is the normal
-form of <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>i</sub></span> for each <span class="name">i</span> between 0 and <span class="name">n</span>.  </p>
-
-<p>A PROV document is <a href="#dfn-valid" class="internalDFN">valid</a> if each of the bundles <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>0</sub></span>,
-..., <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>n</sub></span> are valid and none of the bundle identifiers <span class="name">b<sub>i</sub></span> are repeated.</p>
-
-<p>Two (valid) PROV documents <span class="name"><span class="delete">(B</span><span class="insert">(I</span><sub>0</sub>,[b<sub>1</sub><span class="delete">=B</span><span class="insert">=I</span><sub>1</sub>,...,b<sub>n</sub><span class="delete">=B</span><span class="insert">=I</span><sub>n</sub>])</span> and
-<span class="name"><span class="delete">(B'</span><span class="insert">(I'</span><sub>0</sub>,[b<sub>1</sub><span class="delete">'=B'</span><span class="insert">'=I'</span><sub>1</sub>,...,b'<sub>m</sub><span class="delete">=B'</span><span class="insert">=I'</span><sub>m</sub>])</span> are <a href="#dfn-equivalent" class="internalDFN">equivalent</a> if <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>0</sub></span> is
-equivalent to <span class="name"><span class="delete">B'</span><span class="insert">I'</span><sub>0</sub></span> and <span class="name">n = m</span> and
+<span class="name">(I<sub>0</sub>,[b<sub>1</sub>=I<sub>1</sub>,...,[b<sub>n</sub>=I<sub>n</sub>])</span> is <span class="name">(I'<sub>0</sub>,[b<sub>1</sub>=I'<sub>1</sub>,...,b<sub>n</sub>=I'<sub>n</sub>])</span>
+where <span class="name">I'<sub>i</sub></span> is the normal
+form of <span class="name">I<sub>i</sub></span> for each <span class="name">i</span> between 0 and <span class="name">n</span>.  </p>
+
+<p>A PROV document is <a href="#dfn-valid" class="internalDFN">valid</a> if each of the bundles <span class="name">I<sub>0</sub></span>,
+..., <span class="name">I<sub>n</sub></span> are valid and none of the bundle identifiers <span class="name">b<sub>i</sub></span> are repeated.</p>
+
+<p>Two (valid) PROV documents <span class="name">(I<sub>0</sub>,[b<sub>1</sub>=I<sub>1</sub>,...,b<sub>n</sub>=I<sub>n</sub>])</span> and
+<span class="name">(I'<sub>0</sub>,[b<sub>1</sub>'=I'<sub>1</sub>,...,b'<sub>m</sub>=I'<sub>m</sub>])</span> are <a href="#dfn-equivalent" class="internalDFN">equivalent</a> if <span class="name">I<sub>0</sub></span> is
+equivalent to <span class="name">I'<sub>0</sub></span> and <span class="name">n = m</span> and
 there exists a permutation <span class="name">P : {1..n} -&gt; {1..n}</span> such that for each <span class="name">i</span>, <span class="name">b<sub>i</sub> =
-b'<sub>P(i)</sub></span> and <span class="name"><span class="delete">B</span><span class="insert">I</span><sub>i</sub></span> is equivalent to <span class="name"><span class="delete">B'</span><span class="insert">I'</span><sub>P(i)</sub></span>.
+b'<sub>P(i)</sub></span> and <span class="name">I<sub>i</sub></span> is equivalent to <span class="name">I'<sub>P(i)</sub></span>.
 </p>
 
 </section> 
@@ -5831,7 +4753,7 @@
 
 
 <section class="glossary" id="glossary"> 
-      <h2><span class="secno"><span class="delete">7.</span><span class="insert">8.</span> </span>Glossary</h2>
+      <h2><span class="secno">8. </span>Glossary</h2>
 
       <ul> 
        <li> <dfn id="dfn-antisymmetric">antisymmetric</dfn>: A relation <span class="math">R</span> over <span class="math">X</span> is <a href="#dfn-antisymmetric" class="internalDFN">antisymmetric</a> if
@@ -5843,17 +4765,14 @@
        <a href="#dfn-transitive" class="internalDFN">transitive</a>.</li>
        <li> <dfn id="dfn-irreflexive">irreflexive</dfn>: A relation <span class="math">R</span> over <span class="math">X</span> is <a href="#dfn-irreflexive" class="internalDFN">irreflexive</a> if
       for <span class="math">x R x</span> does not hold for any element <span class="math">x</span> of <span class="math">X</span>.</li>
-         <span class="delete">reflexive</span><span class="delete">: A relation </span><span class="delete">R</span><span class="delete"> over </span><span class="delete">X</span><span class="delete"> is </span><span class="delete">reflexive</span><span class="delete"> if
-      for any element </span><span class="delete">x</span><span class="delete"> of </span><span class="delete">X</span><span class="delete">, we have </span><span class="delete">x R x</span><span class="delete">.</span>
-      
      <li><dfn id="dfn-partial-order">partial order</dfn>: A partial order is a relation
       that is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-antisymmetric" class="internalDFN">antisymmetric</a>, and <a href="#dfn-transitive" class="internalDFN">transitive</a>.</li>
       <li><dfn id="dfn-preorder">preorder</dfn>: A preorder is a relation that is
       <a href="#dfn-reflexive" class="internalDFN">reflexive</a> and <a href="#dfn-transitive" class="internalDFN">transitive</a>.  (It is not necessarily antisymmetric,
       meaning there can be cycles of distinct elements <span class="math">x<sub>1</sub> R x<sub>2</sub> R ... R
       x<sub>n</sub> R x<sub>1</sub>.</span></li>
-        <li> <dfn id="dfn-reflexive"><span class="insert">reflexive</span></dfn><span class="insert">: A relation </span><span class="math"><span class="insert">R</span></span><span class="insert"> over </span><span class="math"><span class="insert">X</span></span><span class="insert"> is </span><a href="#dfn-reflexive" class="internalDFN"><span class="insert">reflexive</span></a><span class="insert"> if
-      for any element </span><span class="math"><span class="insert">x</span></span><span class="insert"> of </span><span class="math"><span class="insert">X</span></span><span class="insert">, we have </span><span class="math"><span class="insert">x R x</span></span><span class="insert">.</span></li>
+        <li> <dfn id="dfn-reflexive">reflexive</dfn>: A relation <span class="math">R</span> over <span class="math">X</span> is <a href="#dfn-reflexive" class="internalDFN">reflexive</a> if
+      for any element <span class="math">x</span> of <span class="math">X</span>, we have <span class="math">x R x</span>.</li>
     <li><dfn id="dfn-strict-partial-order">strict partial order</dfn>: A strict partial order is a
       relation that is <a href="#dfn-irreflexive" class="internalDFN">irreflexive</a>, <a href="#dfn-asymmetric" class="internalDFN">asymmetric</a> and <a href="#dfn-transitive" class="internalDFN">transitive</a>.</li>
       <li><dfn id="dfn-strict-preorder">strict preorder</dfn>: A strict preorder is a relation
@@ -5910,17 +4829,16 @@
 	</tr>
 	<tr>
 	  <td>1</td>
-	  <td>19, 20, <span class="delete">21, 22</span><span class="insert">21</span></td>
-	  <td class="name"><span class="delete">specializationOf, mentionOf</span><span class="insert">specializationOf</span></td>
-	    
+	  <td>19, 20, 21</td>
+	  <td class="name">specializationOf</td>  
 	  <td class="name">specializationOf, entity</td>
 	</tr>
 	<tr>
 	  <td>2</td>
 	  <td>7, 8, 13, 14</td>
 	  <td class="name">entity, activity, wasAttributedTo, actedOnBehalfOf</td>
-	  <td class="name">wasInvalidatedBy, wasStartedBy, <span class="delete">wasEndedBy</span><span class="insert">wasEndedBy,
-	wasAssociatedWith</span></td>
+	  <td class="name">wasInvalidatedBy, wasStartedBy, wasEndedBy,
+	wasAssociatedWith</td>
 	</tr>	
 	<tr>
 	  <td>3</td>
@@ -6011,8 +4929,8 @@
        </p>
 </section>
 
-<section class="appendix" id="changes-since-last-version"> 
-      <h2><span class="secno">B. </span><span class="insert">Changes since last version</span></h2> 
+<section class="appendix" id="changes-from-last-call-working-draft-to-candidate-recommendation"> 
+      <h2><span class="secno">B. </span>Changes <span class="delete">since last</span><span class="insert">from Last Call Working Draft to Candidate Recommendation</span></h2> 
     <p><span class="insert">   Please see the </span><a href="http://www.w3.org/2011/prov/wiki/ResponsesToPublicComments"><span class="insert">
       Responses to Public Comments on the Last Call Working Draft</span></a><span class="insert">
       for more details about the justification of these changes.</span></p>
@@ -6069,16 +4987,93 @@
 </ul>
 
 </section>
+
+<section class="appendix" id="changes-from-candidate-recommendation-to-this-version"> 
+      <h2><span class="secno"><span class="insert">C. </span></span><span class="insert">Changes from Candidate Recommendation to this</span> version</h2> 
+    <p>   Please see the <a href="http://www.w3.org/2011/prov/wiki/ResponsesToPublicCommentsCR">
+      Responses to Public Comments on the <span class="delete">Last Call Working Draft</span><span class="insert">Candidate Recommendation</span></a>
+      for more details about the justification of these changes.</p>
        
+
+<ul>
+  <span class="delete">Abstract: clarified that term "validity" is analogous to other
+  notions of validity in Web standards. </span>
+  <li>Added <span class="delete">bullet point linking to PROV-SEM under "How to read the
+  PROV family of specifications"</span><span class="insert">clarification concerning constraint
+      </span><a href="#wasAssociatedWith-ordering"><span class="insert">wasAssociatedWith-ordering</span></a><span class="insert"> (issue-615).</span></li>
+  <span class="delete">Revised sec. 1.2 to clarify terminology (validity), emphasize
+  that any implementation equivalent to the procedural specification
+  is compliant, and clarify that treating "equivalent instances in the
+  same way" is a guideline.</span>
+  
+      <li>Added <span class="delete">paragraph</span><span class="insert">underscores</span> to <span class="delete">sec 2.4</span><span class="insert">some variables in inferences </span><a href="#wasStartedBy-inference"><span class="insert">9</span></a><span class="insert">, </span><a href="#wasEndedBy-inference"><span class="insert">10</span></a><span class="insert">,
+      </span><a href="#influence-inference"><span class="insert">15</span></a><span class="insert"> (issue-611).</span></li>
+      <li><span class="insert">Corrected a typo in the name </span><span class="name"><span class="insert">hadMember</span></span><span class="insert"> in </span><a href=""><span class="insert">constraint 56</span></a><span class="insert">
+      (issue-611).
+      </span></li>
+      <li><span class="insert">Clarified that existential variables are scoped at the
+      instance level, not statement level, thus it is correct</span> to <span class="delete">clarify the purpose of the section.</span><span class="insert">apply
+      uniqueness constraints by substituting variables through an
+      instance (issue-611).  (Remark at the end of </span><a href="#concepts"><span class="insert">section
+      4. Basic concepts</span></a><span class="insert">, and clarified discussion in </span><a href="#overview"><span class="insert">Validation Process Overview</span></a><span class="insert">)</span></li>
+  
+      <li><span class="delete">Sec 2.4 Unification and Merging: changed "merging" to "unification" for terms</span><span class="insert">Gave equivalent form of </span><a href="#optional-attributes"><span class="insert">Definition 2</span></a><span class="insert"> (issue-611).</span></li>
+  <span class="delete">Sec. 2.4 "Applying definitions, inferences and constraints":
+  Updated merging to unification and added paragraph reinforcing that
+  compliance is algorithm independent</span>
+  <span class="delete">Sec. 2.4 "Checking ordering, typing and impossibility
+  constraints": Avoided use of the term "satisfies".</span>
+  <span class="delete">Sec. 2.4 "Equivalence and Isomorphism": Extended equivalence to
+  be defined on all instances, valid or not.  Removed analogy to RDF.</span>
+  <span class="delete">Sec. 2.4 "From Instances to Bundles and Documents": Revised to
+  avoid giving the impression that toplevel instances must be disjoint
+  from bundles; removed reference to RDF.</span>
+  <span class="delete">Sec. 3. Clarified and reinforced algorithm independence.</span>
+  <span class="delete">Sec. 4.  Added clarifying remark about role of definitions.</span>
+  <span class="delete">Sec. 4. Avoided reference to RDF, minor clarifications to
+  discussion of existential variables. </span>
+  <span class="delete">Sec. 4.1. Spelling correction.</span>
+  <span class="delete">Sec. 4.4. Merging -&gt; unification</span>
+  <span class="delete">Sec. 5. Merging -&gt; unification terminology change.  Added
+  declarative definition of unification.  Clarified
+  procedural definition.  Removed definition of merging of attribute
+  lists.  Updated descriptions of uniqueness and key constraint application.</span>
+  <span class="delete">Constraint 23.  Renamed e, a, ag to id.</span>
+  <span class="delete">Sec. 5.2.  Explicitly stated that strictly-precedes is irreflexive.</span>
+  <span class="delete">Sec. 5.2. Spelling</span>
+  <span class="delete">Sec. 5.2, just before constraint 51: updated text to accurately
+  describe constraint.</span>
+  <span class="delete">Sec. 6.  Merging -&gt; unification.  Updated definition of validity
+  to avoid referring to "satisfies".  Explicitly defined isomorphism
+  of instances.  Broadened the definition of equivalence so that it is
+  allowed to test arbitrary instances for equivalence.  Reinforce the
+  intention of the guideline that applications treat equivalent
+  instances "in the same way".</span>
+  <span class="delete">Dropped RDF as a normative reference.</span>
+  <span class="delete">Made PROV-DM and PROV-N into normative references.</span>
+  <span class="delete">Added "document" and "endDocument" to sec. 6.2.</span>
+  <span class="delete">Added sentence of explanation of purpose to beginning.</span>
+  <span class="delete">Moved "mention" to a separate note. </span>
+  <span class="delete">Added </span><span class="delete">Section 4: Basic Concepts</span><span class="delete">.</span>
+  <span class="delete">Miscellaneous final cleanup prior to CR staging.</span>
+</ul>
+
+
+  
+</section>
+       
+
+
+
 <section class="appendix" id="acknowledgements"> 
-      <h2><span class="secno"><span class="insert">C.</span> </span>Acknowledgements</h2> 
+      <h2><span class="secno"><span class="delete">C.</span><span class="insert">D.</span> </span>Acknowledgements</h2> 
       <p> 
 
-This  document has been produced by the <span class="delete">PROV</span><span class="insert">Provenance</span> Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>), Paul Groth, Tim Lebo, Simon Miles, Stian Soiland-Reyes,  for their thorough reviews.
+This  document has been produced by the Provenance Working Group, and its contents reflect extensive discussion within the Working Group as a whole. The editors extend special thanks to Ivan Herman (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>), Paul Groth, Tim Lebo, Simon Miles, Stian Soiland-Reyes,  for their thorough reviews.
       </p> 
 
 <p>
-<span class="insert">The editors acknowledge valuable contributions from the following:
+The editors acknowledge valuable contributions from the following:
 Tom Baker,
 David Booth,
 Robert Freimuth,
@@ -6088,22 +5083,25 @@
 Jacek Kopecky,
 James Leigh,
 Jacco van Ossenbruggen,
-Alan Ruttenberg,
-Reza Samavi, and
-Antoine Zimmermann.
-</span></p>
+<span class="insert">Héctor Pérez-Urbina,
+</span>Alan Ruttenberg,
+Reza Samavi,<span class="delete"> and
+</span><span class="insert">
+Evren Sirin, 
+</span>Antoine Zimmermann.
+</p>
 
 <p>
-Members of the <span class="delete">PROV</span><span class="insert">Provenance</span> Working Group at the time of publication of this document were:
+Members of the Provenance Working Group at the time of publication of this document were:
 
 Ilkay Altintas (Invited expert),
 Reza B'Far (Oracle Corporation),
 Khalid Belhajjame (University of Manchester),
 James Cheney (University of Edinburgh, School of Informatics),
-Sam Coppens (IBBT),
+Sam Coppens <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
 David Corsar (University of Aberdeen, Computing Science),
 Stephen Cresswell (The National Archives),
-Tom De Nies (IBBT),
+Tom De Nies <span class="delete">(IBBT),</span><span class="insert">(iMinds - Ghent University),</span>
 Helena Deus (DERI Galway at the National University of Ireland, Galway, Ireland),
 Simon Dobson (Invited expert),
 Martin Doerr (Foundation for Research and Technology - Hellas(FORTH)),
@@ -6154,32 +5152,7 @@
 Jun Zhao (University of Oxford),
 Yuting Zhao (University of Aberdeen, Computing Science).
 </p>
-     
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</section> 
+    </section> 
 
  
 
@@ -6215,20 +5188,62 @@
 
 
 
-<section id="references" class="appendix"><h2><span class="secno"><span class="delete">C.</span><span class="insert">D.</span> </span>References</h2><section id="normative-references"><h3><span class="secno"><span class="delete">C.1</span><span class="insert">D.1</span> </span>Normative references</h3><dl class="bibliography"><span class="delete">[IRI]</span><dt id="bib-PROV-DM"><span class="insert">[PROV-DM]</span></dt><dd><span class="delete">M. Duerst, M. Suignard. </span><span class="insert">Luc Moreau; Paolo Missier; eds. </span><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/"><cite><span class="delete">Internationalized Resource Identifiers (IRI).</span><span class="insert">PROV-DM: The PROV Data Model</span></cite></a><span class="delete"> January 2005. Internet RFC 3987.</span><span class="insert">. 11 December 2012, W3C Candidate Recommendation.</span> URL: <span class="delete">http://www.ietf.org/rfc/rfc3987.txt</span> 
-<a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/"><span class="insert">http://www.w3.org/TR/2012/CR-prov-dm-20121211/</span></a>
-</dd><span class="delete">[RDF]</span><dt id="bib-PROV-N"><span class="insert">[PROV-N]</span></dt><dd><span class="delete">Graham Klyne and Jeremy J. Carroll (eds.) </span><span class="insert">Luc Moreau; Paolo Missier; eds. </span><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/"><cite><span class="delete">Resource Description Framework (RDF): Concepts and Abstract Syntax</span><span class="insert">PROV-N: The Provenance Notation</span></cite></a>. <span class="delete">2004,</span><span class="insert">11 December 2012,</span> W3C <span class="insert">Candidate </span>Recommendation. URL: <span class="delete">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/</span><a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/"><span class="insert">http://www.w3.org/TR/2012/CR-prov-n-20121211/</span></a>
-</dd><dt id="bib-PROV-O"><span class="insert">[PROV-O]</span></dt><dd><span class="insert">Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. </span><a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/"><cite><span class="insert">PROV-O: The PROV Ontology</span></cite></a><span class="insert">. 11 December 2012, W3C Candidate Recommendation. URL: </span><a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/"><span class="insert">http://www.w3.org/TR/2012/CR-prov-o-20121211/</span></a>
+ 
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<section id="references" class="appendix"><h2><span class="secno"><span class="delete">D.</span><span class="insert">E.</span> </span>References</h2><section id="normative-references"><h3><span class="secno"><span class="delete">D.1</span><span class="insert">E.1</span> </span>Normative references</h3><dl class="bibliography"><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><cite>PROV-DM: The PROV Data Model</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-dm-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-dm-20130312/</span></a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><cite>PROV-N: The Provenance Notation</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-n-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-n-20130312/</span></a>
+</dd><dt id="bib-PROV-O">[PROV-O]</dt><dd>Timothy Lebo; Satya Sahoo; Deborah McGuinness; eds. <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><cite>PROV-O: The PROV Ontology</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> W3C <span class="delete">Candidate</span><span class="insert">Proposed</span> Recommendation. URL: <span class="delete">http://www.w3.org/TR/2012/CR-prov-o-20121211/</span><a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/"><span class="insert">http://www.w3.org/TR/2013/PR-prov-o-20130312/</span></a>
 </dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119.  URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> 
-</dd><dt id="bib-RFC3987"><span class="insert">[RFC3987]</span></dt><dd><span class="insert">M. Dürst; M. Suignard. </span><a href="http://www.ietf.org/rfc/rfc3987.txt"><cite><span class="insert">Internationalized Resource Identifiers (IRIs).</span></cite></a><span class="insert"> January 2005. Internet RFC 3987. URL: </span><a href="http://www.ietf.org/rfc/rfc3987.txt"><span class="insert">http://www.ietf.org/rfc/rfc3987.txt</span></a> 
-</dd></dl></section><section id="informative-references"><h3><span class="secno"><span class="delete">C.2</span><span class="insert">D.2</span> </span>Informative references</h3><dl class="bibliography"><dt id="bib-CHR">[CHR]</dt><dd>Thom <span class="delete">Frühwirth</span><span class="insert">Frühwirth.</span> <a href="http://constraint-handling-rules.org/"><cite>Constraint        Handling Rules</cite></a>. Cambridge University Press  URL: <a href="http://constraint-handling-rules.org/">http://constraint-handling-rules.org/</a>
-</dd><dt id="bib-CLOCK">[CLOCK]</dt><dd><span class="delete">Lamport, </span>L.<span class="insert"> Lamport.</span> <a href="http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf"><cite>Time, clocks, and the ordering of events in a distributed system</cite></a>. Communications of the ACM 21 (7): 558–565. 1978. URL: <a href="http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf">http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf</a> DOI: doi:10.1145/359545.359563.
-</dd><dt id="bib-DBCONSTRAINTS">[DBCONSTRAINTS]</dt><dd> Ronald <span class="delete">Fagin,</span><span class="insert">Fagin;</span> Phokion G. <span class="delete">Kolaitis,</span><span class="insert">Kolaitis;</span> Renée J. <span class="delete">Miller, and</span><span class="insert">Miller;</span> Lucian <span class="delete">Popa</span><span class="insert">Popa.</span>  <a href="http://dx.doi.org/10.1016/j.tcs.2004.10.033"><cite>Data        exchange: Semantics and query answering</cite></a>.  Theoretical computer science 336(1):89-124   Elsevier  URL: <a href="http://dx.doi.org/10.1016/j.tcs.2004.10.033">http://dx.doi.org/10.1016/j.tcs.2004.10.033</a>
-</dd><dt id="bib-Logic">[Logic]</dt><dd>W. E. <span class="delete">Johnson</span><span class="insert">Johnson. </span><a href="http://www.ditext.com/johnson/intro-3.html"><cite>Logic: Part III</cite></a>.1924. URL: <a href="http://www.ditext.com/johnson/intro-3.html">http://www.ditext.com/johnson/intro-3.html</a>
-</dd><span class="delete">[PROV-DM]</span><dt id="bib-PROV-AQ"><span class="insert">[PROV-AQ]</span></dt><dd><span class="delete">Luc Moreau and Paolo Missier (eds.) Khalid Belhajjame, Reza B'Far, James Cheney, Stephen Cresswell, Yolanda Gil,</span><span class="insert">Graham Klyne;</span> Paul <span class="delete">Groth, Graham Klyne, Jim McCusker, Simon Miles, James Myers, Satya Sahoo, and Curt Tilmes </span><span class="insert">Groth; eds. </span><a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/"><cite><span class="delete">PROV-DM: The PROV Data Model</span><span class="insert">Provenance Access and Query</span></cite></a>. <span class="insert">19 June </span>2012, Working Draft. URL: <span class="delete">http://www.w3.org/TR/prov-dm/</span><a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-aq-20120619/</span></a>
-</dd><span class="delete">[PROV-N]</span><dt id="bib-PROV-OVERVIEW"><span class="insert">[PROV-OVERVIEW]</span></dt><dd><span class="insert">Paul Groth; </span>Luc <span class="delete">Moreau and Paolo Missier (eds.), James Cheney, Stian Soiland-Reyes </span><span class="insert">Moreau; eds. </span><a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/"><cite><span class="delete">PROV-N: The Provenance Notation</span><span class="insert">PROV-OVERVIEW: An Overview of the PROV Family of Documents</span></cite></a>. <span class="delete">2011,</span><span class="insert">11 December 2012,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/prov-n/</span><a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-overview-20121211/</span></a>
-</dd><span class="delete">[PROV-O]</span><dt id="bib-PROV-PRIMER"><span class="insert">[PROV-PRIMER]</span></dt><dd><span class="delete">Timothy Lebo, Satya Sahoo and Deborah McGuinness (eds.) Khalid Belhajjame, James Cheney, David Corsar, Daniel Garijo, Stian Soiland-Reyes, and Stephan Zednik </span><span class="insert">Yolanda Gil; Simon Miles; eds. </span><a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/"><cite><span class="delete">Provenance Formal</span><span class="insert">PROV</span> Model<span class="insert"> Primer</span></cite></a>. <span class="delete">2011,</span><span class="insert">11 December 2012,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/prov-o/</span><a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-primer-20121211/</span></a>
-</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James <span class="delete">Cheney </span><span class="insert">Cheney; ed. </span><a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsED"><cite>Formal Semantics <span class="delete">Strawman</span><span class="insert">of PROV</span></cite></a>. 2011, Work in progress. URL: <span class="delete">http://www.w3.org/2011/prov/wiki/FormalSemanticsStrawman</span><a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsED"><span class="insert">http://www.w3.org/2011/prov/wiki/FormalSemanticsED</span></a><span class="insert">.
-</span></dd><dt id="bib-PROV-XML"><span class="insert">[PROV-XML]</span></dt><dd><span class="insert">Hook Hua; Curt Tilmes; Stephan Zednik; eds. </span><a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/"><cite><span class="insert">PROV-XML: The PROV XML Schema</span></cite></a><span class="insert">. 11 December 2012, Working Draft. URL: </span><a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/"><span class="insert">http://www.w3.org/TR/2012/WD-prov-xml-20121211/</span></a>
+</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd>M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers <span class="delete">(IRIs).</span><span class="insert">(IRIs)</span></cite></a><span class="insert">.</span> January 2005.<span class="delete"> Internet</span> RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> 
+
+</dd></dl></section><section id="informative-references"><h3><span class="secno"><span class="delete">D.2</span><span class="insert">E.2</span> </span>Informative references</h3><dl class="bibliography"><dt id="bib-CHR">[CHR]</dt><dd>Thom Frühwirth. <a href="http://constraint-handling-rules.org/"><cite>Constraint        Handling Rules</cite></a>. Cambridge University Press  URL: <a href="http://constraint-handling-rules.org/">http://constraint-handling-rules.org/</a>
+</dd><dt id="bib-CLOCK">[CLOCK]</dt><dd>L. Lamport. <a href="http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf"><cite>Time, clocks, and the ordering of events in a distributed system</cite></a>. Communications of the ACM 21 (7): 558–565. 1978. URL: <a href="http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf">http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf</a> DOI: doi:10.1145/359545.359563.
+</dd><dt id="bib-DBCONSTRAINTS">[DBCONSTRAINTS]</dt><dd> Ronald Fagin; Phokion G. Kolaitis; Renée J. Miller; Lucian Popa.  <a href="http://dx.doi.org/10.1016/j.tcs.2004.10.033"><cite>Data        exchange: Semantics and query answering</cite></a>.  Theoretical computer science 336(1):89-124   Elsevier  URL: <a href="http://dx.doi.org/10.1016/j.tcs.2004.10.033">http://dx.doi.org/10.1016/j.tcs.2004.10.033</a>
+</dd><dt id="bib-Logic">[Logic]</dt><dd>W. E. Johnson. <a href="http://www.ditext.com/johnson/intro-3.html"><cite>Logic: Part III</cite></a>.1924. URL: <a href="http://www.ditext.com/johnson/intro-3.html">http://www.ditext.com/johnson/intro-3.html</a>
+</dd><dt id="bib-PROV-AQ">[PROV-AQ]</dt><dd>Graham Klyne; Paul Groth; eds. <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><cite>Provenance Access and Query</cite></a>. <span class="delete">19 June 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-aq-20120619/</span><a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-aq-20130312/</span></a>
+</dd><dt id="bib-PROV-DC"><span class="insert">[PROV-DC]</span></dt><dd><span class="insert">Daniel Garijo; Kai Eckert; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><cite><span class="insert">Dublin Core to PROV Mapping</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dc-20130312/</span></a>
+</dd><dt id="bib-PROV-DICTIONARY"><span class="insert">[PROV-DICTIONARY]</span></dt><dd><span class="insert">Tom De Nies; Sam Coppens; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><cite><span class="insert">PROV Dictionary</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/</span></a>
+</dd><dt id="bib-PROV-LINKS"><span class="insert">[PROV-LINKS]</span></dt><dd><span class="insert">Luc Moreau; Timothy Lebo; eds. </span><a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><cite><span class="insert">Linking Across Provenance Bundles</span></cite></a><span class="insert">. 12 March 2013, Working Draft. URL: </span><a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-links-20130312/</span></a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-overview-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-overview-20130312/</span></a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><cite>PROV Model Primer</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-primer-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-primer-20130312/</span></a>
+</dd><dt id="bib-PROV-SEM">[PROV-SEM]</dt><dd>James Cheney; ed. <a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsED"><cite>Formal Semantics of PROV</cite></a>. 2011, Work in progress. URL: <a href="http://www.w3.org/2011/prov/wiki/FormalSemanticsED">http://www.w3.org/2011/prov/wiki/FormalSemanticsED</a>.
+</dd><dt id="bib-PROV-XML">[PROV-XML]</dt><dd>Hook Hua; Curt Tilmes; Stephan Zednik; eds. <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><cite>PROV-XML: The PROV XML Schema</cite></a>. <span class="delete">11 December 2012,</span><span class="insert">12 March 2013,</span> Working Draft. URL: <span class="delete">http://www.w3.org/TR/2012/WD-prov-xml-20121211/</span><a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/"><span class="insert">http://www.w3.org/TR/2013/WD-prov-xml-20130312/</span></a>
 </dd></dl></section></section></body></html>
 
--- a/model/diff/Makefile	Mon Feb 18 21:52:59 2013 +0000
+++ b/model/diff/Makefile	Mon Feb 18 23:11:40 2013 +0000
@@ -13,13 +13,15 @@
 rel:
 	./htmldiff  ../releases/CR-prov-dm-20121211/Overview.html ../releases/PR-prov-dm-20130312/Overview.html  > ../diff.html
 	./htmldiff  ../releases/CR-prov-n-20121211/Overview.html ../releases/PR-prov-n-20130312/Overview.html  > ../diff-n.html
+	./htmldiff  ../releases/CR-prov-constraints-20121211/Overview.html ../releases/PR-prov-constraints-20130312/Overview.html  > ../diff-c.html
 	cp ../diff.html ../releases/PR-prov-dm-20130312/
 	cp ../diff-n.html ../releases/PR-prov-n-20130312/
+	cp ../diff-c.html ../releases/PR-prov-constraints-20130312/
 
 
 
 c.diff:
 #	htmldiff ../releases/ED-prov-constraints-20120723/prov-constraints.html prov-constraints.html > ../diff-c.html
-	./htmldiff ../releases/WD-prov-constraints-20120911/Overview.html prov-constraints.html > ../diff-c.html
+	./htmldiff ../releases/CR-prov-constraints-20121211/Overview.html prov-constraints.html > ../diff-c.html
 #	cp ../diff-c.html ../releases/WD-prov-constraints-20120911/
 
--- a/model/prov-constraints.html	Mon Feb 18 21:52:59 2013 +0000
+++ b/model/prov-constraints.html	Mon Feb 18 23:11:40 2013 +0000
@@ -830,7 +830,7 @@
 };
       var respecConfig = {
           // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
-          specStatus:           "ED",
+          specStatus:           "PR",
           
           // the specification's short name, as in http://www.w3.org/TR/short-name/
           shortName:            "prov-constraints",
@@ -845,6 +845,7 @@
         //  FPWD        publishDate:  "2012-05-03",
          // LC       publishDate:  "2012-09-11",
            // CR   publishDate:  "2012-12-11",
+   publishDate:  "2013-03-12",
 
           // if the specification's copyright date is a range of years, specify
           // the start date here:
@@ -856,7 +857,7 @@
           previousMaturity:  "CR",
  
           // if there a publicly available Editor's Draft, this is the link
-          edDraftURI:           "http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html",
+//          edDraftURI:           "http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-constraints.html",
 
          implementationReportURI: "http://dvcs.w3.org/hg/prov/raw-file/default/reports/prov-implementations.html",
 
@@ -864,8 +865,9 @@
 
  
           // if this is a LCWD, uncomment and set the end of its review period
-         //lcEnd: "2012-10-10", 
-          //crEnd: "2013-01-31",
+          prEnd: "2013-04-09",
+          crEnd: "2013-01-31",
+          lcEnd: "2012-10-10",
 
           // if you want to have extra CSS, append them to this list
           // it is recommended that the respec.css stylesheet be kept
@@ -963,40 +965,36 @@
 <section id="sotd">
 <h4>PROV Family of Documents</h4>
 This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
-interchange of provenance information in heterogeneous environments such as the Web.  These documents are:
+interchange of provenance information in heterogeneous environments such as the Web.  These documents are listed below. Please consult the [[PROV-OVERVIEW]] for a guide to reading these documents. 
 <ul>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-primer-20121211/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-o-20121211/">PROV-O</a> (Candidate Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[!PROV-O]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/">PROV-DM</a> (Candidate Recommendation), the PROV data model for provenance [[!PROV-DM]];</li>
-<li> <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/">PROV-N</a> (Candidate Recommendation), a notation for provenance aimed at human consumption [[!PROV-N]];</li>
-<li> <a
-href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">PROV-CONSTRAINTS</a>
-(Candidate Recommendation), a set of constraints applying to the PROV data model
-(this document);</li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-aq-20120619/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
-<li> <a href="http://www.w3.org/TR/2012/WD-prov-xml-20121211/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [[PROV-XML]].</li>
-
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [[PROV-OVERVIEW]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [[PROV-PRIMER]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [[!PROV-O]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [[!PROV-DM]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [[!PROV-N]];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model  (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [[PROV-XML]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
 </ul>
-<h4>How to read the PROV Family of Documents</h4>
-<ul>
-<li>[[PROV-OVERVIEW]] overviews the PROV family of documents. </li>
-<li>The primer [[PROV-PRIMER]] is the entry point to PROV offering an introduction to the provenance model.</li>
-<li>The Linked Data and Semantic Web community should focus on [[!PROV-O]] defining PROV classes and properties specified in an OWL2 ontology. For further details, [[!PROV-DM]] and PROV-CONSTRAINTS specify the constraints applicable to the data model, and its interpretation. </li>
-<li>The XML community should focus on [[PROV-XML]] defining an XML schema for PROV. Further details can also be found in [[!PROV-DM]] and PROV-CONSTRAINTS.</li>
-<li>Developers seeking to retrieve or publish provenance should focus on [[PROV-AQ]].</li>
-<li>Readers seeking to implement other PROV serializations
-should focus on [[!PROV-DM]] and PROV-CONSTRAINTS.  [[!PROV-O]], [[!PROV-N]], and [[PROV-XML]] offer examples of mapping to RDF, text, and XML, respectively.</li>
-</ul>
-<h4>Please Comment By January 31, 2013</h4>
-
-The Provenance Working Group seeks to gather experience from <a href="http://www.w3.org/2011/prov/wiki/ProvImplementations">implementations</a> in order to increase confidence in the specifications and meet specific <a href="http://www.w3.org/2011/prov/wiki/ProvCRExitCriteria">exit criteria</a>. This document will remain a Candidate Recommendation until at least 31 January 31, 2013. After that date, when and if the exit criteria are met, the group intends to request <a href="http://www.w3.org/2005/10/Process-20051014/tr.html#RecsPR">Proposed Recommendation</a> status.
-
+
+<h4>W3C Members Please Review By 09 April 2013</h4>
+
+<p>The W3C Director seeks review and feedback from W3C Advisory Committee representatives, via their <a href="http://form-tbd/">review form</a> by 09 April 2013. This will allow the Director to assess consensus and determine whether to issue this document as a W3C Recommendation.</p>
+
+<p>Others are encouraged by the Provenance Working Group to continue to send reports of implementation experience, and other feedback, to
+<a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>). Reports of any success or difficulty with the test cases are encouraged. Open discussion among developers is welcome at
+<a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).</p>
 </section>
 
 
 
-
     <section id="introduction"> 
       <h2>Introduction<br>
 </h2> 
--- a/model/prov-dm.html	Mon Feb 18 21:52:59 2013 +0000
+++ b/model/prov-dm.html	Mon Feb 18 23:11:40 2013 +0000
@@ -864,9 +864,9 @@
 <li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[!PROV-CONSTRAINTS]];</li>
 <li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [[PROV-XML]];</li>
 <li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note),  introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note),  provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note),  introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
 </ul>
 
 <h4>W3C Members Please Review By 09 April 2013</h4>
--- a/model/prov-n.html	Mon Feb 18 21:52:59 2013 +0000
+++ b/model/prov-n.html	Mon Feb 18 23:11:40 2013 +0000
@@ -825,9 +825,9 @@
 <li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model [[!PROV-CONSTRAINTS]];</li>
 <li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [[PROV-XML]];</li>
 <li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [[PROV-AQ]]; </li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note),  introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note),  provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
-<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note),  introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [[PROV-DICTIONARY]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [[PROV-DC]];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [[PROV-LINKS]].</li>
 </ul>
 
 <h4>W3C Members Please Review By 09 April 2013</h4>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/releases/PR-prov-constraints-20130312/Overview.html	Mon Feb 18 23:11:40 2013 +0000
@@ -0,0 +1,5472 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head> 
+    <title>Constraints of the PROV Data Model</title> 
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+    <!-- 
+      === NOTA BENE ===
+      For the three scripts below, if your spec resides on dev.w3 you can check them
+      out in the same tree and use relative links so that they'll work offline,
+     -->
+<!-- PM -->
+    <style type="text/css">
+      .note { font-size:small; margin-left:50px }
+
+
+/* --- EDITORIAL NOTES --- */
+.pending {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #BFEFFF;
+}
+
+.pending::before {
+    content:    "Pending Review";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+
+
+.resolved {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #9BCD9B;
+}
+
+.resolved::before {
+    content:    "Resolved";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+.inference {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+
+.inference-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+/* .inference[id]::before { */
+/*     content:    "Inference: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .inference::before { */
+/*     content:    "Inference"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #f00; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+.syntax {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.syntax[id]::before {
+    content:    "Syntax: " attr(id);
+    width:  380px;  /* How can we compute the length of "Constraint: " attr(id) */
+}
+
+
+.syntax::before {
+    content:    "Syntax";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.unamedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+
+.unamedconstraint::before {
+    content:    "Constraint";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+
+
+.constraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.constraint-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+/* .constraint[id]::before { */
+/*     content:    "Constraint: " attr(id); */
+/*     width:  380px;  /\* How can we compute the length of "Constraint: " attr(id) *\/ */
+/* } */
+
+
+/* .constraint::before { */
+/*     content:    "Constraint"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #00f; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+
+.interpretation {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.interpretation[id]::before {
+    content:    "Interpretation: " attr(id);
+    width:  380px;  /* How can we compute the length of "Interpretation: " attr(id) */
+}
+
+
+.interpretation::before {
+    content:    "Interpretation";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.definition {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+.definition-example {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #777;
+    background: #fff;
+}
+
+/* .definition[id]::before { */
+/*     content:    "Definition: " attr(id); */
+/*     width:  380px;  */
+/* } */
+
+
+/* .definition::before { */
+/*     content:    "Definition"; */
+/*     display:    block; */
+/*     width:  150px; */
+/*     margin: -1.5em 0 0.5em 0; */
+/*     font-weight:    bold; */
+/*     border: 1px solid #000; */
+/*     background: #fff; */
+/*     padding:    3px 1em; */
+/* } */
+
+
+.deprecatedconstraint {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #00f;
+    background: #fff;
+}
+
+.deprecatedconstraint[id]::before {
+    content:    "Deprecated: " attr(id);
+    width:  380px;  /* How can we compute the length of "Deprecatedconstraint: " attr(id) */
+}
+
+
+.deprecatedconstraint::before {
+    content:    "Deprecated";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #00f;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.glossary-ref {
+    font-style:    italic;
+}
+
+.dfn {
+    font-weight:    bold;
+}
+
+
+.attribute {
+    font-style: italic;
+}
+
+
+.conditional {
+    color: blue;
+}
+
+.grammar {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    font-size: 95%;
+}
+.nonterminal {
+    font-weight: bold;
+    font-family: sans-serif;
+    font-size: 95%;
+}
+
+.name {
+    font-family: monospace;
+}
+
+.math {
+    font-family: roman;
+    font-style:italic;
+}
+
+
+.xmpl {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #fff;
+}
+
+.xmpl::before {
+    content:    "Example";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/*
+.anexample[count]::before {
+    content: "Example " attr(count) ;
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+.anexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+*/
+
+.anexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+.anexample table {
+    background-color: #f9f9f9;
+}
+
+.conceptexample:before {
+    content: "Example:";
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+.conceptexample {
+    margin-top: 1ex;
+    margin-bottom: 1ex;
+    padding-left: 1ex;
+    padding-right: 1ex;
+    padding-top: 1ex;
+    padding-bottom: 0.6ex;
+    border: 1px dashed #2f6fab;
+    background-color: #f9f9f9;
+}
+
+.pnExpression {
+    font-weight: normal;
+    font-size:120%;
+    font-family: monospace;
+}
+
+
+div[class="grammar"] span[class="name"]:before {
+    content: "'";
+}
+
+div[class="grammar"] span[class="name"]:after {
+    content: "'";
+}
+
+
+div[class="grammar"] span[class="optional"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="optional"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")?";
+}
+
+
+div[class="grammar"] span[class="plus"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="plus"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")+";
+}
+
+
+div[class="grammar"] span[class="star"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="star"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")*";
+}
+
+div[class="grammar"] span[class="choice"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="choice"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+div[class="grammar"] span[class="group"]:before {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: "(";
+}
+
+div[class="grammar"] span[class="group"]:after {
+    font-weight: normal;
+    font-size:130%;
+    font-family: monospace;
+    content: ")";
+}
+
+table {
+    background-color: #f9f9f9;
+}
+
+.component1-color {
+ background-color: rgba(255,42,42,0.2);
+}
+
+.component2-color {
+ background-color: rgba(0,68,170,0.2);
+}
+
+.component3-color {
+ background-color: rgba(0,170,0,0.2);
+}
+.component4-color {
+ background-color: rgba(204,255,0,0.2);
+}
+
+.component5-color {
+ background-color: rgba(11,40,40,0.2);
+}
+
+.component6-color {
+ background-color: rgba(244,105,14,0.2);
+}
+
+.interpretation-forward::before {
+    content:    "Interpretation: ";
+    font-weight:    bold;
+}
+
+.structural-forward::before {
+    content:    "Structural constraint: ";
+    font-weight:    bold;
+}
+
+
+code {
+    color:  black;
+}
+
+.ruleTitle {
+    font-family: sans-serif;
+    font-size: 1.6ex;
+    font-weight: bold;
+}
+
+
+
+
+.remark {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px dashed #000;
+    background: #F0F0F0;
+}
+
+.remark::before {
+    content:    "Remark";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #000;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+table.thinborder {
+	border-width: 1px;
+	border-spacing: 0px;
+	border-style: none;
+	border-color: gray;
+	border-collapse: collapse;
+}
+table.thinborder th {
+	border-width: 1px;
+	padding: 0px;
+	border-style: solid;
+	border-color: gray;
+}
+table.thinborder td {
+	border-width: 1px;
+	padding: 2px;
+	border-style: solid;
+	border-color: gray;
+}
+
+
+     </style>
+
+<!--    <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>  -->
+     
+
+     
+    
+
+    
+    
+
+     
+  <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+cite .bibref {
+    font-style: normal;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- --- */
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before { font-weight: bold; counter-increment: numsection; content: counters(numsection, ".") ") "; }
+
+/* --- TOC --- */
+.toc a, .tof a {
+    text-decoration:    none;
+}
+
+a .secno, a .figno {
+    color:  #000;
+}
+
+ul.tof, ol.tof {
+    list-style: none outside none;
+}
+
+.caption {
+    margin-top: 0.5em;
+    font-style:   italic;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-PR"><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> 
+  <body><div class="head">
+  <p>
+    
+      <a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+    
+  </p>
+  <h1 class="title" id="title">Constraints of the PROV Data Model</h1>
+  
+  <h2 id="w3c-proposed-recommendation-12-march-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Proposed Recommendation 12 March 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">http://www.w3.org/TR/2013/PR-prov-constraints-20130312/</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/prov-constraints/">http://www.w3.org/TR/prov-constraints/</a></dd>
+    
+    
+    
+      <dt>Test suite:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/testcases/process.html">http://dvcs.w3.org/hg/prov/raw-file/default/testcases/process.html</a></dd>
+    
+    
+      <dt>Implementation report:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/reports/prov-implementations.html">http://dvcs.w3.org/hg/prov/raw-file/default/reports/prov-implementations.html</a></dd>
+    
+    
+    
+      <dt>Previous version:</dt>
+      <dd><a href="http://www.w3.org/TR/2012/CR-prov-constraints-20121211/">http://www.w3.org/TR/2012/CR-prov-constraints-20121211/</a> <a href="diff-c.html">(colored-coded diff)</a></dd>
+    
+    
+    <dt>Editors:</dt>
+    <dd><a href="http://homepages.inf.ed.ac.uk/jcheney">James Cheney</a>, University of Edinburgh</dd>
+<dd><a href="http://www.cs.ncl.ac.uk/people/Paolo.Missier">Paolo Missier</a>, Newcastle University</dd>
+<dd><a href="http://www.ecs.soton.ac.uk/~lavm/">Luc Moreau</a>, University of Southampton</dd>
+
+    
+      <dt>Author:</dt>
+      <dd><a href="http://users.ugent.be/~tdenies/">Tom De Nies</a>, iMinds - Ghent University</dd>
+
+    
+  </dl>
+  
+  
+  
+  
+    
+      <p class="copyright">
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 
+        2012-2013
+        
+        <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> 
+        (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+        <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+        <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+        <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+        <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
+        <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.
+      </p>
+    
+  
+  <hr>
+</div> 
+
+    <section id="abstract" class="introductory"><h2>Abstract</h2>
+<p>
+Provenance is information about entities, activities, and people
+involved in producing a piece of data or thing, which can be used to
+form assessments about its quality, reliability or
+trustworthiness. PROV-DM is the conceptual data model that forms a
+basis for the <abbr title="World Wide Web Consortium">W3C</abbr> provenance (PROV) family of specifications.
+<!--
+PROV-DM
+distinguishes core structures, forming the essence of provenance
+information, from extended structures catering for more specific uses
+of provenance. PROV-DM is organized in six components, respectively
+dealing with: (1) entities and activities, and the time at which they
+were created, used, or ended; (2) derivations of entities from
+entities; (3) agents bearing responsibility for entities that were
+generated and activities that happened; (4) a notion of bundle, a
+mechanism to support provenance of provenance; (5) properties to link
+entities that refer to the same thing; and, (6) collections forming a
+logical structure for its members.
+-->
+</p>
+
+
+<p> This document defines a subset of PROV instances called
+<i><a href="#dfn-valid" class="internalDFN">valid</a></i> PROV instances, by analogy with notions of
+validity for other Web standards.
+The intent of validation is to ensure that a PROV instance represents a
+consistent history of objects and their interactions that is safe to
+use for the purpose of logical reasoning and other kinds of analysis.
+Valid PROV instances satisfy
+certain <a>definitions</a>, <a>inferences</a>, and
+<a>constraints</a>. These definitions, inferences, and constraints
+provide a measure of consistency checking for provenance and reasoning
+over provenance.  They can also be used to <a title="normal
+form" href="#dfn-normal-form" class="internalDFN">normalize</a> PROV instances to forms that can easily be
+compared in order to determine whether two PROV instances are
+<a href="#dfn-equivalent" class="internalDFN">equivalent</a>.  Validity and equivalence are also defined for PROV
+bundles (that is, named instances) and documents (that is, a toplevel
+instance together with zero or more bundles).</p>
+<p>The <a href="http://www.w3.org/TR/2012/WD-prov-overview-20121211/">PROV Document Overview</a> describes the overall state of PROV, and should be read before other PROV documents.</p>
+</section><section id="sotd" class="introductory"><h2>Status of This Document</h2>
+  
+    
+      
+        <p>
+          <em>This section describes the status of this document at the time of its publication. Other
+          documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+          of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+          index</a> at http://www.w3.org/TR/.</em>
+        </p>
+        
+<h4 id="prov-family-of-documents">PROV Family of Documents</h4>
+This document is part of the PROV family of documents, a set of documents defining various aspects that are necessary to achieve the vision of inter-operable
+interchange of provenance information in heterogeneous environments such as the Web.  These documents are listed below. Please consult the [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>] for a guide to reading these documents. 
+<ul>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-overview-20130312/">PROV-OVERVIEW</a> (To be published as Note), an overview of the PROV family of documents [<cite><a class="bibref" href="#bib-PROV-OVERVIEW">PROV-OVERVIEW</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-primer-20130312/">PROV-PRIMER</a> (To be published as Note), a primer for the PROV data model [<cite><a class="bibref" href="#bib-PROV-PRIMER">PROV-PRIMER</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-o-20130312/">PROV-O</a> (Proposed Recommendation), the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF [<cite><a class="bibref" href="#bib-PROV-O">PROV-O</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-dm-20130312/">PROV-DM</a> (Proposed Recommendation), the PROV data model for provenance [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-n-20130312/">PROV-N</a> (Proposed Recommendation), a notation for provenance aimed at human consumption [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/">PROV-CONSTRAINTS</a> (Proposed Recommendation), a set of constraints applying to the PROV data model  (this document);</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-xml-20130312/">PROV-XML</a> (To be published as Note),  an XML schema for the PROV data model [<cite><a class="bibref" href="#bib-PROV-XML">PROV-XML</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-aq-20130312/">PROV-AQ</a> (To be published as Note), the mechanisms for accessing and querying provenance [<cite><a class="bibref" href="#bib-PROV-AQ">PROV-AQ</a></cite>]; </li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dictionary-20130312/">PROV-DICTIONARY</a> (To be published as Note) introduces a specific type of collection, consisting of key-entity pairs [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-dc-20130312/">PROV-DC</a> (To be published as Note) provides a mapping between PROV and Dublic Core Terms [<cite><a class="bibref" href="#bib-PROV-DC">PROV-DC</a></cite>];</li>
+<li> <a href="http://www.w3.org/TR/2013/WD-prov-links-20130312/">PROV-LINKS</a> (To be published as Note) introduces a mechanism to link across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>].</li>
+</ul>
+
+<h4 id="w3c-members-please-review-by-09-april-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Members Please Review By 09 April 2013</h4>
+
+<p>The <abbr title="World Wide Web Consortium">W3C</abbr> Director seeks review and feedback from <abbr title="World Wide Web Consortium">W3C</abbr> Advisory Committee representatives, via their <a href="http://form-tbd/">review form</a> by 09 April 2013. This will allow the Director to assess consensus and determine whether to issue this document as a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.</p>
+
+<p>Others are encouraged by the Provenance Working Group to continue to send reports of implementation experience, and other feedback, to
+<a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>). Reports of any success or difficulty with the test cases are encouraged. Open discussion among developers is welcome at
+<a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).</p>
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as a Proposed Recommendation.
+          
+            This document is intended to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
+          
+          
+          
+          
+          
+          
+          The <abbr title="World Wide Web Consortium">W3C</abbr> Membership and other interested parties are invited
+          to review the document and send comments to
+
+          <a href="mailto:[email protected]">[email protected]</a> 
+          (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>)
+          through 09 April 2013.
+          Advisory Committee Representatives should consult their
+          <a href="https://www.w3.org/2002/09/wbs/myQuestionnaires">WBS questionnaires</a>. 
+          Note that substantive technical comments were expected during the Last Call review period that ended 10 October 2012.
+        </p>
+        
+        
+        
+          <p>
+            Publication as a Proposed Recommendation does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+            This is a draft document and may be updated, replaced or obsoleted by other documents at 
+            any time. It is inappropriate to cite this document as other than work in progress.
+          </p>
+        
+        
+        <p>
+          
+            This document was produced by a group operating under the 
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+          
+            
+              <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/46974/status" rel="disclosure">public list of any patent disclosures</a> 
+            
+            made in connection with the deliverables of the group; that page also includes instructions for 
+            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains
+            <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the
+            information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+            6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+          
+          
+        </p>
+        
+      
+    
+  
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction<br>
+</a><ul class="toc"><li class="tocline"><a href="#conventions" class="tocxref"><span class="secno">1.1 </span>Conventions</a></li><li class="tocline"><a href="#purpose" class="tocxref"><span class="secno">1.2 </span>Purpose of this document</a></li><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.3 </span>Structure of this document</a></li><li class="tocline"><a href="#audience" class="tocxref"><span class="secno">1.4 </span> Audience </a></li></ul></li><li class="tocline"><a href="#rationale" class="tocxref"><span class="secno">2. </span>Rationale (Informative)</a><ul class="toc"><li class="tocline"><a href="#entities-activities-and-agents" class="tocxref"><span class="secno">2.1 </span>Entities, Activities and Agents</a></li><li class="tocline"><a href="#events" class="tocxref"><span class="secno">2.2 </span>Events</a></li><li class="tocline"><a href="#typing-section" class="tocxref"><span class="secno">2.3 </span>Types</a></li><li class="tocline"><a href="#overview" class="tocxref"><span class="secno">2.4 </span>Validation Process Overview</a></li><li class="tocline"><a href="#summary-of-inferences-and-constraints" class="tocxref"><span class="secno">2.5 </span>Summary of inferences and constraints</a></li></ul></li><li class="tocline"><a href="#compliance" class="tocxref"><span class="secno">3. </span>Compliance with this document</a></li><li class="tocline"><a href="#concepts" class="tocxref"><span class="secno">4. </span>Basic concepts</a></li><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">5. </span>Definitions and Inferences</a><ul class="toc"><li class="tocline"><a href="#optional-identifiers-and-attributes" class="tocxref"><span class="secno">5.1 </span>Optional Identifiers and Attributes</a></li><li class="tocline"><a href="#entities-and-activities" class="tocxref"><span class="secno">5.2 </span>Entities and Activities</a></li><li class="tocline"><a href="#derivations" class="tocxref"><span class="secno">5.3 </span>Derivations</a></li><li class="tocline"><a href="#agents" class="tocxref"><span class="secno">5.4 </span>Agents</a></li><li class="tocline"><a href="#alternate-and-specialized-entities" class="tocxref"><span class="secno">5.5 </span>Alternate and Specialized Entities</a></li></ul></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">6. </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">6.1 </span>Uniqueness Constraints</a></li><li class="tocline"><a href="#event-ordering-constraints" class="tocxref"><span class="secno">6.2 </span>Event Ordering Constraints</a><ul class="toc"><li class="tocline"><a href="#activity-constraints" class="tocxref"><span class="secno">6.2.1 </span>Activity constraints</a></li><li class="tocline"><a href="#entity-constraints" class="tocxref"><span class="secno">6.2.2 </span> Entity constraints</a></li><li class="tocline"><a href="#agent-constraints" class="tocxref"><span class="secno">6.2.3 </span> Agent constraints</a></li></ul></li><li class="tocline"><a href="#type-constraints" class="tocxref"><span class="secno">6.3 </span>Type Constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">6.4 </span>Impossibility constraints</a></li></ul></li><li class="tocline"><a href="#normalization-validity-equivalence" class="tocxref"><span class="secno">7. </span>Normalization, Validity, and Equivalence</a><ul class="toc"><li class="tocline"><a href="#instances" class="tocxref"><span class="secno">7.1 </span>Instances</a></li><li class="tocline"><a href="#bundle-constraints" class="tocxref"><span class="secno">7.2 </span>Bundles and Documents</a></li></ul></li><li class="tocline"><a href="#glossary" class="tocxref"><span class="secno">8. </span>Glossary</a></li><li class="tocline"><a href="#termination" class="tocxref"><span class="secno">A. </span>Termination of normalization</a></li><li class="tocline"><a href="#changes-from-last-call-working-draft-to-candidate-recommendation" class="tocxref"><span class="secno">B. </span>Changes from Last Call Working Draft to Candidate Recommendation</a></li><li class="tocline"><a href="#changes-from-candidate-recommendation-to-this-version" class="tocxref"><span class="secno">C. </span>Changes from Candidate Recommendation to this version</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">D. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">E. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">E.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">E.2 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+    <section id="introduction"> 
+      <!--OddPage--><h2><span class="secno">1. </span>Introduction<br>
+</h2> 
+
+<p>
+Provenance is a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing.
+This document complements
+  the PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] that defines a data model for
+  provenance on the Web. This document defines a form of validation for provenance. </p>
+
+
+
+    <section id="conventions"> 
+<h3><span class="secno">1.1 </span>Conventions</h3>
+
+
+
+<p>The key words "<em class="rfc2119" title="must">must</em>", "<em class="rfc2119" title="must not">must not</em>", "<em class="rfc2119" title="required">required</em>", "<em class="rfc2119" title="shall">shall</em>", "<em class="rfc2119" title="shall
+      not">shall
+      not</em>", "<em class="rfc2119" title="should">should</em>", "<em class="rfc2119" title="should not">should not</em>", "<em class="rfc2119" title="recommended">recommended</em>",  "<em class="rfc2119" title="may">may</em>", and
+      "<em class="rfc2119" title="optional">optional</em>" in this document are to be interpreted as described in
+      [<cite><a class="bibref" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+<p>In this document, logical formulas contain variables written as
+    lower-case identifiers.  Some of these variables are written
+    beginning with the underscore character <span class="name">_</span>, by convention, to indicate that they
+    appear only once in the formula.  Such variables are
+    provided merely as an aid to the reader.  </p>
+
+</section>
+
+
+<section id="purpose">
+
+<h3><span class="secno">1.2 </span>Purpose of this document</h3>
+
+<p>The PROV Data Model, PROV-DM, is a conceptual data model for provenance, which is
+realizable using different representations such as PROV-N and PROV-O.
+A PROV <a>instance</a> is a set of PROV statements.
+A PROV <a>document</a> is an instance 
+together with zero or more <a>bundles</a>, or named instances.  For
+example, a PROV document could be a .provn document, the result
+of a query, a triple store containing PROV statements in RDF, etc.
+The
+PROV-DM specification [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] imposes minimal requirements upon
+PROV instances. A <a href="#dfn-valid" class="internalDFN">valid</a> PROV instance corresponds to a
+consistent history of objects and interactions to which logical
+reasoning can be safely applied. PROV instances need not
+be <a href="#dfn-valid" class="internalDFN">valid</a>.
+The term <a href="#dfn-valid" class="internalDFN">valid</a> is chosen by analogy with
+notions of validity in other <abbr title="World Wide Web Consortium">W3C</abbr> specifications. This
+terminology differs from the usual meaning of "validity" in logic;
+our notion of validity of a PROV instance/document is closer to
+logical "consistency".
+</p>
+
+<p> This document specifies <em>definitions</em> of some
+provenance statements in terms of others, <em>inferences</em> over PROV instances
+that applications <em class="rfc2119" title="may">may</em> employ, and also defines a class of
+<a href="#dfn-valid" class="internalDFN">valid</a> PROV instances by specifying <em>constraints</em> that
+<a href="#dfn-valid" class="internalDFN">valid</a> PROV instances must satisfy. There are four kinds of
+constraints: <em>uniqueness constraints</em>, <em>event ordering
+constraints</em>, <em>impossibility constraints</em>, and <em>type
+constraints</em>.
+Further discussion
+of the semantics of PROV statements, which justifies the definitions, inferences
+and constraints, and relates the procedural specification approach
+taken here to a declarative specification, can be found in the formal semantics [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>].
+</p>
+
+<p>We define validity and equivalence in terms of a
+concept called <a title="normal form" href="#dfn-normal-form" class="internalDFN">normalization</a>.  Definitions, inferences,
+and uniqueness constraints can be applied to <a title="normal
+form" href="#dfn-normal-form" class="internalDFN">normalize</a> PROV instances, and event ordering, typing, and
+impossibility constraints can be checked on the normal form to determine
+<a title="valid" href="#dfn-valid" class="internalDFN">validity</a>.  Equivalence of two PROV 
+instances can be determined by comparing their normal forms.  For PROV
+documents, validity and equivalence amount to checking the validity or
+pairwise equivalence of their respective instances.
+</p>
+<p>
+This specification defines
+validity and equivalence procedurally, via an algorithm based on
+<a title="normal form" href="#dfn-normal-form" class="internalDFN">normalization</a>.  Applications <em class="rfc2119" title="may">may</em> implement
+validity and equivalence checking using normalization, as outlined
+here.  Applications <em class="rfc2119" title="may">may</em> also implement validation and equivalence
+checking in
+any other way as long as the same instances or documents are considered valid or
+equivalent, respectively.
+</p>
+
+<p> Checking validity or equivalence are <em class="rfc2119" title="recommended">recommended</em>, but not required, for
+applications compliant with PROV.  
+Applications producing provenance <em class="rfc2119" title="should">should</em> ensure that it is
+<a href="#dfn-valid" class="internalDFN">valid</a>, and similarly applications consuming provenance <em class="rfc2119" title="may">may</em> reject provenance that is not <a href="#dfn-valid" class="internalDFN">valid</a>.  Applications
+that are determining whether PROV instances or documents convey the same
+information <em class="rfc2119" title="should">should</em> check equivalence as specified here.  As a
+guideline, applications should 
+treat equivalent instances or documents in the same way.  This is a
+guideline only, because meaning of "in the same way" is
+application-specific.  For example, applications that manipulate the syntax of
+PROV instances in particular representations, such as pretty-printing
+or digital signing, have good reasons to treat syntactically
+different, but equivalent, documents differently.
+</p>
+</section>
+<section id="structure-of-this-document">
+<h3><span class="secno">1.3 </span>Structure of this document</h3>
+
+<p><a href="#rationale">Section 2</a> gives a brief rationale
+for the definitions, inferences and constraints.
+</p>
+<p>
+<a href="#compliance">Section 3</a> summarizes the
+requirements for compliance with this document, which are specified in
+detail in the rest of the document.  </p>
+<p>
+<a href="#concepts">Section 4</a> defines basic concepts used in the
+rest of the specification.  </p>
+
+<p> <a href="#inferences">Section 5</a> presents definitions and inferences.  Definitions allow replacing shorthand notation in [<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>]
+with more explicit and complete statements; inferences allow adding
+new facts representing implicit knowledge about the structure of
+provenance.  </p>
+
+<p><a href="#constraints">Section 6</a> presents four kinds of constraints,
+<em>uniqueness</em> constraints that prescribe that certain statements
+must be unique within PROV <a>instances</a>,
+<em>event ordering</em> constraints that require that the records in a
+PROV <a>instance</a> are consistent with a sensible ordering of events
+relating the activities, entities and agents involved, 
+<em>impossibility</em> constraints that forbid certain patterns of
+statements in valid PROV instances, and <em>type</em> constraints that
+classify the types of identifiers in valid PROV instances.
+</p>
+
+<p><a href="#normalization-validity-equivalence">Section 7</a> defines the notions
+of <a>validity</a>, <a>equivalence</a> and <a>normalization</a>.
+</p>
+
+
+
+</section>
+<section id="audience">
+<h3><span class="secno">1.4 </span> Audience </h3>
+
+<p> The audience for this document is the same as for [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>]: developers
+and users who wish to create, process, share or integrate provenance
+records on the (Semantic) Web.  Not all PROV-compliant applications
+need to perform inferences or check validity when processing provenance.
+However, applications that create or transform provenance <em class="rfc2119" title="should">should</em>
+attempt to produce valid provenance, to make it more useful to other
+applications by ruling out nonsensical or inconsistent information.
+</p>
+
+<p>This document assumes familiarity with [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] and employs the
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] notation.
+</p>
+
+</section>
+</section>
+
+<section id="rationale" class="informative">
+<!--OddPage--><h2><span class="secno">2. </span>Rationale (Informative)</h2><p><em>This section is non-normative.</em></p>
+<p> This section gives a high-level rationale that provides some
+  further background for the constraints, but does not affect the
+technical content of the rest of the specification.</p>
+
+<section class="informative" id="entities-activities-and-agents">
+<h3><span class="secno">2.1 </span>Entities, Activities and Agents</h3><p><em>This section is non-normative.</em></p>
+<p>
+One of the central challenges in representing provenance information
+is how to deal with change.  Real-world objects, information objects
+and Web resources change over time, and the characteristics that make
+them identifiable in a given situation are sometimes subject to change
+as well.  PROV allows for things to be described
+in different ways, with different descriptions of their 
+state.  
+</p>
+
+<p>
+An entity is a thing one wants to provide provenance for
+and whose situation in the world is described by some fixed
+attributes. An entity has a <dfn id="lifetime">lifetime</dfn>,
+defined as the period
+between its <a title="entity generation event" href="#dfn-generation-event" class="internalDFN">generation event</a>
+and its <a title="entity invalidation event" href="#dfn-invalidation-event" class="internalDFN">invalidation event</a>.
+An entity's attributes are established when the entity is
+created and (partially) describe the entity's situation and state
+during the entirety of the entity's lifetime.</p>
+
+<p>
+A different entity (perhaps representing a different user or
+system perspective) may fix other aspects of the same thing, and its provenance
+may be different.  Different entities that fix aspects of the same
+thing are called <em>alternates</em>, and the PROV relations of
+<span class="name">specializationOf</span> and <span class="name">alternateOf</span> can be used to link such entities.</p>
+
+<p>Besides entities, a variety of other PROV objects and relationships carry
+attributes, including activity, generation, usage, invalidation, start, end,
+communication, attribution, association, delegation, and
+derivation. Each object has an associated duration interval (which may
+be a single time point), and attribute-value pairs for a given object
+are expected to be descriptions that hold for the object's duration.
+</p>
+<p>
+However, the attributes of entities have special meaning because they
+are considered to be fixed aspects
+of underlying, changing things.  This motivates constraints on
+<span class="name">alternateOf</span> and <span class="name">specializationOf</span> relating the attribute values of
+different entities.
+</p>
+
+<p>
+In order to describe the provenance of something during an interval
+  over which relevant attributes of the thing are not fixed, a PROV
+  instance would describe multiple entities, each with its own
+  identifier, <a href="#lifetime" class="internalDFN">lifetime</a>, and fixed attributes, and express dependencies between
+  the various entities using <i><a title="instantaneous event" href="#dfn-event" class="internalDFN">events</a></i>.  For example, in order to
+  describe the provenance of several versions of a document, involving
+  attributes such as authorship that change over time, one can use
+  different entities for the versions linked by appropriate
+  generation, usage, revision, and invalidation events. 
+</p>
+
+<p>There is no assumption that the set of attributes listed in an
+<span class="name">entity</span> statement is complete, nor
+that the attributes are independent or orthogonal of each
+other. Similarly, there is no assumption that the attributes of an
+entity uniquely identify it.  Two different entities that present the
+same aspects of possibly different things can have the same
+attributes; this leads to potential ambiguity, which is mitigated through the
+use of identifiers.</p>
+
+<p>An <a>activity</a>'s lifetime is delimited by its <a title="activity start
+event" href="#dfn-start-event" class="internalDFN">start</a> and its <a title="activity end event" href="#dfn-end-event" class="internalDFN">end</a>
+events.  It occurs over
+an interval delimited by two <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous
+events</a>. However, an activity statement need not mention start or end time information, because they may not be known.
+An activity's attribute-value pairs are expected to describe the activity's situation during its lifetime.
+</p>
+
+
+
+<p>An activity is not an entity.  Indeed, an entity exists in full at
+any point in its lifetime, persists during this interval, and
+preserves the characteristics provided.  In
+contrast, an activity is something that occurs, happens, unfolds, or
+develops through time.  This
+distinction is similar to the distinction between 'continuant' and
+'occurrent' in logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].</p>
+
+
+</section>
+<section class="informative" id="events">
+<h3><span class="secno">2.2 </span>Events</h3><p><em>This section is non-normative.</em></p>
+
+<p> Although time is important for provenance, provenance can be used
+in many different contexts within individual systems and across the
+Web. Different systems may use different clocks which may not be
+precisely synchronized, so when provenance statements are combined by
+different systems, an application may not be able to align the times involved to a
+single global timeline.  Hence, PROV is designed to minimize
+assumptions about time.  Instead, PROV talks about (identified)
+events. </p>
+
+<p>The PROV data model is implicitly based on a notion of <dfn id="dfn-event">instantaneous event</dfn>s (or just <a title="instantaneous event" href="#dfn-event" class="internalDFN">event</a>s), that mark
+transitions in the world.  Events include generation, usage, or
+invalidation of entities, as well as start or end of activities.  This
+notion of event is not first-class in the data model, but it is useful
+for explaining its other concepts and its semantics [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>].
+Thus, events help justify  <i>inferences</i> on provenance as well as
+<i>validity</i> constraints indicating when provenance is
+  self-consistent.
+
+
+
+</p><p>Five kinds of <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous
+events</a> are used in PROV. The <strong>activity start</strong>
+and <strong>activity end</strong> events delimit the beginning and the
+end of activities, respectively. The 
+<strong>entity generation</strong>, <strong>entity usage</strong>, and <strong>entity
+invalidation</strong> events apply to entities, and the generation and
+invalidation events delimit the <a href="#lifetime" class="internalDFN">lifetime</a> of an entity. More
+precisely:
+</p>
+
+<p>An <dfn id="dfn-start-event">activity start event</dfn> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the instant an activity starts.</p>
+
+<p>An <dfn id="dfn-end-event">activity end event</dfn> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the instant an activity ends.</p>
+
+<p>An <dfn id="dfn-generation-event">entity generation event</dfn> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the  final instant of an entity's creation timespan, after which
+it is available for use.  The entity did not exist before this event.</p>
+
+
+<p>An <dfn id="dfn-usage-event">entity usage event</dfn> is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that marks the first instant of
+an entity's consumption timespan by an activity.  The described usage
+had not started before this instant, although the activity could
+potentially have used the same entity at a different time.</p>
+
+
+<p>An <dfn id="dfn-invalidation-event">entity invalidation event</dfn>
+is the <a title="instantaneous event" href="#dfn-event" class="internalDFN">instantaneous event</a> that
+marks the  initial instant of the destruction, invalidation, or
+cessation of an entity, after which the entity is  no longer available
+for use.  The entity no longer exists after this event.</p>
+
+</section>
+
+<section id="typing-section" class="informative">
+<h3><span class="secno">2.3 </span>Types</h3><p><em>This section is non-normative.</em></p>
+
+<p> As set out in other specifications, the identifiers used in PROV
+documents have associated type information.  An identifier can have
+more than one type, reflecting subtyping or allowed overlap between
+types, and so we define a set of types of each identifier, <span class="name">typeOf(id)</span>.  Some types are, however,
+required not to overlap (for example, no identifier can describe both
+an entity and an activity).
+In addition, an identifier cannot be used to identify both an object
+(that is, an entity, activity or agent) and a property (that is, a
+named event such as usage, generation, or a relationship such as
+attribution.)
+This specification includes <a href="#type-constraints">disjointness and typing constraints</a> that
+check these requirements.  Here, we 
+summarize the type constraints in <a href="#typing-table">Table 1</a>.
+</p>
+
+<div id="typing-table-fig">
+    <table id="typing-table" border="1" class="thinborder" style="margin-left: auto; margin-right: auto; border-color: black;">
+<caption id="typing-table-caption">Table 1: Summary of Typing Constraints</caption>
+      <tbody><tr>
+	<th>In relation...</th>
+	<th>identifier</th>
+	<th>has type(s)...</th>
+      </tr>
+
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+      <tr style="text-align: center; ">
+	<td class="name">entity(e,attrs)</td>
+	<td class="name" style="text-align: center; ">e</td>
+	<td class="name">'entity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">activity(a,t1,t2,attrs)</td>
+	<td class="name">a</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">agent(ag,attrs)</td>
+	<td class="name">ag</td>
+	<td class="name">'agent'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="2" class="name">used(id; a,e,t,attrs)</td>
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+     </tr>
+     <tr style="text-align: center; ">
+	<td class="name">a</td>
+	<td class="name">'activity'</td>
+      </tr>
+     <tr style="text-align: center; ">
+	<td rowspan="2" class="name">wasGeneratedBy(id; e,a,t,attrs)</td>
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+      </tr>
+     <tr style="text-align: center; ">
+	<td class="name">a</td>
+	<td class="name">'activity'</td>
+    </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="2" class="name">wasInformedBy(id; a2,a1,attrs)</td>
+	<td class="name">a2</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a1</td>
+	<td class="name">'activity'</td>
+      </tr>
+    <tr style="text-align: center; ">
+	<td rowspan="3" class="name">wasStartedBy(id; a2,e,a1,t,attrs)</td>
+	<td class="name">a2</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a1</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="3" class="name">wasEndedBy(id; a2,e,a1,t,attrs)</td>
+	<td class="name">a2</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a1</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="2" class="name">wasInvalidatedBy(id; e,a,t,attrs)</td>
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a</td>
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="3" class="name">wasDerivedFrom(id; e2,e1,a,g,u,attrs)</td>
+	<td class="name">e2</td>
+	<td class="name">'entity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">e1</td>
+	<td class="name">'entity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a</td>
+	<td class="name">'activity'</td>
+     </tr>
+     <tr style="text-align: center; ">
+	<td rowspan="2" class="name">wasAttributedTo(id; e,ag,attr)</td>
+	<td class="name">e</td>
+	<td class="name">'entity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">ag</td>
+	<td class="name">'agent'</td>
+     </tr>
+     <tr style="text-align: center; ">
+	<td rowspan="3" class="name">wasAssociatedWith(id; a,ag,pl,attrs)</td>
+	<td class="name">a</td> 
+	<td class="name">'activity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">ag</td> 
+	<td class="name">'agent'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">pl</td> 
+	<td class="name">'entity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="3" class="name">actedOnBehalfOf(id; ag2,ag1,a,attrs)</td>
+    	<td class="name">ag2</td> 
+	<td class="name">'agent'</td>
+     </tr>
+     <tr style="text-align: center; ">
+       <td class="name">ag1</td> 
+       <td class="name">'agent'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td class="name">a</td> 
+	<td class="name">'activity'</td>
+      </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="2" class="name">alternateOf(e1,e2)</td>
+    	<td class="name">e1</td> 
+	<td class="name">'entity'</td>
+     </tr>
+     <tr style="text-align: center; ">
+       <td class="name">e2</td> 
+       <td class="name">'entity'</td>
+     </tr>
+      <tr style="text-align: center; ">
+	<td rowspan="2" class="name">specializationOf(e1,e2)</td>
+    	<td class="name">e1</td> 
+	<td class="name">'entity'</td>
+     </tr>
+     <tr style="text-align: center; ">
+       <td class="name">e2</td> 
+       <td class="name">'entity'</td>
+     </tr>
+<!--
+      <tr style="text-align: center; ">
+	<td  rowspan="3" class="name">mentionOf(e1,e2,b)</td>
+    	<td class="name">e1</td> 
+	<td class="name">'entity'</td>
+     </tr>
+    <tr style="text-align: center; ">
+       <td class="name">e2</td> 
+       <td class="name">'entity'</td>
+     </tr>
+    <tr style="text-align: center; ">
+       <td class="name">b</td> 
+       <td class="name">'entity'</td>
+     </tr>
+-->
+           <tr style="text-align: center; ">
+	<td rowspan="2" class="name">hadMember(c,e)</td>
+    	<td class="name">c</td> 
+	<td class="name">'entity'<br> 'prov:Collection'</td>
+     </tr>
+     <tr style="text-align: center; ">
+       <td class="name">e</td> 
+       <td class="name">'entity'</td>
+     </tr>
+     <tr style="text-align: center; ">
+	<td class="name">entity(c,[prov:type='prov:EmptyCollection,...])</td>
+    	<td class="name">c</td> 
+	<td class="name">'entity'<br> 'prov:Collection' <br> 'prov:EmptyCollection'</td>
+     </tr>
+ </tbody></table>
+    </div>
+
+</section>
+<section id="overview" class="informative">
+<h3><span class="secno">2.4 </span>Validation Process Overview</h3><p><em>This section is non-normative.</em></p>
+
+
+    <p>
+  This section collects common concepts and operations that are used
+  throughout the specification, and relates them to background
+  terminology and ideas from logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>], constraint programming
+  [<cite><a class="bibref" href="#bib-CHR">CHR</a></cite>], and database constraints [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].  This section
+  does not attempt to provide a complete introduction to these topics,
+  but it is provided in order to aid readers familiar with one or more
+  of these topics in understanding the specification, and to clarify
+  some of the motivations for choices in the specification to all
+  readers.
+  </p>
+
+    <p>As discussed below, the definitions, inferences and constraints
+can be viewed as pure logical assertions that could be checked in a
+variety of ways.  The rest of this document specifies validity and
+equivalence procedurally, that is, in terms of a reference
+implementation based on normalization.  Although both declarative and
+procedural specification techniques have advantages, a purely
+declarative specification offers much less guidance for
+implementers, while the procedural approach adopted here immediately demonstrates
+implementability and provides an adequate (polynomial-time) default implementation.  In
+this section we relate the declarative meaning of formulas to their
+procedural meaning.  [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>] will provide an alternative,
+declarative characterization of validity and equivalence which could
+be used as a starting point for other implementation strategies.  </p>
+
+
+ 
+ <h3 id="constants-variables-and-placeholders">Constants, Variables and Placeholders</h3>
+  <p>
+  PROV statements involve identifiers, literals, 
+ placeholders, and attribute lists.  Identifiers are, according to PROV-N, expressed as <a href="http://www.w3.org/TR/2012/CR-prov-n-20121211/#prod-QUALIFIED_NAME">qualified names</a> which can be mapped to URIs [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].
+ However, in order to specify
+  constraints over PROV instances, we also need <em>variables</em>
+  that represent unknown identifiers, literals, or placeholders.
+  These variables are similar to those in first-order
+  logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].  A variable is a symbol that can be replaced by
+  other symbols, including either other variables or constant
+  identifiers, literals, or placeholders.  In a few special cases, we
+  also use variables for unknown attribute lists. 
+  To help distinguish identifiers and variables, we also term the former 'constant identifiers' to highlight their non-variable nature.
+  </p>
+  
+  <p>Several definitions and inferences conclude by saying that some
+  objects exist such that some other formulas hold.  Such an inference
+  introduces fresh <a>existential variable</a>s into the instance.  An
+  existential variable denotes a fixed object that exists, but its
+  exact identity is unknown.  Existential variables can stand for
+  unknown identifiers or literal values only; we do not allow
+  existential variables that stand for unknown attribute lists.  </p>
+
+  <p>In particular, many
+  occurrences of the placeholder symbol <span class="name">-</span> stand for unknown
+  objects; these are handled by expanding them to existential
+  variables. Some placeholders, however, indicate the absence of an
+  object, rather than an unknown object.  In other words, the
+  placeholder is overloaded, with different meanings in different
+  places.
+  </p>
+  <p>An expression is called a <em>term</em> if it is either a
+  constant identifier, literal, placeholder, or variable.  We write
+  <span class="math">t</span> to denote an arbitrary term.
+</p>
+
+  
+ <h4 id="substitution-1">Substitution</h4><p><em>This section is non-normative.</em></p>
+<p>A <em>substitution</em> is a function that maps variables to terms. Concretely, since we only
+  need to consider substitutions of finite sets of variables, we can
+  write substitutions as <span class="math">[x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span>.  A substitution
+  <span class="math">S = [x<sub>1</sub> = t<sub>1</sub>,...,x<sub>n</sub>=t<sub>n</sub>]</span> 
+  can be <em>applied</em> to a term by replacing occurrences of
+<span class="math">x_i</span> with <span class="math">t_i</span>.
+</p>
+<!--
+as follows.
+<ol><li>
+  If the term is a variable <span class="math">x<sub>i</sub></span>, one of the variables in the
+  domain of <span class="math">S</span>, then <span class="math">S(x<sub>i</sub>) = t<sub>i</sub></span>.
+  </li>
+  <li>If the term is a constant identifier or literal <span
+  class="math">c</span>, then <span class="math">S(c) = c</span>.
+  </li>
+  </ol>
+-->
+  <p>
+  In addition, a substitution can be applied to an atomic formula
+  (PROV statement) <span class="math">p(t<sub>1</sub>,...,t<sub>n</sub>)</span> by applying it to each term,
+  that is, <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>.  Likewise, a
+  substitution <span class="math">S</span> can be applied to an instance <span class="math">I</span> by applying
+  it to each atomic formula (PROV statement) in <span class="math">I</span>, that is, <span class="math">S(I)
+  = {S(A) | A ∈ I}</span>.
+</p>
+
+
+  
+ 
+
+ <h4 id="formulas">Formulas</h4>
+  <p>
+  For the purpose of constraint checking, we view PROV statements
+  (possibly involving existential variables) as
+  <dfn id="dfn-formulas">formulas</dfn>.  An instance is analogous to a "theory" in
+  logic, that is, a set of formulas all thought to describe the same
+  situation.  The set can also be thought of a single, large formula:
+  the conjunction of all of the atomic formulas.
+  </p>
+<p>The atomic constraints considered in this specification can be
+  viewed as atomic formulas:</p>
+<ul>
+  <li>Uniqueness constraints employ atomic equational formulas <span class="math">t =
+  t'</span>.</li>
+  <li>Ordering constraints employ atomic precedence relations that can
+  be thought of as binary formulas <span class="math">precedes(t,t')</span> or <span class="math">strictly_precedes(t,t')</span>
+  </li>
+  <li>Typing constraints <span class="name">'type' ∈ typeOf(id)</span>
+  can be represented as a atomic formulas <span class="name">typeOf(id,'type')</span>.
+  </li>
+  <li>Impossibility constraints employ the conclusion <span class="name">INVALID</span>,
+  which is equivalent to the logical constant <span class="math">False</span>. </li>
+  </ul>
+  <p> Similarly, the definitions, inferences, and constraint rules in this
+  specification can also be viewed as logical formulas, built up out
+  of atomic formulas, logical connectives "and" (∧), "implies" (⇒),
+  and quantifiers "for all" (∀) and "there exists" (∃).  For more
+  background on logical formulas, see a logic textbook such as [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].</p>
+<ul>
+  <li>
+  A definition of the form <span class="name">A</span> <span class="conditional">IF AND ONLY IF</span> there
+  exists <span class="name">y<sub>1</sub></span>...<span class="name">y<sub>m</sub></span> such that <span class="name">B<sub>1</sub></span> and ... and <span class="name">B<sub>k</sub></span>
+  can be thought of as a formula <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>, where <span class="math">x<sub>1</sub></span>...<span class="math">x<sub>n</sub></span> are the
+  free variables of the definition.  
+</li>
+<li>An inference of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub></span> and ... and <span class="name">A<sub>p</sub></span>  <span class="conditional">THEN</span>  there
+  exists <span class="name">y<sub>1</sub></span>...<span class="name">y<sub>m</sub></span> such that <span class="name">B<sub>1</sub></span> and ... and <span class="name">B<sub>k</sub></span> can
+  be thought of as a formula <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>, where <span class="math">x<sub>1</sub></span>...<span class="math">x<sub>n</sub></span> are the
+  free variables of the inference.  
+</li>
+<li>A uniqueness, ordering, or typing constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> <span class="conditional">THEN</span> <span class="name">C</span> can be viewed as a formula
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ C</span>.  </li>
+<li>A constraint of the form <span class="conditional">IF</span> <span class="name">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> <span class="conditional">THEN INVALID</span> can be viewed as a formula
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ False</span>.  </li>
+  </ul>
+
+
+ <h4 id="satisfying-definitions-inferences-and-constraints">Satisfying definitions, inferences, and constraints</h4>
+  <p>
+  In logic, a formula's meaning is defined by saying when it is
+  <em>satisfied</em>.  We can view
+  definitions, inferences, and constraints as being satisfied or not
+  satisfied in a PROV instance, augmented with information about the constraints.
+  </p>
+  <ol>
+    <li>A logical equivalence as used in a definition is satisfied
+  when the formula <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> holds, that is, for any substitution of the
+  variables <span class="math">x<sub>1</sub>,....,x<sub>n</sub></span>, formula <span class="math">A</span> and
+  formula <span class="math">∃
+  y<sub>1</sub>...y<sub>m</sub>. B<sub>1</sub> ∧ ... ∧
+  B<sub>k</sub></span> are either both true or both false.
+    </li>
+  <li>A logical implication as used in an inference is
+   satisfied with the formula  <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> holds, that is, for any substitution of
+  the variables <span class="math">x<sub>1</sub>,....,x<sub>n</sub></span>, if  <span class="math">A<sub>1</sub> ∧ ... ∧
+  A<sub>p</sub></span> is true, then 
+ for some further substitution of terms for variables <span class="math">
+  y<sub>1</sub>...y<sub>m</sub></span>, formula <span class="math">B<sub>1</sub> ∧ ... ∧
+  B<sub>k</sub></span> is also true.</li>
+  <li>A uniqueness, ordering, or typing constraint is satisfied when
+  its associated formula <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ C</span> holds, that is, for any substitution of
+  the variables <span class="math">x<sub>1</sub>,....,x<sub>n</sub></span>, if  <span class="math">A<sub>1</sub> ∧ ... ∧
+  A<sub>p</sub></span> is true, then <span class="math">C</span> is
+  also true.</li>
+  <li>An impossibility constraint is satisfied when the formula
+  <span class="math">∀ x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒
+  False</span> holds.  This is logically equivalent to <span class="math">∄
+  x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span>, that is, there exists no
+  substitution for <span class="math">x<sub>1</sub>...x<sub>n</sub></span> making <span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> true.
+</li></ol>  
+
+<h4 id="unification-and-merging">Unification and Merging</h4>
+
+  <p><em>Unification</em> is an operation that takes two terms and compares them to
+  determine whether they can be made equal by substituting an
+  existential variable with another term.  If so, the result is such a
+  substitution; otherwise, the result is failure.  Unification is an
+  essential concept in logic programming and automated reasoning,
+where terms can involve variables, constants and function symbols.  In PROV,
+  by comparison, unification only needs to deal with variables,
+  constants and literals.
+</p>
+<p>
+Unifying two terms <span class="math">t,t'</span> results in either substitution <span class="math">S</span>
+  such that <span class="math">S(t) = S(t')</span>, or failure indicating that there is no
+  substitution that can be applied to both <span class="math">t</span> and <span class="math">t'</span> to make
+  them equal.  Unification is also used to define an operation on PROV
+  statements called <em>merging</em>.  Merging takes two statements
+  that have equal identifiers, unifies their corresponding term
+  arguments, and combines their attribute lists.  
+</p>
+
+  
+
+ <h4 id="applying-definitions-inferences-and-constraints">Applying definitions, inferences, and constraints</h4>
+<p>Formulas can also be interpreted as having computational
+  content.  That is, if an instance does not satisfy a formula, we can
+  often <em>apply</em> the formula to the instance to produce another
+  instance that does satisfy the formula.  Definitions, inferences,
+  and uniqueness constraints can be applied to instances:
+</p>
+  <ul>
+  <li>
+  A definition of the form <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>
+  can be applied by searching for any occurrences of <span class="math">A</span> in the instance  and adding <span class="math"> B<sub>1</sub>, ..., B<sub>k</sub></span>, generating fresh existential
+  variables <span class="math">y<sub>1</sub>,...,y<sub>m</sub></span>, and conversely, whenever there is an
+    occurrence of <span class="math"> B<sub>1</sub>, ..., B<sub>k</sub></span>, adding
+    <span class="math">A</span>.
+    In our setting, the defined formulas <span class="math">A</span> are never used in other
+    formulas, so it is sufficient to replace all occurrences of
+    <span class="math">A</span> with their definitions.  The formula <span class="math">A</span> is then redundant, and can be
+  removed from the instance.
+</li>
+<li>An inference of the form <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> can be applied by searching for  any occurrences of <span class="math"> A<sub>1</sub> ∧ ... ∧
+  A<sub>p</sub></span> in the instance and, for each such match,
+for which the entire conclusion does not already hold (for some <span class="math">y<sub>1</sub>,...,y<sub>m</sub></span>),
+adding <span class="math">B<sub>1</sub> ∧
+  ... ∧ B<sub>k</sub></span> to the instance, generating fresh existential
+  variables <span class="math">y<sub>1</sub>,...,y<sub>m</sub></span>.
+</li>
+<li>A uniqueness  constraint of the form <span class="math">∀
+x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ t
+= t'</span> can be
+  applied by searching for an occurrence <span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> in the instance, and
+  if one is found, unifying the terms <span class="math">t</span> and
+<span class="math">t'</span>. If successful, the resulting
+substitution is applied to the instance; otherwise, the application
+of the uniqueness constraint fails.  </li>
+<li>A key constraint can similarly be applied by searching for
+different occurrences of a statement with the same identifier, unifying the
+corresponding parameters of the statements, and concatenating their
+attribute lists, to form a single statement.  The substitutions obtained by unification are applied to
+the merged statement and the rest of the instance.
+</li>
+  </ul>
+  
+ <p>As noted above, uniqueness or key constraint
+  application can <em>fail</em>, if a required unification or merging step fails.  Failure of constraint
+  application means that there is no way to add information to the
+  instance to satisfy the constraint, which in turn implies that the
+  instance is <em>invalid</em>.
+  </p>
+  <p>
+  The process of applying definitions, inferences, and constraints
+  to a PROV instance until all of them are satisfied is similar to
+  what is sometimes 
+  called <em>chasing</em> [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>] or <em>saturation</em>
+  [<cite><a class="bibref" href="#bib-CHR">CHR</a></cite>].  We call this process <em>normalization</em>.
+  </p>
+  <p>
+  Although this specification outlines one particular way of
+  performing inferences and checking constraints, based on
+  normalization, implementations can use any other equivalent
+  algorithm.  The logical formulas corresponding to the definitions,
+  inferences, and constraints outlined above (and further elaborated
+  in [<cite><a class="bibref" href="#bib-PROV-SEM">PROV-SEM</a></cite>]) provides an equivalent specification, and any
+  implementation that correctly checks validity and equivalence (whether it performs normalization or not) complies
+  with this specification.
+  </p>
+
+ 
+ <h4 id="termination-1">Termination</h4>
+  <p>
+ In general, applying sets of logical formulas of the above
+  definition, inference, and constraint forms is not guaranteed to
+  terminate.  A simple example is the inference <span class="math">R(x,y) ⇒ ∃z. R(x,z)
+  ∧R(z,y)</span>, which can be applied to <span class="math">{R(a,b)}</span> to generate an
+  infinite sequence of larger and larger instances.  To ensure that
+  normalization, validity, and equivalence are decidable, we require
+  that normalization terminates.  There is a great deal of work on termination of the chase in
+  databases, or of sets of constraint handling rules.  The termination
+  of the notion of normalization defined in this specification is
+  guaranteed because the definitions, inferences and uniqueness/key
+  constraints correspond to a <em>weakly acyclic</em> set of
+  tuple-generating and equality-generating dependencies, in the
+  terminology of [<cite><a class="bibref" href="#bib-DBCONSTRAINTS">DBCONSTRAINTS</a></cite>].  The termination of the remaining
+  ordering, typing, and impossibility constraints is easy to show.  <a href="#termination">Appendix
+  A</a> gives a proof that the definitions, inferences, and uniqueness
+  and key constraints are weakly acyclic and therefore terminating.
+  </p>
+  <p>
+  There is an important subtlety that is essential to guarantee
+  termination.  This specification draws a distinction between knowing
+  that an identifier has type <span class="name">'entity'</span>, <span class="name">'activity'</span>, or <span class="name">'agent'</span>, and having
+  an explicit <span class="name">entity(id)</span>, <span class="name">activity(id)</span>, or <span class="name">agent(id)</span> statement in the instance.
+  For example, focusing on entity statements, we can infer <span class="name">'entity' ∈ typeOf(id)</span> if  <span class="name">entity(id)</span> holds in the instance.  In contrast, if we only know
+  that <span class="name">'entity' ∈ typeOf(id)</span>, this does not imply that <span class="name">entity(id)</span>
+  holds.
+  </p>
+  <p>
+  This distinction (for both entities and activities) is essential to
+  ensure termination of the inferences, because we allow inferring
+  that a declared <span class="name">entity(id,attrs)</span> has a generation
+  and invalidation event, using
+  <a class="rule-text" href="#entity-generation-invalidation-inference_text"><span>Inference 7 (entity-generation-invalidation-inference)</span></a>.
+  Likewise, for activities, we allow inferring that a declared <span class="name">activity(id,t1,t2,attrs)</span> has a generation
+  and invalidation event, using
+  <a class="rule-text" href="#activity-start-end-inference_text"><span>Inference 8 (activity-start-end-inference)</span></a>.  These
+  inferences do not apply to identifiers whose types are known, but for
+  which there is not an explicit entity or activity statement.
+If we strengthened the type
+  inference constraints to add new entity or activity statements for
+  the entities and activities involved in generating or starting other
+  declared entities or activities, then we could keep generating new entities and
+  activities in an unbounded chain into the past (as in the "chicken
+  and egg" paradox).  The
+  design adopted here requires that instances explicitly declare the
+  entities and activities that are relevant for validity checking, and only
+  these can be inferred to have invalidation/generation and start/end events.  This inference
+  is not supported for identifiers
+that are indirectly referenced in other relations and therefore have
+  type <span class="name">'entity'</span> or <span class="name">'activity'</span>.  
+  </p>
+
+
+<div style="text-align: center;">
+<span class="figure" id="fig-figure-1-overview-of-the-validation-process">
+<img src="images/constraints/prov-c.graffle.svg/overview.svg" alt="validation process overview">
+<br>
+<span class="figcaption" id="validation-process-overview">Figure 1<sup><a class="internalDFN" href="#validation-process-overview"><span class="diamond"> ◊:</span></a></sup> Overview of the Validation Process</span>
+</span> <!-- <b>new Figure 1:</b>  -->
+</div>
+
+
+ <h4 id="checking-ordering-typing-and-impossibility-constraints">Checking ordering, typing, and impossibility constraints</h4>
+  <p>
+  The ordering, typing, and impossibility constraints are checked
+  rather than applied.  This means that they do not generate new
+  formulas expressible in PROV, but they do generate basic constraints
+  that might or might not be consistent with each other.  Checking
+  such constraints follows a saturation strategy similar to that for normalization:
+  </p>
+  <ol>
+  <li><p>
+    For ordering constraints, we check by generating all of the
+  precedes and strictly-precedes relationships specified by the rules.  These can be thought
+  of as a directed graph whose nodes are terms, and whose edges are
+  precedes or strictly-precedes relationships.  
+    An ordering constraint  of the form <span class="math">∀
+x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒
+precedes(t,t')</span> can be applied by searching for occurrences of
+<span class="math"> A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> and for each such match
+adding the atomic formula <span class="math">precedes(t,t')</span> to
+  the instance, and similarly for strictly-precedes constraints.  After all such constraints have been checked, and the
+  resulting edges added to the graph, the ordering constraints are
+  violated if there is a cycle in the graph that includes a
+  strictly-precedes edge, and satisfied otherwise.
+    </p>
+</li>
+<li><p>For typing constraints, we check by constructing a function
+  <span class="math">typeOf(id)</span> mapping identifiers to sets of possible types.  We
+  start with a function mapping each identifier to the empty set,
+  reflecting no constraints on the identifiers' types.  A typing
+  constraint of the form <span class="math">∀
+x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒ 'type' ∈ typeOf(id)
+</span> is checked  by adjusting the
+  function by adding <span class="name">'type'</span> to <span class="math">typeOf(id)</span> for each conclusion
+  <span class="name">'type' ∈ typeOf(id)</span> of the rule.  Typing constraints with
+  multiple conclusions are handled analogously.  Once all constraints
+  have been checked in all possible ways, we check that the
+  disjointness constraints hold of the resulting <span class="math">typeOf</span> function.
+  (These are essentially impossibility constraints).
+</p>
+  </li>
+  <li><p>For impossibility constraints, we check by searching for the
+  forbidden pattern that the impossibility constraint describes. Any
+  match of this pattern leads to failure of the constraint checking process.
+An impossibility constraint of the form <span class="math">∀
+x<sub>1</sub>...x<sub>n</sub>. A<sub>1</sub> ∧ ... ∧ A<sub>p</sub> ⇒
+False</span> can be applied by  searching for occurrences of
+<span class="math">A<sub>1</sub> ∧ ... ∧ A<sub>p</sub></span> in the instance, and if any
+such occurrence is found, signaling failure.</p>
+  </li>
+  </ol>
+  <p>
+  A normalized instance that passes all of the ordering, typing,
+  and impossibility constraint checks 
+  is called <a href="#dfn-valid" class="internalDFN">valid</a>.  Validity can be, but is not required to be,
+  checked by normalizing and then checking constraints.  Any other
+  algorithm that provides equivalent behavior (that is, accepts the
+  same valid instances and rejects the same invalid instances) is allowed.
+  In particular, the checked constraints and the
+  applied definitions, inferences and uniqueness constraints do not
+  interfere with one another, so it is also possible to mix checking
+  and application.  This may be desirable in order to detect
+  invalidity more quickly.
+  </p>
+
+
+
+ <h4 id="equivalence-and-isomorphism">Equivalence and Isomorphism</h4>
+  <p> Given two normal forms, a natural question is whether they contain
+  the same information, that is, whether they are equivalent (if so,
+  then the original instances are also equivalent.)  By analogy with
+  logic, if we consider normalized PROV instances with existential
+  variables to represent sets of possible situations, then two normal
+  forms may describe the same situation but differ in inessential
+  details such as the order of statements or of elements of
+  attribute-value lists.  To remedy this, we can easily consider
+  instances to be equivalent up to reordering of attributes.  However,
+  instances can also be equivalent if they differ only in choice of
+  names of existential variables. Because of this, the appropriate
+  notion of equivalence of normal forms is <em>isomorphism</em>.  Two
+  instances <span class="math">I<sub>1</sub></span> and <span class="math">I<sub>2</sub></span> are <em>isomorphic</em> if there is an invertible
+  substitution <span class="math">S</span> mapping existential variables to existential variables such that <span class="math">S(I<sub>1</sub>) = I<sub>2</sub></span>.
+<!--
+  This is similar to the notion of equivalence used in [[RDF]], where
+  blank nodes play an analogous role to existential variables.
+  -->
+  </p>
+ 
+<p>Equivalence can be checked by normalizing instances, checking that
+  both instances are valid, then
+  testing whether the two normal forms are isomorphic.  (It is
+  technically possible for two invalid normal forms to be isomorphic,
+  but to be considered equivalent, the two instances must also be
+  valid.)
+As with validity, the algorithm suggested by this specification is
+  just one of many possible ways to implement equivalence checking; it
+  is not required that implementations compute normal forms
+  explicitly, only that their determinations of equivalence match
+  those obtained by the algorithm in this specification.
+  </p>
+
+<p>Equivalence is only explicitly specified for
+valid instances (whose normal forms exist and are unique up to
+isomorphism).  Implementations may test equivalences involving valid
+and invalid documents.  This specification does not constrain the
+behavior of equivalence checking involving invalid instances, provided
+that:
+</p>
+<ul>
+  <li>instance equivalence is <a href="#dfn-reflexive" class="internalDFN">reflexive</a>, <a href="#dfn-symmetric" class="internalDFN">symmetric</a> and
+  <a href="#dfn-transitive" class="internalDFN">transitive</a> on all instances</li>
+  <li> no valid instance is equivalent to an invalid instance.</li>
+  </ul>
+<p>
+Because of the second constraint, equivalence is essentially the union
+  of two equivalence relations on the disjoint sets of valid and
+  invalid instances.
+  There are two simple implementations of equivalence for invalid
+  documents that are correct:</p>
+  <ol>
+    <li>each invalid instance is equivalent only to itself</li>
+    <li>every pair of invalid instances are equivalent</li>
+  </ol>
+  
+<h4 id="from-instances-to-bundles-and-documents">From Instances to Bundles and Documents</h4>
+
+<p>PROV documents can contain multiple instances: a <a>toplevel
+instance</a>, and
+zero or more additional, named instances called <a>bundle</a>s.  For the purpose
+of inference and constraint checking, these instances are treated independently. That is,
+a PROV document is valid provided that each instance in it is valid
+and the names of its bundles are distinct.  In other words, there are
+no validity constraints that need to be checked across the different
+instances in a PROV document; the contents of one instance in a
+multi-instance PROV document cannot affect the validity of another instance.
+Similarly, a PROV document is
+equivalent to another if their toplevel instances are equivalent, they
+have the same number of bundles with the same names, and the instances
+of their corresponding bundles are equivalent.
+<!--Analogously to blank nodes in
+[[RDF]],-->
+The scope of an existential variable in PROV is delimited at the instance
+level.  This means that occurrences of existential variables with the
+  same name appearing in different statements within the same
+  instance stand for a common, unknown term.  However, existential variables with the same name occurring in
+different instances do not necessarily denote the same term.  This
+is a consequence of the fact that the instances of two equivalent
+documents only need to be  pairwise isomorphic; this is a weaker
+property than requiring that there be a single isomorphism that works
+for all of the corresponding instances.
+</p>
+</section>
+
+<section class="informative" id="summary-of-inferences-and-constraints">
+<h3><span class="secno">2.5 </span>Summary of inferences and constraints</h3><p><em>This section is non-normative.</em></p>
+
+<p><a href="">Table 2</a> summarizes the inferences, and
+constraints specified in this document, broken down by component and
+type or relation involved.
+</p>
+
+<!--
+<div class="note">Table: work in progress; these entries might change when the document is updated.</div>
+-->
+
+<div id="prov-constraints-fig" style="text-align: left;">
+<table class="thinborder" style="margin-left: auto; margin-right: auto; border-color: black;">
+<caption id="prov-constraints">Table 2: Summary of inferences and constraints for PROV Types and Relations</caption>
+<tbody><tr><td><a><b>Type or Relation Name</b></a></td><td><b>
+  Inferences and Constraints</b></td><td><b>Component</b></td></tr>
+<tr><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td><td style="border-width: 0px; "></td></tr>
+
+
+<tr class="component1-color">
+	<td class="essential"><a>Entity</a></td>
+	<td><a class="rule-text" href="#entity-generation-invalidation-inference_text"><span>Inference 7 (entity-generation-invalidation-inference)</span></a><br>
+		<a class="rule-text" href="#specialization-attributes-inference_text"><span>Inference 21 (specialization-attributes-inference)</span></a><br>
+		<a class="rule-text" href="#key-object_text"><span>Constraint 22 (key-object)</span></a><br>
+		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint 54 (impossible-object-property-overlap)</span></a><br>
+		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint 55 (entity-activity-disjoint)</span></a><br>
+	</td>
+	<td rowspan="8" style="text-align: center; "><a href="http://www.w3.org/TR/2012/CR-prov-dm-20121211/#component1" title="Component 1: Entities/Activities">1</a></td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Activity</a></td>
+	<td><a class="rule-text" href="#activity-start-end-inference_text"><span>Inference 8 (activity-start-end-inference)</span></a><br>
+		<a class="rule-text" href="#key-object_text"><span>Constraint 22 (key-object)</span></a><br>
+		<a class="rule-text" href="#unique-startTime_text"><span>Constraint 28 (unique-startTime)</span></a><br>
+		<a class="rule-text" href="#unique-endTime_text"><span>Constraint 29 (unique-endTime)</span></a><br>
+		<a class="rule-text" href="#impossible-object-property-overlap_text"><span>Constraint 54 (impossible-object-property-overlap)</span></a><br>
+		<a class="rule-text" href="#entity-activity-disjoint_text"><span>Constraint 55 (entity-activity-disjoint)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Generation</a></td>
+	<td><a class="rule-text" href="#generation-use-communication-inference_text"><span>Inference 6 (generation-use-communication-inference)</span></a><br>
+<!--		<a class="rule-text" href="#derivation-use-inference"><span>TBD</span></a><br>-->
+		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-generation_text"><span>Constraint 24 (unique-generation)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint 36 (generation-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint 37 (generation-precedes-usage)</span></a><br>
+		<a class="rule-text" href="#generation-generation-ordering_text"><span>Constraint 39 (generation-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#derivation-generation-generation-ordering_text"><span>Constraint 42 (derivation-generation-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#specialization-generation-ordering_text"><span>Constraint 45 (specialization-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAttributedTo-ordering_text"><span>Constraint 48 (wasAttributedTo-ordering)</span></a><br>
+		<a class="rule-text" href="#actedOnBehalfOf-ordering_text"><span>Constraint 49 (actedOnBehalfOf-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Usage</a></td>
+	<td><a class="rule-text" href="#generation-use-communication-inference_text"><span>Inference 6 (generation-use-communication-inference)</span></a><br>
+		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-usage_text"><span>Constraint 37 (generation-precedes-usage)</span></a><br>
+		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint 38 (usage-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#derivation-usage-generation-ordering_text"><span>Constraint 41 (derivation-usage-generation-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Communication</a></td>
+	<td><a class="rule-text" href="#communication-generation-use-inference_text"><span>Inference 5 (communication-generation-use-inference)</span></a><br>
+		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Start</a></td>
+	<td><a class="rule-text" href="#wasStartedBy-inference_text"><span>Inference 9 (wasStartedBy-inference)</span></a><br>
+		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-wasStartedBy_text"><span>Constraint 26 (unique-wasStartedBy)</span></a><br>
+		<a class="rule-text" href="#unique-startTime_text"><span>Constraint 28 (unique-startTime)</span></a><br>
+		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint 30 (start-precedes-end)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#start-start-ordering_text"><span>Constraint 31 (start-start-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>End</a></td>
+	<td><a class="rule-text" href="#wasEndedBy-inference_text"><span>Inference 10 (wasEndedBy-inference)</span></a><br>
+		<a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-wasEndedBy_text"><span>Constraint 27 (unique-wasEndedBy)</span></a><br>
+		<a class="rule-text" href="#unique-endTime_text"><span>Constraint 29 (unique-endTime)</span></a><br>
+		<a class="rule-text" href="#start-precedes-end_text"><span>Constraint 30 (start-precedes-end)</span></a><br>
+		<a class="rule-text" href="#usage-within-activity_text"><span>Constraint 33 (usage-within-activity)</span></a><br>
+		<a class="rule-text" href="#generation-within-activity_text"><span>Constraint 34 (generation-within-activity)</span></a><br>
+		<a class="rule-text" href="#wasInformedBy-ordering_text"><span>Constraint 35 (wasInformedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#end-end-ordering_text"><span>Constraint 32 (end-end-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>
+		<a class="rule-text" href="#impossible-property-overlap_text"><span>Constraint 53 (impossible-property-overlap)</span></a><br>
+		<a class="rule-text" href="#typing_text"><span>Constraint 50 (typing)</span></a><br>
+	</td>
+</tr>
+<tr class="component1-color">
+	<td class="essential"><a>Invalidation</a></td>
+	<td><a class="rule-text" href="#influence-inference_text"><span>Inference 15 (influence-inference)</span></a><br>
+		<a class="rule-text" href="#key-properties_text"><span>Constraint 23 (key-properties)</span></a><br>
+		<a class="rule-text" href="#unique-invalidation_text"><span>Constraint 25 (unique-invalidation)</span></a><br>
+		<a class="rule-text" href="#generation-precedes-invalidation_text"><span>Constraint 36 (generation-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#usage-precedes-invalidation_text"><span>Constraint 38 (usage-precedes-invalidation)</span></a><br>
+		<a class="rule-text" href="#invalidation-invalidation-ordering_text"><span>Constraint 40 (invalidation-invalidation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasStartedBy-ordering_text"><span>Constraint 43 (wasStartedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#wasEndedBy-ordering_text"><span>Constraint 44 (wasEndedBy-ordering)</span></a><br>
+		<a class="rule-text" href="#specialization-invalidation-ordering_text"><span>Constraint 46 (specialization-invalidation-ordering)</span></a><br>
+		<a class="rule-text" href="#wasAssociatedWith-ordering_text"><span>Constraint 47 (wasAssociatedWith-ordering)</span></a><br>