* added prov-sem staging dir
authorjcheney@inf.ed.ac.uk
Thu, 04 Apr 2013 15:44:19 +0100
changeset 6047 668b93ed1c7b
parent 6046 ad5be5939eaa
child 6048 57dcf1e0eb01
* added prov-sem staging dir
semantics/releases/NOTE-prov-sem-20130430/Overview.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/semantics/releases/NOTE-prov-sem-20130430/Overview.html	Thu Apr 04 15:44:19 2013 +0100
@@ -0,0 +1,4063 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head> 
+    <title>Semantics 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;
+}
+
+.semantics {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #0f0;
+    background: #fff;
+}
+
+.component {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #088;
+    background: #fff;
+}
+
+
+
+.theorem {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #888;
+    background: #fff;
+}
+
+.proof {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px dotted #888;
+    background: #FFFFFF;
+}
+.proof::before {
+    content:    "Proof";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #000;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.proof::after {
+    content:    "QED";
+    display:    block;
+    text-align: right;
+    font-weight:    bold;
+    padding:    3px 1em;
+}
+
+/* .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="https://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>  -->
+
+
+
+     
+    
+
+<!-- <script type="text/javascript" class="remove"
+            src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
+    </script> -->
+
+
+  
+    
+
+     
+  <style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
+.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
+</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+.MathJax_MenuItem {padding: 1px 2em; background: transparent}
+.MathJax_MenuTitle {background-color: #CCCCCC; margin: -5px 0 0 0; text-align: center; font-style: italic; font-size: 80%; color: #444444; padding: 2px 0; overflow: hidden}
+.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
+.MathJax_MenuActive .MathJax_MenuArrow {color: white}
+.MathJax_MenuCheck {position: absolute; left: .7em}
+.MathJax_MenuRadioCheck {position: absolute; left: .7em}
+.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
+.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
+.MathJax_MenuDisabled {color: GrayText}
+.MathJax_MenuActive {background-color: #606872; color: white}
+.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
+</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
+#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
+</style><style type="text/css">.MathJax_Preview {color: #888}
+#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
+#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
+.MathJax_Error {color: #CC0000; font-style: italic}
+</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><style>/* --- ISSUES/NOTES --- */
+div.issue-title, div.note-title {
+    padding-right:  1em;
+    min-width: 7.5em;
+    color: #b9ab2d;
+}
+div.issue-title { color: #e05252; }
+div.note-title { color: #52e052; }
+div.issue-title span, div.note-title span {
+    text-transform: uppercase;
+}
+div.note, div.issue {
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+.note > p:first-child, .issue > p:first-child { margin-top: 0 }
+.issue, .note {
+    padding: .5em;
+    border-left-width: .5em;
+    border-left-style: solid;
+}
+div.issue, div.note {
+    padding: 0.5em;
+    margin: 1em 0;
+    position: relative;
+    clear: both;
+}
+span.note, span.issue { padding: .1em .5em .15em; }
+
+.issue {
+    border-color: #e05252;
+    background: #fbe9e9;
+}
+.note {
+    border-color: #52e052;
+    background: #e9fbe9;
+}
+
+
+</style><link rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-ED"><style type="text/css">DIV.MathJax_MathML {text-align: center; margin: .75em 0px}
+.MathJax_MathML {font-style: normal; font-weight: normal; line-height: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; border: 0; padding: 0; margin: 0}
+span.MathJax_MathML {display: inline}
+div.MathJax_MathML {display: block}
+.MathJax_mmlExBox {display: block; overflow: hidden; height: 1px; width: 60ex; padding: 0; border: 0; margin: 0}
+</style><!--[if lt IE 9]><script src='http://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> 
+  <body><div id="MathJax_Message" style="display: none; "></div><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">Semantics of the PROV Data Model</h1>
+  
+  <h2 id="w3c-editor-s-draft-04-april-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft 04 April 2013</h2>
+  <dl>
+    
+      <dt>This version:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+      <dt>Latest published version:</dt>
+      <dd><a href="http://www.w3.org/TR/prov-sem/">http://www.w3.org/TR/prov-sem/</a></dd>
+    
+    
+      <dt>Latest editor's draft:</dt>
+      <dd><a href="http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html">http://dvcs.w3.org/hg/prov/raw-file/default/semantics/prov-sem.html</a></dd>
+    
+    
+    
+    
+      
+    
+    
+    
+    <dt>Editor:</dt>
+    <dd><a href="http://homepages.inf.ed.ac.uk/jcheney">James Cheney</a>, University of Edinburgh</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.
+</p>
+
+
+<p> This document presents a model-theoretic semantics for the PROV
+data model (called the <dfn id="dfn-naive-semantics">naive semantics</dfn>), viewing
+PROV-DM statements as atomic formulas in the sense of first-order
+logic, and viewing the constraints and inferences specified in
+PROV-CONSTRAINTS as a first-order theory. It is shown that the
+first-order theory is sound with respect to the naive semantics.
+This information may be useful to researchers or users of PROV to
+understand the intended meaning and use of PROV for modeling
+information about the actual history, derivation or evolution of Web
+resources.  It may also be useful for development of additional
+constraints or inferences for reasoning about PROV or integration of
+PROV with other Semantic Web vocabularies.  It is <b>not</b> proposed
+as a canonical or required semantics of PROV and does not place any
+constraints on the use of PROV.</p>
+
+<p>The PROV Document Overview 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 [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>];</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-sem-20130312/">PROV-SEM</a>
+(To be published as Note), a declarative specification in terms of
+first-order logic of the PROV data model (this document);</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>
+
+
+        <p>
+          This document was published by the <a href="http://www.w3.org/2011/prov/">Provenance Working Group</a> as an Editor's Draft.
+          
+          
+          If you wish to make comments regarding this document, please send them to 
+          <a href="mailto:public-prov-comments@w3.org">public-prov-comments@w3.org</a> 
+          (<a href="mailto:public-prov-comments-request@w3.org?subject=subscribe">subscribe</a>,
+          <a href="http://lists.w3.org/Archives/Public/public-prov-comments/">archives</a>).
+          
+          
+          
+          
+        All comments are welcome.
+        
+        
+          </p><p>
+            Publication as an Editor's Draft 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</a><ul class="toc"><li class="tocline"><a href="#purpose" class="tocxref"><span class="secno">1.1 </span>Purpose of this document</a></li><li class="tocline"><a href="#structure-of-this-document" class="tocxref"><span class="secno">1.2 </span>Structure of this document</a></li><li class="tocline"><a href="#audience" class="tocxref"><span class="secno">1.3 </span> Audience </a></li></ul></li><li class="tocline"><a href="#basics" class="tocxref"><span class="secno">2. </span> Basics </a><ul class="toc"><li class="tocline"><a href="#identifiers" class="tocxref"><span class="secno">2.1 </span> Identifiers </a></li><li class="tocline"><a href="#times" class="tocxref"><span class="secno">2.2 </span> Times </a></li><li class="tocline"><a href="#attributes-and-values" class="tocxref"><span class="secno">2.3 </span> Attributes and Values </a></li><li class="tocline"><a href="#formulas" class="tocxref"><span class="secno">2.4 </span>Atomic Formulas</a></li><li class="tocline"><a href="#first-order-formulas" class="tocxref"><span class="secno">2.5 </span>First-Order Formulas</a></li></ul></li><li class="tocline"><a href="#structures" class="tocxref"><span class="secno">3. </span> Structures and Interpretations </a><ul class="toc"><li class="tocline"><a href="#things-1" class="tocxref"><span class="secno">3.1 </span> Things </a></li><li class="tocline"><a href="#objects-1" class="tocxref"><span class="secno">3.2 </span> Objects </a><ul class="toc"><li class="tocline"><a href="#entities-1" class="tocxref"><span class="secno">3.2.1 </span> Entities </a><ul class="toc"><li class="tocline"><a href="#plans-1" class="tocxref"><span class="secno">3.2.1.1 </span> Plans </a></li><li class="tocline"><a href="#collections-1" class="tocxref"><span class="secno">3.2.1.2 </span>Collections</a></li></ul></li><li class="tocline"><a href="#activities-1" class="tocxref"><span class="secno">3.2.2 </span> Activities </a></li><li class="tocline"><a href="#agents-1" class="tocxref"><span class="secno">3.2.3 </span> Agents </a></li><li class="tocline"><a href="#influences-1" class="tocxref"><span class="secno">3.2.4 </span> Influences </a><ul class="toc"><li class="tocline"><a href="#events-1" class="tocxref"><span class="secno">3.2.4.1 </span> Events </a></li><li class="tocline"><a href="#associations-1" class="tocxref"><span class="secno">3.2.4.2 </span> Associations </a></li><li class="tocline"><a href="#attributions-1" class="tocxref"><span class="secno">3.2.4.3 </span> Attributions </a></li><li class="tocline"><a href="#communications-1" class="tocxref"><span class="secno">3.2.4.4 </span>Communications</a></li><li class="tocline"><a href="#delegations-1" class="tocxref"><span class="secno">3.2.4.5 </span>Delegations</a></li><li class="tocline"><a href="#derivations-1" class="tocxref"><span class="secno">3.2.4.6 </span> Derivations </a></li></ul></li></ul></li><li class="tocline"><a href="#additional-axioms" class="tocxref"><span class="secno">3.3 </span>Additional axioms</a></li><li class="tocline"><a href="#putting-it-all-together" class="tocxref"><span class="secno">3.4 </span> Putting it all together </a></li><li class="tocline"><a href="#interpretations" class="tocxref"><span class="secno">3.5 </span> Interpretations </a></li></ul></li><li class="tocline"><a href="#semantics" class="tocxref"><span class="secno">4. </span> Semantics </a><ul class="toc"><li class="tocline"><a href="#satisfaction" class="tocxref"><span class="secno">4.1 </span> Satisfaction </a></li><li class="tocline"><a href="#attribute-matching" class="tocxref"><span class="secno">4.2 </span> Attribute matching </a></li><li class="tocline"><a href="#semantics-of-element-formulas" class="tocxref"><span class="secno">4.3 </span> Semantics of Element Formulas </a><ul class="toc"><li class="tocline"><a href="#entity" class="tocxref"><span class="secno">4.3.1 </span> Entity </a></li><li class="tocline"><a href="#activity" class="tocxref"><span class="secno">4.3.2 </span> Activity </a></li><li class="tocline"><a href="#agent" class="tocxref"><span class="secno">4.3.3 </span> Agent </a></li></ul></li><li class="tocline"><a href="#semantics-of-relations" class="tocxref"><span class="secno">4.4 </span> Semantics of Relations </a><ul class="toc"><li class="tocline"><a href="#generation" class="tocxref"><span class="secno">4.4.1 </span> Generation </a></li><li class="tocline"><a href="#use" class="tocxref"><span class="secno">4.4.2 </span> Use </a></li><li class="tocline"><a href="#invalidation" class="tocxref"><span class="secno">4.4.3 </span> Invalidation </a></li><li class="tocline"><a href="#association" class="tocxref"><span class="secno">4.4.4 </span> Association </a></li><li class="tocline"><a href="#start" class="tocxref"><span class="secno">4.4.5 </span> Start </a></li><li class="tocline"><a href="#end" class="tocxref"><span class="secno">4.4.6 </span> End </a></li><li class="tocline"><a href="#attribution" class="tocxref"><span class="secno">4.4.7 </span> Attribution </a></li><li class="tocline"><a href="#communication" class="tocxref"><span class="secno">4.4.8 </span>Communication</a></li><li class="tocline"><a href="#delegation" class="tocxref"><span class="secno">4.4.9 </span> Delegation </a></li><li class="tocline"><a href="#derivation" class="tocxref"><span class="secno">4.4.10 </span> Derivation </a><ul class="toc"><li class="tocline"><a href="#precise" class="tocxref"><span class="secno">4.4.10.1 </span> Precise </a></li><li class="tocline"><a href="#imprecise" class="tocxref"><span class="secno">4.4.10.2 </span> Imprecise </a></li></ul></li><li class="tocline"><a href="#influence" class="tocxref"><span class="secno">4.4.11 </span>Influence</a></li><li class="tocline"><a href="#specialization" class="tocxref"><span class="secno">4.4.12 </span> Specialization </a></li><li class="tocline"><a href="#alternate" class="tocxref"><span class="secno">4.4.13 </span> Alternate </a></li><li class="tocline"><a href="#membership" class="tocxref"><span class="secno">4.4.14 </span> Membership </a></li></ul></li><li class="tocline"><a href="#semantics-of-auxiliary-formulas" class="tocxref"><span class="secno">4.5 </span>Semantics of Auxiliary Formulas</a><ul class="toc"><li class="tocline"><a href="#precedes-and-strictly-precedes" class="tocxref"><span class="secno">4.5.1 </span>Precedes and Strictly Precedes</a></li><li class="tocline"><a href="#notnull" class="tocxref"><span class="secno">4.5.2 </span>notNull</a></li><li class="tocline"><a href="#typeof" class="tocxref"><span class="secno">4.5.3 </span>typeOf</a></li></ul></li></ul></li><li class="tocline"><a href="#theory" class="tocxref"><span class="secno">5. </span> Inferences and Constraints </a><ul class="toc"><li class="tocline"><a href="#inferences" class="tocxref"><span class="secno">5.1 </span>Inferences</a></li><li class="tocline"><a href="#constraints" class="tocxref"><span class="secno">5.2 </span>Constraints</a><ul class="toc"><li class="tocline"><a href="#uniqueness-constraints" class="tocxref"><span class="secno">5.2.1 </span>Uniqueness constraints</a></li><li class="tocline"><a href="#ordering-constraints" class="tocxref"><span class="secno">5.2.2 </span>Ordering constraints</a></li><li class="tocline"><a href="#typing-constraints" class="tocxref"><span class="secno">5.2.3 </span>Typing constraints</a></li><li class="tocline"><a href="#impossibility-constraints" class="tocxref"><span class="secno">5.2.4 </span>Impossibility constraints</a></li></ul></li></ul></li><li class="tocline"><a href="#soundness-completeness" class="tocxref"><span class="secno">6. </span>Soundness and Completeness</a><ul class="toc"><li class="tocline"><a href="#soundness" class="tocxref"><span class="secno">6.1 </span>Soundness</a></li><li class="tocline"><a href="#completeness" class="tocxref"><span class="secno">6.2 </span>Weak Completeness</a><ul class="toc"><li class="tocline"><a href="#sets" class="tocxref"><span class="secno">6.2.1 </span>Sets</a></li><li class="tocline"><a href="#functions" class="tocxref"><span class="secno">6.2.2 </span>Functions</a></li><li class="tocline"><a href="#relations" class="tocxref"><span class="secno">6.2.3 </span>Relations</a></li><li class="tocline"><a href="#axioms-1" class="tocxref"><span class="secno">6.2.4 </span>Axioms</a></li><li class="tocline"><a href="#main-results" class="tocxref"><span class="secno">6.2.5 </span>Main results</a></li></ul></li></ul></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+
+
+
+    <section id="introduction"> 
+      <!--OddPage--><h2><span class="secno">1. </span>Introduction</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, and the PROV-CONSTRAINTS specification
+[<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] that
+specifies definitions, inferences, and constraints that can be used to
+reason about PROV documents, or determine their validity.  This document
+provides a naive formal semantics of PROV, providing a formal
+counterpart to the informal descriptions and motivations given
+elsewhere in PROV specifications.</p>
+
+
+
+<!--
+<section id="conventions"> 
+<h3>Conventions</h3>
+
+
+<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.1 </span>Purpose of this document</h3>
+
+</section>
+<p>The PROV-DM and PROV-CONSTRAINTS give motivating examples that
+provide an intuition about the meaning of the constructs.  For some
+concepts, such as use, start, end, generation/invalidation, and
+derivation, the meaning is either obvious or situation-dependent.
+However, during the development of PROV, the importance of additional
+concepts became evident, but the intuitive meaning or correct use of
+these concepts were not clear.  For example, the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-1-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-1">alternateOf</script> and
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-2-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-2">specializationOf</script> relations are used in PROV to relate different
+entities that present aspects of "the same thing".  
+Over time the working group came to a
+consensus about these concepts and how they are to be used, but this
+understanding is based on abstract notions that are not explicit in
+PROV documents; instead, some of their properties are captured
+formally through certain constraints and inferences, while others are
+not captured in PROV specifications at all.
+</p>
+
+<p>The purpose of this document is to present the working group's
+consensus view of the semantics of PROV, using tools from mathematical
+logic, principally model theory (though our use of these tools is lightweight).  This information may be useful to users for understanding the
+intent behind certain features of PROV, to researchers investigating
+richer forms of reasoning over provenance, or to future efforts
+building upon PROV.  It is intended as an exploration of <b>one</b> semantics for PROV, not a definitive specification of the  <b>only</b>
+semantics of PROV.  We intend to provide an intuitive semantics that satisfies all
+of the constraints on valid PROV instances, which ensures that no
+invalid PROV instance has a model.  The current naive semantics, however, is
+not complete in the sense that some valid PROV instances lack models.</p>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  <p>TODO: Revise this to reflect future improvements in the semantics.</p>
+  </div></div>
+
+<p> Although it is a work in progress, the naive semantics has some appealing
+properties.  Specifically, it provides a declarative counterpart to
+the operational definition of validity taken in PROV-CONSTRAINTS.  In
+the specification, validity is defined via a normalization process
+followed by constraint checking on the normal form.  This approach was adopted
+to keep the specification closer to implementations, although other
+implementations are possible and allowed.  In addition to providing a
+naive semantics, this document shows that the operational
+presentation of PROV validity checking is sound with respect to the
+declarative presentation adopted here.  This could help justify
+alternative approaches to validity checking.</p>
+
+<p>This document mostly considers the semantics of PROV statements and
+  instances.  PROV documents can consist of multiple instances, such
+  as named bundles. The semantics does not (as yet) cover general PROV documents, but the
+  semantics can be used on each instance in a document separately,
+  just as PROV-CONSTRAINTS specifies that each instance in a document
+  is to be validated separately.
+  So, in the rest of this document, we discuss only PROV instances and
+  not PROV documents.
+  The semantics of extensions of PROV, such as dictionaries
+  [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>] and linking across bundles [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>], are
+  beyond the scope of this document.  </p>
+  
+<section id="structure-of-this-document"> <h3><span class="secno">1.2 </span>Structure of this document</h3> <p>
+
+</p>
+
+<ul>
+  <li><a href="#basics">Section 2</a> summarizes the basic concepts
+  from mathematical logic used in the semantics,  recapitulates how
+  PROV statements can be viewed as atomic formulas, and introduces
+  some auxiliary formulas.</li>
+  <li><a href="#structures">Section 3</a> presents the mathematical
+  structures used for situations that PROV statements can
+  describe.</li>
+  <li><a href="#semantics">Section 4</a> defines the semantics of PROV
+  statements and auxiliary formulas, indicating when a given formula
+  is satisfied in a structure.</li>
+  <li><a href="#theory">Section 5</a> presents the inferences and
+  constraints from PROV-CONSTRAINTS as first-order formulas, and gives
+  brief justifications for their soundness.</li>
+  <li><a href="#soundness-completeness">Section 6</a> summarizes the
+  main results relating PROV-CONSTRAINTS validation to the semantics,
+  including soundness and a weak form of completeness: a PROV
+  instance is valid if and only if it has a naive model.</li>
+</ul>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+<p>TODO: We would like to say something stronger here, such as a
+  completeness result for naive models, but this will take more work.</p>
+  </div></div>
+
+</section>
+<section id="audience">
+<h3><span class="secno">1.3 </span> Audience </h3>
+
+
+<p>This document assumes familiarity with [<cite><a class="bibref" href="#bib-PROV-DM">PROV-DM</a></cite>] and
+  [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>] and employs (a
+  simplified form of) 
+[<cite><a class="bibref" href="#bib-PROV-N">PROV-N</a></cite>] notation.  In particular it assumes familiarity with the concepts
+  from logic, and the relationship between PROV statements and
+  instances and first-order formulas and theories, respectively,
+  presented in <a href="http://www.w3.org/TR/2013/PR-prov-constraints-20130312/#overview">Section 2.5</a> of PROV-CONSTRAINTS.
+</p>
+
+  <p>This document may be useful to users of PROV who have a formal
+  background and are interested in the rationale for some of the
+  constructs of PROV; for researchers investigating extensions of PROV
+  or alternative approaches to reasoning about PROV; or for future
+  efforts on provenance standardization.  </p>
+
+  </section>
+
+  </section>
+
+
+  <!--
+  
+<section id="overview">
+<h2> Overview </h2>
+
+
+<p>The idea of this document is to sketch what aspects of the provenance model can be formalized and how they can be formalized, as a first step towards establishing a consensus on the (intended) meaning of the components of the model and the consistency constraints or inferences that can be applied to the model to distinguish valid from invalid provenance records.</p>
+
+<p>The <a href="http://www.w3.org/TR/prov-constraints/">PROV-CONSTRAINTS</a> document contains formal content specifying a notion of validity (approximately, logical consistency) for PROV documents.  The formal semantics, PROV-SEM, is planned for release as a W3C Note that will complement the procedural specification in PROV-CONSTRAINTS with a declarative specification formulated in terms of first-order logic.   The formal semantics is <b>work in progress</b>.  The drafts below are intermediate stages and some of them are out of date.  
+</p>
+
+<h3> Status </h3>
+
+<p>
+This is work in progress.  The semantics is being updated to be consistent with the Candidate Recommendation of PROV.  The plan is to release the semantics as a Note over the next few months.  At that point, the wiki pages containing drafts of the semantics will be superseded.
+</p>
+
+
+<h3> Idea of the semantics </h3>
+
+<p>As a starting point, I will assume that we intend the statements made in a PROV-DM instance to be intended to describe one, consistent state of the world, much like a logical formula is said to be satisfied in a mathematical model.  That is, I propose an approach similar to that taken in model theory, where the PROV-DM instance corresponds to a formula or theory of a logic, and the semantics corresponds to what logicians call a model.</p>
+
+<p>For example, the formula $\forall x. P(x) \Rightarrow Q(x)$ is satisfied in a mathematical model where the relation $P$ denotes a set of elements that is contained in that denoted by $Q$.  Here, the goal is to come up with a plausible "intended model" for interpreting PROV-DM instances, where the formulas are statements in PROV-DM and the individuals are things and agents.  This is complicated by the fact that many statements about provenance involve talking about objects that change over time.</p>
+
+<p>The word "world" is used in PROV-DM to talk about the actual state
+of affairs that the PROV-DM instance describes, which is what I would
+usually call a "model".  The word "model" is used in PROV-DM mainly in
+the sense of "data model", that is, to talk about what I would
+otherwise call the syntax of PROV-DM.  To avoid confusion with the
+uses of terms in PROV-DM, I will use "structure" to describe the
+mathematical structure that corresponds to actual state of affairs.
+We use the term "model" to describe a structure that satisfies a given
+theory; this sense of "model" does not mean "data model".</p>
+
+<h3> Axiomatization and relationship to PROV-CONSTRAINTS </h3>
+
+<p>One goal of the semantics is to link the procedural specification of validity and equivalence with traditional notions of logical consistency and equivalence of theories, for example in first-order logic.  A first-order axiomatization that corresponds to the formal constraints and is sound for reasoning about the models described below is in progress at the end of the document.
+</p>
+</section>
+-->
+
+<section id="basics">
+<!--OddPage--><h2><span class="secno">2. </span> Basics </h2>
+
+
+
+
+
+<section id="identifiers">
+<h3><span class="secno">2.1 </span> Identifiers </h3>
+
+<p>A lowercase symbol <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-3-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">,</mo><mi>y</mi><mo stretchy="false">,</mo><mo>.</mo><mo>.</mo><mo>.</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-3">x,y,...</script> on its own denotes an identifier.
+Identifiers may or may not be URIs.  Identifiers are viewed as
+variables from the point of view of logic.  Identifiers denote objects, and
+two different identifiers <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-4-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-4">x</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-5-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-5">y</script> may denote equal or different objects.  We write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-6-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-6">Identifiers</script> for the
+set of identifiers of interest in a given situation (typically, the
+set of identifiers present in the PROV instance of interest).
+</p>
+</section>
+
+
+<section id="times">
+<h3><span class="secno">2.2 </span> Times </h3>
+
+<p>We assume an ordered set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-7-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mo stretchy="false">≤</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-7">(Times,\leq)</script> of time instants, where
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-8-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>V</mi><mi>a</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-8">Times \subseteq Val</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-9-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≤</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-9">\leq</script> is a linear order.
+</p>
+
+
+<div class="remark">
+<p>Restricting attention to linearly-ordered times, and imposing this
+  order on events, is a simplifying assumption; it is more restrictive than required to model the
+  constraints. As a result, there are currently some valid PROV
+  instances that do not have naive models.  It is intended that the
+  final version of the semantics will provide a more general class of
+  models such that every valid instance has a model.
+  </p>
+  </div>
+  
+<p>We also consider a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-10-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-10">Intervals</script> of subsets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-11-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-11">Times</script>  of the
+  form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-12-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mi>t</mi><mo stretchy="false">∣</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≤</mo><mi>t</mi><mo stretchy="false">≤</mo><msub><mi>t</mi><mn>2</mn></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-12">[t_1,t_2] = \{t \mid t_1 \leq t \leq t_2\}</script>.  Every interval has a minimum
+  and maximum time, written <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-13-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-13">min([t_1,t_2]) = t_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-14-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>x</mi><mo stretchy="false">(</mo><mo stretchy="false">[</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-14">max([t_1,t_2])
+  = t_2</script> respectively.
+</p>
+
+  
+</section>
+  
+
+
+
+  
+<section id="attributes-and-values">
+<h3><span class="secno">2.3 </span> Attributes and Values </h3>
+
+<p>We assume a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-15-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-15">Attributes</script> of attribute labels and a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-16-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-16">Values</script>
+of possible values of attributes.  To allow for the fact that some
+attributes can have undefined or multiple values, we sometimes use the set
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-17-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-17">P(Value)</script>, that is, the set of sets of values.
+</p> </section>
+
+<section id="formulas">
+<h3><span class="secno">2.4 </span>Atomic Formulas</h3>
+
+<p>The following atomic formulas correspond to the statements of PROV-DM.  We assume that definitions 1-4 of PROV-CONSTRAINTS have been applied in order to expand all optional parameters; thus, we use uniform notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-18-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-18">r(id,a_1,\ldots,a_n)</script> instead of the semicolon notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-19-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">;</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-19">r(id;a_1,\ldots,a_n)</script>.
+</p>
+<p>Each parameter is either an identifier, a constant (e.g. a time or
+  other literal value in an attribute list), or a null symbol "-".
+  Placeholder symbols <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-20-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-20">-</script> can only appear in the specified arguments
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-21-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-21">pl</script> in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-22-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-22">wasAssociatedWith</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-23-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-23">a,g,u</script> in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-24-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-24">wasDerivedFrom</script>, as shown in the grammar below.
+</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-25-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi>a</mi><mi>t</mi><mi>o</mi><mi>m</mi><mi>i</mi><mi>c</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>l</mi><mi>e</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>r</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>u</mi><mi>x</mi><mi>i</mi><mi>l</mi><mi>i</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd><mi>e</mi><mi>l</mi><mi>e</mi><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>r</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>f</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>x</mi><mo stretchy="false">,</mo><mi>y</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>a</mi><mi>u</mi><mi>x</mi><mi>i</mi><mi>l</mi><mi>i</mi><mi>a</mi><mi>r</mi><mi>y</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></mtd><mtd><mo stretchy="false">::=</mo></mtd><mtd><mo stretchy="false">[</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>n</mi></msub><mo stretchy="false">=</mo><msub><mi>v</mi><mi>n</mi></msub><mo stretchy="false">]</mo></mtd></mtr><mtr><mtd><mi>t</mi><mi>y</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-25">
+\newcommand{\precedes}{~\mathrel{\textrm{precedes}}~}
+\newcommand{\strictlyPrecedes}{~\mathrel{\textrm{strictlyPrecedes}}~}
+  \begin{array}{rcl}
+  atomic\_formula & {::=}& element\_formula\\
+          & | & relation\_formula\\
+          & | & auxiliary\_formula\\ 
+  element\_formula
+          &{::=} &entity(id,attrs) \\
+          & |&  activity(id,st,et,attrs)\\
+          & |&  agent(id,attrs)\\
+  relation\_formula
+          &{::=}& wasGeneratedBy(id,e,a,t,attrs)\\
+          & |&  used(id,e,a,t,attrs)\\
+          & |&  wasInvalidatedBy(id,e,a,t,attrs)\\
+          & |&  wasStartedBy(id,a_2,e,a_1,t,attrs)\\
+          & |&  wasEndedBy(id,a_2,e,a_1,t,attrs)\\
+          & |&  wasAssociatedWith(id,ag,act,pl,attrs)\\
+          & |&  wasAssociatedWith(id,ag,act,-,attrs)\\
+          & |&  wasAttributedTo(id,e,ag,attrs)\\
+          & |&  actedOnBehalfOf(if,ag_2,ag_1,act,attrs)\\
+          & |& wasInformedBy(id,a_2,a_1,attrs)\\
+          & |&  wasDerivedFrom(id,e_2,e_1,act,g,u,attrs)\\
+          & |&  wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)\\
+& | & wasInfluencedBy(id,x,y,attrs)\\
+          & |&  alternateOf(e_1,e_2)\\
+          & |&  specializationOf(e_1,e_2)\\
+ & | & hadMember(c,e)\\
+  auxiliary\_formula
+          &{::=}& x \strictlyPrecedes y\\
+          & | & x \precedes y\\
+          & | & notNull(x)\\
+          & | & typeOf(x,ty)\\
+attrs &::=& [attr_1 = v_1, \ldots,attr_n = v_n]\\
+ ty &{::=}& entity \\
+&|& activity\\
+&|& agent\\
+&|& Collection\\
+&|& EmptyCollection
+\end{array}
+</script>
+
+<div class="remark">
+  <p>We include the standard PROV collection types (<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-26-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-26">Collection</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-27-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-27">EmptyCollection</script>) and the membership relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-28-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-28">hadMember</script>; however,
+  we do not model dictionaries or the insertion or deletion relations
+  in PROV-DICTIONARY [<cite><a class="bibref" href="#bib-PROV-DICTIONARY">PROV-DICTIONARY</a></cite>], since these are not part
+  of the PROV recommendations.  If these features are incorporated
+  into future standards, their semantics (and the soundness of the
+  associated constraints) should be modeled.
+  We omit the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-29-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-29">prov</script> prefixes from the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-30-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-30">Collection</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-31-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-31">EmptyCollection</script> types.
+  </p>
+
+  <p>As stated in the Introduction, we do not explicitly model
+  bundles or PROV documents; however, each instance can be viewed as
+  a set of formulas and can be modeled separately.  The semantics of
+  the standard features of PROV can be defined without talking about
+  multiple instances; however, the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-32-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-32">mentionOf</script> relation in
+  PROV-LINKS [<cite><a class="bibref" href="#bib-PROV-LINKS">PROV-LINKS</a></cite>] is intended to support linking across
+  bundles.  Future editions of PROV may incorporate <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-33-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-33">mentionOf</script> or
+  other cross-instance assertions, and if so this semantics should be
+  generalized in order to provide a rationale for such an
+  extension and to establish the soundness of constaints associated
+  with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-34-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-34">mentionOf</script>. </p>
+</div>
+</section>
+
+<section id="first-order-formulas">
+<h3><span class="secno">2.5 </span>First-Order Formulas</h3>
+
+<p>We also consider the usual connectives and quantifiers of
+first-order logic [<cite><a class="bibref" href="#bib-Logic">Logic</a></cite>].</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-35-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="italic">ϕ</mi></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">::=</mo></mrow></mtd><mtd><mi>a</mi><mi>t</mi><mi>o</mi><mi>m</mi><mi>i</mi><mi>c</mi><mi mathvariant="normal">_</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>u</mi><mi>l</mi><mi>a</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>T</mi><mi>r</mi><mi>u</mi><mi>e</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi>x</mi><mo stretchy="false">=</mo><mi>y</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">¬</mi><mtext>&nbsp;</mtext><mi mathvariant="italic">ϕ</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∧</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∨</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">⇒</mo><msub><mi mathvariant="italic">ϕ</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">∀</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></mtd></mtr><mtr><mtd></mtd><mtd><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">|</mo></mrow></mtd><mtd><mi mathvariant="normal">∃</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-35">
+\begin{array}{rcl}
+  \phi &{::=}& atomic\_formula\\
+& | & True\\
+& | & False\\
+&|&x = y\\
+& | & \neg~\phi\\
+ &|& \phi_1 \wedge \phi_2\\
+ &|& \phi_1 \vee \phi_2\\
+ &|& \phi_1 \Rightarrow \phi_2\\
+&|& \forall x. \phi\\
+&|& \exists x. \phi\\
+\end{array}
+</script>
+
+
+</section>
+<!--
+<section>
+<h3>Instances as Theories</h3>
+<p>A PROV-DM
+instance can be viewed as a set of atomic formulas
+$\phi_1$...$\phi_n$, often called a <em>theory</em>.  A theory is
+viewed as a conjunction, that is, the overall instance is considered
+to hold in a given structure if each atomic formula in it holds.</p>
+</section>
+-->
+
+
+</section>
+
+
+<section id="structures">
+<!--OddPage--><h2><span class="secno">3. </span> Structures and Interpretations </h2>
+
+<p> In this section we define mathematical structures <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-36-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-36">W</script> that can be used to
+interpret PROV formulas and instances.  A structure consists of a
+collection of sets, functions and relations.  The components of a
+structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-37-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-37">W</script> are given in the rest of the section in
+<em>components</em>, highlighted in boxes.
+</p><section id="things-1">
+
+<h3><span class="secno">3.1 </span> Things </h3> 
+
+<p><em>Things</em>  is a set of things in the situation being modeled.  Each thing has a lifetime during which it exists and attributes whose values can change over time.
+</p>
+<p>To model this, a structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-38-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-38">W</script> includes:
+</p>
+<div class="component" id="things" data-count="1" data-title="Component 1 (things)"><div class="ruleTitle"><a class="internalDFN" href="#things">Component 1 (things)</a></div><ol>
+  <li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-39-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-39">Things</script> of things</li>
+  <li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-40-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">→</mo><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-40">lifetime : Things \to Intervals</script> from things to intervals</li>
+  <li>a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-41-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">:</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-41">value : Things \times Attributes \times Times \to P(Values)</script>
+</li>
+</ol>
+</div>
+<p>
+The range of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-42-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-42">value</script> is the set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-43-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-43">P(Values)</script>, indicating that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-44-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-44">value</script>
+is essentially a multi-valued function that returns a set of values (possibly empty).    When <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-45-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-45">value(x,a,t) =
+\emptyset</script>, we say that attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-46-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-46">a</script> is undefined for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-47-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-47">x</script> at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-48-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-48">t</script>.</p>
+
+<p>Note that this description does not say what the structure of a
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-49-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-49">Thing</script> is, only how it may be described in terms of its lifetime
+and attribute values.  A thing could be a record of fixed
+attribute values; it could be a bear; it could be the Royal Society;
+it could be a transcendental number like <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-50-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">π</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-50">\pi</script>.  All that matters from
+our point of view is that we know how to map the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-51-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-51">Thing</script> to its time interval and attribute mapping.
+</p>
+
+
+<p>The identity of a Thing is not observable through its attributes or
+lifetime, so it is possible for two different <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-52-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-52">Things</script> to be indistinguishable by their
+attribute values and lifetime.  That is, if the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-53-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>T</mi><mn>1</mn></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-53">Things = \{T_0,T_1\}</script> and the attributes are
+specified as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-54-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>T</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-54">value(T_0,a,t) = value(T_1,a,t)</script> for each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-55-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-55">t\in
+Times</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-56-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">∈</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-56">a \in Attributes</script>, this does not imply that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-57-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>T</mi><mn>0</mn></msub><mo stretchy="false">=</mo><msub><mi>T</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-57">T_0 = T_1</script>.
+</p>
+
+
+</section>
+
+<section id="objects-1">
+<h3><span class="secno">3.2 </span> Objects </h3>
+
+
+<p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-58-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-58">Things</script> are things in the world that have attributes that
+  can change over time.  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-59-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-59">Things</script> may not have distinguishing features
+  that are readily observable and permanent.  In PROV, we do not talk
+  explicitly about <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-60-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-60">Things</script>, but instead we talk about various objects
+  that have discrete, fixed features,  and relationships among these
+  objects. Some objects, called <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-61-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-61">Entities</script>, are associated with
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-62-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-62">Things</script>, and their fixed attributes need to match those of the
+  associated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-63-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-63">Thing</script> during their common lifetime.  Others correspond
+  to agents, activities, or identifiable interactions among them.</p>  
+
+<p>In this section, we detail the different subsets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-64-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-64">Objects</script>, and
+give disjointness constraints and associated functions.  Generally, these constraints are necessary to validate
+disjointness constraints from PROV-CONSTRAINTS [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].
+</p>
+
+<p>
+An <em>Object</em> is described by a time interval and attributes with
+fixed values.  Objects encompass entities, activities, agents, and
+interactions (i.e., usage, generation, and other events or influence relations).
+To model this, a structure includes:
+</p>
+
+<div class="component" id="objects" data-count="2" data-title="Component 2 (objects)"><div class="ruleTitle"><a class="internalDFN" href="#objects">Component 2 (objects)</a></div>
+  <ol><li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-65-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-65">Objects</script> 
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-66-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-66">lifetime : Objects \to Intervals</script> from objects to time intervals
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-67-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">:</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>V</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-67">value : Objects \times Attributes \to P(Values)</script>
+</li></ol>
+</div>
+
+<p>Intuitively, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-68-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-68">lifetime(e)</script> is the time interval during which object
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-69-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-69">e</script> exists.  The set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-70-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-70">value(e,a)</script> is the set of values of attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-71-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-71">a</script> during the object's lifetime.
+</p>
+
+<p>As with <em>Things</em>, the range of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-72-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-72">value</script> is sets of values,
+making <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-73-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-73">value</script> effectively a multivalued function.  It is also
+possible to have two different objects that are indistinguishable by
+their attributes and time intervals.  Objects are not things, and the
+sets of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-74-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-74">Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-75-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-75">Things</script> are disjoint; however, certain objects,
+namely entities, are associated with things.
+</p>
+
+<div class="remark">
+  <p>
+  Disjointness between <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-76-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-76">Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-77-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-77">Things</script> is not necessary but is
+  assumed in order to avoid confusion between the different categories
+  (time-varying <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-78-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-78">Things</script> vs fixed <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-79-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-79">Objects</script>).
+  </p>
+  </div>
+  
+<section id="entities-1">
+<h4><span class="secno">3.2.1 </span> Entities </h4>
+
+<p>An <em>entity</em> is a kind of object that fixes some aspects of a
+  thing. We assume:</p>
+
+<div class="component" id="entities" data-count="3" data-title="Component 3 (entities)"><div class="ruleTitle"><a class="internalDFN" href="#entities">Component 3 (entities)</a></div>
+  <ol><li> a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-80-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-80">Entities \subseteq Objects</script> of entities, disjoint from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-81-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-81">Activities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-82-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-82">Events</script> below.
+</li><li> a function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-83-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">:</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-83">thingOf : Entities \to Things</script> that associates
+  each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-84-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-84">Entity</script> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-85-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-85">e</script> with a <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-86-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-86">Thing</script>, such that for each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-87-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-87">t \in
+  lifetime(e)</script>, and for each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-88-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-88">a</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-89-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-89">value(e,a)
+  \subseteq value(thingOf(e),a,t)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-90-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-90">lifetime(e) \subseteq lifetime(thingOf(e))</script>.
+</li>
+<!--<li>a relation $SpecializationOf \subseteq Entities \times Entities$
+  that is irreflexive and transitive.  Furthermore, if $(e_1,e_2) \in
+  SpecializationOf$ then
+<ol><li>
+  $thingOf(e_1) = thingOf(e_2)$
+  </li>
+  <li>$lifetime(e_1) \subseteq lifetime(e_2)$</li>
+  <li>For each attribute $attr$ we have $value(e_1,attr) \supseteq
+  value(e_2,attr)$.</li>
+  </ol></li>
+  -->
+</ol>
+
+</div>
+
+<div class="remark"><p> Although both entities and things can have
+  undefined or multiple attribute values, their meaning is slightly
+  different: for a thing, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-91-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-91">value(x,a,t) = \emptyset</script> means that the
+  attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-92-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-92">a</script> has no value at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-93-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-93">t</script>, whereas for an entity,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-94-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-94">value(x,a) = \emptyset</script> only means that the thing associated to
+  entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-95-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-95">x</script> need not have a
+  fixed value for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-96-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-96">a</script> during the lifetime of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-97-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-97">x</script>.  This does not imply
+  that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-98-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-98">value(thingOf(e),a,t) = \emptyset</script> when <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-99-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-99">t \in lifetime(e)</script>.
+  </p>
+
+  <p>Furthermore, all of the attribute values of the entity must
+  be present in the associated thing throughout the lifetime of the
+  entity.  For example, suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-100-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-100">value(thingOf(e),a,t)</script> is <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-101-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-101">\{1\}</script> at
+  some time in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-102-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-102">lifetime(e)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-103-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>2</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-103">value(thingOf(e),a,t') = \{2\}</script> at
+  some other time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-104-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-104">t'</script>.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-105-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-105">value(e,a)</script> must be <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-106-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-106">\emptyset</script> because
+  there is no other set of values that is simultaneously contained in
+  both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-107-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-107">\{1\}</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-108-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>2</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-108">\{2\}</script>.  </p> </div>
+
+
+
+<div class="remark">
+  <p>
+  In the above description of how <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-109-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-109">Entities</script> relate to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-110-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-110">Things</script>, we
+  require  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-111-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-111">value(e,a) \subseteq
+  value(thingOf(e),a,t)</script> whenever <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-112-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-112">t \in lifetime(e)</script>.  Intuitively, this means that if we are
+  talking about a <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-113-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-113">Thing</script> indirectly by describing an <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-114-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-114">Entity</script>, then
+  any attributes we ascribe to the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-115-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-115">Entity</script> must also describe the
+  associated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-116-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-116">Thing</script> during their common lifetime.  Attributes of both
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-117-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-117">Entities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-118-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-118">Things</script> are multi-valued, so there is no
+  inconsistency in saying that an entity has two different values for
+  some attribute.  In some
+  situations, further uniqueness constraints or range constraints
+  could be imposed on attributes.
+  </p>
+  <p>Only <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-119-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-119">Entities</script> are associated with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-120-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-120">Things</script>, and this
+  association is
+  necessary to provide an interpretation for the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-121-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-121">alternateOf</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-122-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-122">specializationOf</script> relations.  It might also make sense
+  to associate <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-123-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-123">Agents</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-124-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-124">Activities</script>, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-125-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-125">Interactions</script> with
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-126-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-126">Things</script>, or with some other structures; however, this is not
+  necessary to model any of the current features of PROV, so in the
+  interest of simplicity we do not do this.
+  </p>
+  </div>
+  
+<section id="plans-1">  
+<h5><span class="secno">3.2.1.1 </span> Plans </h5>
+<p>We identify a specific subset of the entities called
+  <em>plans</em>:</p>
+<div class="component" id="plans" data-count="4" data-title="Component 4 (plans)"><div class="ruleTitle"><a class="internalDFN" href="#plans">Component 4 (plans)</a></div>
+ <p> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-127-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-127">Plans \subseteq Entities</script> of plans.</p>
+  </div>
+</section>
+
+<section id="collections-1">
+  <h5><span class="secno">3.2.1.2 </span>Collections</h5>
+  <p>We identify another specific subset of the entities called
+  <em>collections</em>, with the following associated structure:</p>
+  <div class="component" id="collections" data-count="5" data-title="Component 5 (collections)"><div class="ruleTitle"><a class="internalDFN" href="#collections">Component 5 (collections)</a></div>
+    <ul><li>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-128-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-128">Collections \subseteq Entities</script></li>
+    <li>A membership relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-129-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi><mo stretchy="false">⊆</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-129">MemberOf\subseteq Entities \times Collections</script>
+  indicating when an entity is a member of another (collection)
+  entity.</li>
+  </ul>
+    </div>
+  </section>
+  </section>
+
+    <section id="activities-1">
+<h4><span class="secno">3.2.2 </span> Activities </h4>
+
+
+<p>An <em>activity</em> is an object that encompasses a set of events.  We introduce:
+</p>
+<div class="component" id="activities" data-count="6" data-title="Component 6 (activities)"><div class="ruleTitle"><a class="internalDFN" href="#activities">Component 6 (activities)</a></div>
+  <ol><li>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-130-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-130">Activities \subseteq Objects</script> of activities.</li>
+  <li>Functions <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-131-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-131">startTime : Activities \to Times</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-132-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-132">endTime
+  :Activities \to Times</script> giving the start and end time of each activity.</li>
+  <li> Activities are disjoint from Entities: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-133-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∩</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-133">Entities\cap Activities
+  = \emptyset</script>.</li>
+  </ol>
+</div></section>
+  
+  <section id="agents-1">
+<h4><span class="secno">3.2.3 </span> Agents </h4>
+
+<p>An agent is an object that can act, by controlling, starting,
+  ending, or participating in activities.  An agent is something that
+  bears some form of responsibility for an activity taking place, for
+  the existence of an entity, or for another agent's activity.  Agents can act on behalf of
+  other agents. An agent may be a particular type of entity or activity; an
+  agent cannot be both entity and activity because the sets of
+  entities and activities are disjoint.  We introduce:
+</p>
+<div class="component" id="agents" data-count="7" data-title="Component 7 (agents)"><div class="ruleTitle"><a class="internalDFN" href="#agents">Component 7 (agents)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-134-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-134">Agents \subseteq Objects</script> of agents.</p>
+  </div>
+  <div class="remark">
+    <p>There is no requirement that every agent is either an activity
+  or an entity. </p>
+</div></section>
+
+
+<section id="influences-1">
+<h4><span class="secno">3.2.4 </span> Influences </h4>
+
+<p>We consider a set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-135-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-135">Influences \subseteq Objects</script> which has disjoint
+  subsets
+  <em>Events</em> connecting entities and activities,
+  <em>Associations</em> between agents and activities,
+    <em>Attributions</em> between entities and agents,
+  <em>Communications</em> between pairs of activities,
+  <em>Delegations</em> between pairs of agents, and
+  <em>Derivations</em> that describe chains of generation and usage
+  steps.  These kinds of influences are discussed further below.  Influences are disjoint from entities, activities and agents.
+</p>
+<div class="component" id="influences" data-count="8" data-title="Component 8 (influences)"><div class="ruleTitle"><a class="internalDFN" href="#influences">Component 8 (influences)</a></div>
+  <ol><li> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-136-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">=</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-136">Influences = Events \cup Associations \cup
+  Communications \cup Delegations \cup Derivations \subseteq Objects</script>
+</li>
+<li> The sets <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-137-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-137">Events</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-138-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-138">Associations</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-139-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-139">Communications</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-140-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-140">Delegations</script>
+  and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-141-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-141">Derivations</script> are all pairwise disjoint.
+</li><li> Influences are disjoint from entities, agents and
+activities:  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-142-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∩</mo><mo stretchy="false">(</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">∅</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-142">Influences \cap (Entities \cup Activities \cup Agents) = \emptyset</script>
+</li>
+<li>An associated function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-143-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-143">influenced : Influences \to
+  Objects \times Objects</script> giving the source and target of each influence.</li>
+</ol>
+</div>
+
+
+<section id="events-1">
+<h5><span class="secno">3.2.4.1 </span> Events </h5>
+
+<p>An <em>Event</em> is an influence whose lifetime is a single time
+instant, and relates an activity to an entity (which could be an
+agent).  Events have types including usage, generation, invalidation, starting and ending.  Events are instantaneous.  We introduce:
+</p>
+<div class="component" id="events" data-count="9" data-title="Component 9 (events)"><div class="ruleTitle"><a class="internalDFN" href="#events">Component 9 (events)</a></div>
+<ol><li> A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-144-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-144">Events \subseteq Influences</script> of events, partitioned
+  into disjoint subsets <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-145-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi><mo stretchy="false">,</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi><mo stretchy="false">,</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">,</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-145">Starts, Ends, Generations, Usages,
+  Invalidations</script>.
+</li><li> A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-146-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">:</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-146">time : Events \to Times</script> giving the time of each
+event, such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-147-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-147">lifetime(evt) = \{time(evt)\}</script>.
+</li>
+<li> A quasi-ordering on events <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-148-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯⊂</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-148">\preceq \subset Events \times
+Events</script>.  We write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-149-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">≺</mo><msup><mi>e</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-149">e \prec e'</script> when <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-150-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">⪯</mo><msup><mi>e</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-150">e \preceq e'</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-151-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">⪯̸</mo><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-151">e'
+\not\preceq e</script> hold.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-152-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-152">started : Starts \to Activities \times Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-153-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-153">ended : Ends \to Activities \times Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-154-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-154">used : Usages \to Activities \times Entities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-155-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-155">generated : Generations \to Entities \times Activities</script>.
+</li>
+<li>A function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-156-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">:</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-156">invalidated : Invalidations \to Entities \times Activities</script>.
+</li>
+</ol>
+</div>
+</section>
+<section id="associations-1">
+
+<h5><span class="secno">3.2.4.2 </span> Associations </h5>
+
+<p>An <em>Association</em> is an influence relating an agent to an activity.  To model associations, we introduce:
+</p>
+<div class="component" id="associations" data-count="10" data-title="Component 10 (associations)"><div class="ruleTitle"><a class="internalDFN" href="#associations">Component 10 (associations)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-157-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-157">Associations \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-158-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">:</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><msub><mi>s</mi><mi mathvariant="normal">⊥</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-158">associatedWith : Associations \to  Agents \times Activities \times Plans_\bot</script>.
+</p>
+  </div>
+  </section>
+<section id="attributions-1">
+
+<h5><span class="secno">3.2.4.3 </span> Attributions </h5>
+
+<p>An <em>Attribution</em> is an influence relating an entity to an agent.  To model associations, we introduce:
+</p>
+<div class="component" id="attributions" data-count="11" data-title="Component 11 (attributions)"><div class="ruleTitle"><a class="internalDFN" href="#attributions">Component 11 (attributions)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-159-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-159">Attributions \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-160-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">:</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-160">attributedTo : Attributions \to Entities \times Agents</script>.
+</p>
+  </div>
+  
+</section>
+  <section id="communications-1">
+  <h5><span class="secno">3.2.4.4 </span>Communications</h5>
+  <p>A <em>Communication</em> is an influence indicating exchange of
+  information between activities.  To model communications, we introduce:
+</p>
+<div class="component" id="communications" data-count="12" data-title="Component 12 (communications)"><div class="ruleTitle"><a class="internalDFN" href="#communications">Component 12 (communications)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-161-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-161">Communications \subseteq Influences</script> with associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-162-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">:</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-162">communicatedBy : Communications \to Activities \times Activities</script>.
+</p>
+  </div>
+  
+
+</section>
+  <section id="delegations-1">
+  <h5><span class="secno">3.2.4.5 </span>Delegations</h5>
+<p>A <em>Delegation</em> is an influence relating  two agents.  To
+  model delegations, we introduce:
+</p>
+<div class="component" id="delegations" data-count="13" data-title="Component 13 (delegations)"><div class="ruleTitle"><a class="internalDFN" href="#delegations">Component 13 (delegations)</a></div>
+  <p>A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-163-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-163">Delegations \subseteq Influences</script> and associated function
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-164-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">:</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">×</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-164">actedFor : Delegations \to Agents \times Agents \times Activities</script>
+</p>
+  </div>
+  
+</section>
+  <section id="derivations-1">
+  
+  <h5><span class="secno">3.2.4.6 </span> Derivations </h5>
+
+<p>A <em>Derivation</em> is an influence chaining one or more
+  generation and use steps.  To model derivations, we introduce an
+  auxiliary notion of <em>derivation path</em>.  These paths are of the form </p>
+
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-165-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><msub><mi>g</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><msub><mi>u</mi><mi>n</mi></msub><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mrow class="MJX-TeXAtom-ORD"><mi>n</mi><mo stretchy="false">−</mo><mn>1</mn></mrow></msub><mo stretchy="false">⋅</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>0</mn></msub></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-165">ent_n\cdot g_n\cdot  act_n\cdot  u_n\cdot  ent_{n-1}\cdot  ...\cdot
+ent_1\cdot  g_1\cdot  act_1\cdot  u_1\cdot  ent_0</script>
+
+<p>where the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-166-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-166">ent_i</script> are entities, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-167-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-167">act_i</script> are activities, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-168-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>g</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-168">g_i</script> are generations, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-169-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>u</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-169">u_i</script> are usages.
+</p>
+<p>Formally, we consider the (regular) language:
+</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-170-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mi>s</mi><mo stretchy="false">=</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mo stretchy="false">(</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">⋅</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><msup><mo stretchy="false">)</mo><mo stretchy="false">+</mo></msup></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-170">DerivationPaths = Entities \cdot (Generations \cdot Activities \cdot
+Usages \cdot Entities)^+</script>
+<p>with the constraints that for each derivation path:
+</p>
+<ul>
+<li>for each substring <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-171-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>g</mi><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-171">ent\cdot g \cdot act</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-172-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-172">generated(g) = (ent,act)</script>, and
+</li>
+<li>for each substring <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-173-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>u</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-173">act \cdot u \cdot ent</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-174-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-174">used(u) = (act,ent)</script>.
+</li>
+</ul>
+
+
+<div class="component" id="derivations" data-count="14" data-title="Component 14 (derivations)"><div class="ruleTitle"><a class="internalDFN" href="#derivations">Component 14 (derivations)</a></div>
+<p>  A set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-175-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">⊆</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-175">Derivations \subseteq Influences</script> with an associated
+  function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-176-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">:</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">→</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-176">derivationPath : Derivations \to
+DerivationPaths</script>  linking each derivation to a derivation path.  </p>
+<p></p>
+</div>
+
+<div class="remark">
+  <p>
+  The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-177-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-177">derivationPath</script> function links each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-178-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-178"> d \in Derivations</script> to a
+  derivation path.  A derivation has exactly one associated derivation
+  path.  However, if the PROV-N statement <span class="name">wasDerivedFrom(e_2,e_1,-,-,-)</span> is asserted in an
+  instance, there may be multiple derivation paths linking <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-179-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-179">e_2</script> to
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-180-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-180">e_1</script>, each corresponding to a different path, identified by different
+  derivations <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-181-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-181">d \in Derivations</script>.
+  </p>
+
+  <p>A derivation path implies the existence of at least one chained generation
+  and use step.  However, not all such potential derivation paths are associated
+  with derivations; there can (and in general will) be many such paths
+  that are not associated with derivation steps.  In other words, because we require derivations to be
+  explicitly assocated with derivation paths, it is not sound to infer
+  the existence of a derivation from the existence of an 
+  alternating generation/use chain.
+  </p>
+<p>
+  The reason why we need paths and not just individual derivation
+  steps is to reflect that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-182-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-182">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script> formulas can
+  represent multiple derivation steps.  However, there is no way to
+  express a multi-step derivation path in PROV: any valid PROV
+  instance turns out to have a model in which all derivation paths are
+  one-step.</p></div>
+  
+</section>
+</section>
+</section>
+
+  <section id="additional-axioms">
+  <h3><span class="secno">3.3 </span>Additional axioms</h3>
+
+  <p> Above we have stated some properties of the components.  We
+  impose some additional properties that relate several components, as
+  follows:</p>
+
+  <div class="component" id="axioms" data-count="15" data-title="Component 15 (axioms)"><div class="ruleTitle"><a class="internalDFN" href="#axioms">Component 15 (axioms)</a></div>
+    
+  <ol>
+    <li id="axiom1">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-183-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-183">generated(g) = (e,a_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-184-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-184">used(u) = (a_2,e)</script> then there
+    exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-185-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-185">c \in Communications</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-186-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-186">communicatedBy(c) = (a_2,a_1)</script>.
+    </li>
+    <li id="axiom2">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-187-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-187">started(start) = (a_2,e,a_1)</script> then there exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-188-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-188">gen</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-189-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-189">generated(gen) = (e,a_1)</script>.
+    </li>
+    <li id="axiom3">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-190-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-190">ended(end) = (a_2,e,a_1)</script> then there exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-191-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-191">gen</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-192-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-192">generated(gen) = (e,a_1)</script>.
+    </li>
+    <li id="axiom4">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-193-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-193">d \in Derivations</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-194-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>R</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>s</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">∈</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">,</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-194">prov:Revision \in
+    value(d,prov:type)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-195-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-195">derivationPath(deriv) = e_2 \cdot w \cdot
+    e_1</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-196-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-196">thingOf(e_1) = thingOf(e_2)</script>.
+    </li>
+    <li id="axiom5">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-197-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-197">attributedTo(att) = (e,ag)</script> then there exist <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-198-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-198">gen</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-199-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-199">assoc</script>
+    such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-200-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-200">generated(gen) = (e,a)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-201-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-201">associatedWith(assoc) = (a,ag)</script>.
+    </li>
+    <li id="axiom6">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-202-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-202">actedFor(deleg) = (ag_2,ag_1,act)</script> then there exist
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-203-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-203">assoc_1,assoc_2,pl_1,pl_2</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-204-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-204">associatedWith(assoc_1) = (act,ag_1,pl_1)</script>
+    and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-205-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><msub><mi>c</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-205">associatedWith(assoc_2) = (act,ag_2,pl_2)</script>.
+    </li>
+    <li id="axiom7">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-206-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-206">generated(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-207-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-207">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom8">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-208-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-208">used(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-209-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-209">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom9">
+            If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-210-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-210">communicatedBy(id) = (a_2,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-211-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-211">influenced(id) = (a_2,a_1)</script>.
+    </li>
+    <li id="axiom10">
+     If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-212-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-212">started(id) = (a_2,e,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-213-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-213">influenced(id) = (a_2,e)</script>.
+    </li>
+    <li id="axiom11">
+         If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-214-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-214">ended(id) = (a_2,e,a_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-215-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-215">influenced(id) = (a_2,e)</script>.
+    </li>
+    <li id="axiom12">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-216-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-216">invalidated(id) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-217-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-217">influenced(id) = (e,a)</script>.
+    </li>
+    <li id="axiom13">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-218-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-218">derivationPath(id) = e_2 \cdot w \cdot e_1</script> then
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-219-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-219">influenced(id) = (e_2,e_1)</script>.
+    </li>
+    <li id="axiom14">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-220-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-220">attributedTo(id) = (e,ag)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-221-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-221">influenced(id) = (e,ag)</script>.
+    </li>
+    <li id="axiom15">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-222-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-222">associatedWith(id) = (a,ag,pl)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-223-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-223">influenced(id) = (a,ag)</script>.
+    </li>
+    <li id="axiom16">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-224-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-224">actedFor(id) = (ag_2,ag_1)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-225-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-225">influenced(id) = (ag_2,ag_1)</script>.
+    </li>
+    <li id="axiom17">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-226-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msup><mi>n</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-226">generate(gen) = (e,a) = generated(gen')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-227-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><msup><mi>n</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-227">gen = gen'</script>.
+    </li>
+    <li id="axiom18">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-228-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msup><mi>v</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-228">invalidated(inv) = (e,a) = invalidated(inv')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-229-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">=</mo><mi>i</mi><mi>n</mi><msup><mi>v</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-229">inv=inv'</script>.
+    </li>
+    <li id="axiom19">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-230-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-230">started(st) = (a,e_1,a')</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-231-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-231">started(st') = (a,e_2,a')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-232-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mo stretchy="false">=</mo><mi>s</mi><msup><mi>t</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-232">st=st'</script>.
+    </li>
+    <li id="axiom20">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-233-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-233">ended(end) = (a,e_1,a')</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-234-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msup><mi>d</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-234">ended(end') = (a,e_2,a')</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-235-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msup><mi>d</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-235">end=end'</script>.
+    </li>
+    <li id="axiom21">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-236-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-236">started(st) = (a,e)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-237-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-237">st \preceq evt</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-238-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-238">evt \in events(a)</script>.
+    </li>
+    <li id="axiom22">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-239-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-239">ended(end) = (a,e,a') </script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-240-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>n</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-240">evt \preceq end</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-241-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-241">evt \in events(a)</script>.
+    </li>
+    <li id="axiom23">
+    If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-242-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-242">generated(gen) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-243-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-243">gen \preceq evt</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-244-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-244">evt \in events(e)</script>.
+    </li>
+    <li id="axiom24">
+        If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-245-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-245">invalidated(inv) = (e,a)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-246-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>i</mi><mi>n</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-246">evt\preceq inv</script> for all <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-247-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-247">evt \in events(e)</script>.
+    </li>
+    <li id="axiom25">
+    For any derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-248-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-248">deriv</script>, with path <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-249-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-249">derivationPath(deriv) = w</script>,
+    if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-250-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>g</mi><mo stretchy="false">⋅</mo><mi>a</mi><mo stretchy="false">⋅</mo><mi>u</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-250">e_2 \cdot g \cdot a \cdot u \cdot e_1 </script> is a substring of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-251-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-251">w</script>
+    where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-252-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-252">e_1,e_2 \in Entities</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-253-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-253">g \in Generations</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-254-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-254">u \in Usages</script>
+    and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-255-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-255">a \in Activities</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-256-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo stretchy="false">⪯</mo><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-256">u \preceq g</script>.
+    </li>
+    <li id="axiom26">
+    For any derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-257-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-257">deriv</script>, with path <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-258-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-258">derivationPath(deriv) = e_2
+    \cdot w \cdot e_1</script>, if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-259-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-259">generated(gen_1) = (e_1,a_1)</script> and
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-260-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-260">generated(gen_2) = (e_2,a_2)</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-261-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">≺</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-261">gen_1 \prec gen_2</script>.  
+    </li>
+    </ol>
+</div>
+
+    <p>These properties are called <em>axioms</em>, and they are
+  needed to ensure that the PROV-CONSTRAINTS inferences and
+  constraints hold in all structures.</p>
+  </section>
+
+<section id="putting-it-all-together">
+<h3><span class="secno">3.4 </span> Putting it all together </h3>
+
+<p>A <em>structure</em> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-262-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-262">W</script> is a collection of sets, functions, and relations containing all of the above
+described components.  If we need to talk about the objects or relations of
+more than one structure then we may write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-263-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>W</mi><mn>1</mn></msub><mo>.</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-263">W_1.Objects</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-264-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>W</mi><mn>1</mn></msub><mo>.</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-264">W_1.Things</script>,
+etc.; otherwise, to
+decrease notational clutter, when we consider a fixed structure then the names of the sets, relations and functions above refer to the components of that model.
+</p>
+
+
+
+  
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  TODO: Highlight the distinctive vs obvious/routine features.
+  </div></div>
+
+</section>
+<section id="interpretations">
+<h3><span class="secno">3.5 </span> Interpretations </h3>
+
+<p>We need to link identifiers to the objects they denote.  We do this using a function which we shall call an <em>interpretation</em>.
+ An interpretation is a function  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-265-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">:</mo><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi><mo stretchy="false">→</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-265">\rho : Identifiers \to Objects</script> describing
+which object is the target of each identifier. The mapping from
+ identifiers to objects may <b>not</b> change over time; only
+ <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-266-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-266">Objects</script> can be denoted by <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-267-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>d</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>f</mi><mi>i</mi><mi>e</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-267">Identifiers</script>.
+</p>
+</section>
+
+
+</section>
+<section id="semantics">
+<!--OddPage--><h2><span class="secno">4. </span> Semantics </h2>
+
+<p>In what follows, let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-268-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-268">W</script> be a fixed structure with the associated sets and relations discussed in the previous section, and let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-269-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-269">\rho</script> be an interpretation of identifiers as objects in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-270-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-270">W</script>.
+The annotations [WF] refer to well-formedness constraints that correspond to typing constraints.
+</p>
+
+<section id="satisfaction">
+<h3><span class="secno">4.1 </span> Satisfaction </h3>
+
+<p>Consider a formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-271-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-271">\phi</script>, a structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-272-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-272">W</script> and an interpretation
+ <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-273-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-273">\rho</script>.
+We define notation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-274-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-274">W,\rho \models \phi</script> which means that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-275-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-275">\phi</script> is
+ satisfied in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-276-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-276">W,\rho</script>. For atomic formulas, the definition of the
+ satisfaction relation is given in the next few subsections.  We give
+ the standard definition of the semantics of the other formulas:
+</p>
+
+<div class="semantics" id="first-order-logic-semantics" data-count="16" data-title="Semantics 16 (first-order-logic-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#first-order-logic-semantics">Semantics 16 (first-order-logic-semantics)</a></div>
+<ol>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-277-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>T</mi><mi>r</mi><mi>u</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-277">W,\rho \models True</script> always holds.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-278-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-278">W,\rho \models False</script> never holds.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-279-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mo stretchy="false">=</mo><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-279">W,\rho \models x = y</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-280-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-280">\rho(x) =
+    \rho(y)</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-281-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">¬</mi><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-281">W,\rho \models \neg \phi</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-282-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-282">W,\rho \models
+  \phi</script> does not hold.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-283-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">∧</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-283">W,\rho \models \phi \wedge \psi</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-284-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-284">W,\rho \models
+  \phi</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-285-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-285">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-286-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">∨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-286">W,\rho \models \phi \vee \psi</script> holds if either <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-287-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-287">W,\rho \models \phi</script>
+  or <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-288-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-288">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-289-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi><mo stretchy="false">⇒</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-289">W,\rho \models \phi \Rightarrow \psi</script> holds if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-290-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-290">W,\rho \models \phi</script>
+  implies <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-291-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="italic">ψ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-291">W,\rho \models \psi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-292-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">∃</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-292">W,\rho \models \exists x. \phi</script> holds if there exists some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-293-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-293">obj \in
+  Objects</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-294-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">[</mo><mi>x</mi><mo stretchy="false">:=</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">]</mo><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-294">W,\rho[x:=obj] \models \phi</script>.</li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-295-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi mathvariant="normal">∀</mi><mi>x</mi><mo>.</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-295">W,\rho \models \forall x. \phi</script> holds if there for every <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-296-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-296">obj \in
+  Objects</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-297-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">[</mo><mi>x</mi><mo stretchy="false">:=</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">]</mo><mo stretchy="false">⊨</mo><mi mathvariant="italic">ϕ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-297">W,\rho[x:=obj] \models \phi</script>.</li>
+  </ol></div>
+
+<div class="remark">
+  <p>In the semantics above, note that the domain of quantification is
+  the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-298-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-298">Objects</script>; that is, quantifiers range over entities,
+  activities, agents, or influences (which are in turn further
+  subdivided into types of influences).  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-299-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-299">Things</script> and relations
+  cannot be referenced directly by identifiers.  
+</p>
+  </div>
+
+  <div class="remark">
+    <p>A PROV instance <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-300-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-300">I</script> consists of a set of statements, each of
+    which can be translated to an atomic formula following the
+    definitional rules in PROV-CONSTRAINTS, possibly by introducing
+    fresh existential variables.  Thus, we can view an
+    instance <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-301-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-301">I</script> as a set of atomic formulas <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-302-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi mathvariant="italic">ϕ</mi><mi>n</mi></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-302">\{\phi_1,\ldots,\phi_n\}</script>, or equivalently a
+    single formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-303-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∃</mi><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>.</mo><mtext>&nbsp;</mtext><msub><mi mathvariant="italic">ϕ</mi><mn>1</mn></msub><mo stretchy="false">∧</mo><mo stretchy="false">⋯</mo><mo stretchy="false">∧</mo><msub><mi mathvariant="italic">ϕ</mi><mi>n</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-303">\exists x_1,\ldots,x_k.~\phi_1 \wedge \cdots
+    \wedge \phi_n</script>, where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-304-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>x</mi><mi>k</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-304">x_1,\ldots,x_k</script> are the existential
+    variables of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-305-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-305">I</script>.
+    </p>
+    </div>
+
+</section>
+    <section id="attribute-matching">
+    
+<h3><span class="secno">4.2 </span> Attribute matching </h3>
+
+
+<p>We say that an object <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-306-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-306">obj</script> matches attributes <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-307-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>v</mi><mi>a</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo stretchy="false">]</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-307">[attr_1=val_1,...]</script> in structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-308-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-308">W</script> provided:
+for each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-309-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>i</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-309">attr_i</script>, we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-310-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><msub><mi>l</mi><mi>i</mi></msub><mo stretchy="false">∈</mo><mi>W</mi><mo>.</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><msub><mi>r</mi><mi>i</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-310">val_i \in W.value(obj,attr_i)</script>.
+This is sometimes abbreviated as: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-311-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>o</mi><mi>b</mi><mi>j</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-311">match(W,obj,attrs)</script>.
+</p>
+    
+</section>
+
+<section id="semantics-of-element-formulas">
+<h3><span class="secno">4.3 </span> Semantics of Element Formulas </h3>
+
+<section id="entity">
+
+<h4><span class="secno">4.3.1 </span> Entity </h4>
+
+<p>An entity formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-312-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-312">entity(id,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-313-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-313">id</script> denotes an entity.
+</p>
+<p>Entity formulas <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-314-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-314">entity(id,attrs)</script> can be interpreted as follows:
+</p>
+<div class="semantics" id="entity-semantics" data-count="17" data-title="Semantics 17 (entity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#entity-semantics">Semantics 17 (entity-semantics)</a></div>
+ <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-315-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-315">W,\rho \models entity(id,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-316-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-316">id</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-317-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-317">ent = \rho(id) \in Entities</script>
+</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-318-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-318">gen,a</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-319-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-319">generated(gen) = (e,a)</script>.</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-320-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-320">inv,a'</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-321-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-321">invalidated(inv) = (e,a)</script>.</li>
+<li>the attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-322-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-322">match(W,ent, attrs)</script>.
+</li>
+</ol>
+
+
+</div>
+<div class="remark">
+<p>Not all of the attributes of an entity object are
+  required to be present in an entity formula about that object.  For example, the following formulas all hold if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-323-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-323">x</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-324-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-324">e</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-325-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>4</mn><mo stretchy="false">,</mo><mn>5</mn><mo fence="false" stretchy="false">}</mo><mo stretchy="false">,</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>b</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mn>6</mn><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-325">value(e,a) = \{4,5\}, value(e,b) = \{6\}</script> hold:
+</p><pre> entity(x,[])
+ entity(x,[a=5])
+ entity(x,[a=4,a=5])
+ entity(x,[a=4,b=6])
+</pre>
+<p>Note that PROV-CONSTRAINTS normalization will merge these formulas
+to a single one:
+</p>
+<pre>  entity(x,[a=4,a=5,b=6])
+</pre>
+  </div>
+
+  </section>
+<section id="activity">
+
+<h4><span class="secno">4.3.2 </span> Activity </h4>
+
+<p>An activity formula  is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-326-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-326">activity(id,st,et,attrs)</script>
+where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-327-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-327">id</script> is a identifier referring to the activity, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-328-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-328">st</script> is a start
+time and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-329-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-329">et</script> is an end time, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-330-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-330">attrs</script> are the attributes of
+activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-331-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-331">id</script>.
+</p>
+<div class="semantics" id="activity-semantics" data-count="18" data-title="Semantics 18 (activity-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#activity-semantics">Semantics 18 (activity-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-332-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-332">W,\rho \models activity(id,st,et,attrs)</script>
+  holds if and only if:</p>
+<ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-333-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-333">id</script> maps to an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-334-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-334">act = \rho(id) \in Activities</script>
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-335-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-335">\rho(st) \in Times</script> is the activity's start time, that is:
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-336-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-336">startTime(id) = \rho(st)</script>
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-337-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-337">\rho(et)</script> is the activity's end time, that is: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-338-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-338">endTime(id) = \rho(et)</script>
+</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-339-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-339">start,e,a</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-340-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-340">started(start) = (act,e,a)</script>.</li>
+<li>There exists <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-341-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-341">end,e',a'</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-342-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-342">ended(end) = (act,e',a')</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-343-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-343">match(W,act,attrs)</script>.
+</li>
+</ol>
+</div>
+</section>
+<section id="agent">
+
+<h4><span class="secno">4.3.3 </span> Agent </h4>
+
+<p>An agent formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-344-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-344">agent(id,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-345-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-345">id</script> denotes the agent and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-346-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-346">attrs</script> describes additional attributes.
+</p>
+<div class="semantics" id="agent-semantics" data-count="19" data-title="Semantics 19 (agent-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#agent-semantics">Semantics 19 (agent-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-347-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-347">W,\rho \models agent(id,attrs)</script> holds if and only if:
+  </p>
+  <ol>
+    <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-348-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-348">id</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-349-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-349">ag = \rho(id) \in Agents</script>
+    </li>
+    <li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-350-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-350">match(W,ag,attrs)</script>.
+    </li>
+  </ol>
+</div>
+</section>
+</section>
+
+<section id="semantics-of-relations">
+<h3><span class="secno">4.4 </span> Semantics of Relations </h3>
+
+
+<section id="generation">
+<h4><span class="secno">4.4.1 </span> Generation </h4>
+
+<p>The generation formula is of the form
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-351-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-351">wasGeneratedBy(id,e,a,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-352-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-352">id</script> is an event identifier,
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-353-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-353">e</script> is an entity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-354-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-354">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-355-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-355">attrs</script> is
+a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-356-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-356">t</script> is a time.
+</p>
+<div class="semantics" id="generation-semantics" data-count="20" data-title="Semantics 20 (generation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#generation-semantics">Semantics 20 (generation-semantics)</a></div>
+ <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-357-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-357">W,\rho \models
+  wasGeneratedBy(id,e,a,t,attrs)</script>  holds if and only if:
+</p><ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-358-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-358">id</script> denotes a generation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-359-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-359">evt = \rho(id) \in Generations</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-360-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-360">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-361-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-361">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-362-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-362">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-363-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-363">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-364-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-364">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-365-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-365">\rho(t) \in Times</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-366-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-366">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-367-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-367">act</script> generated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-368-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-368">ent</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-369-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-369">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-370-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-370">generated(evt) = (ent,act)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-371-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-371">match(W,evt,attrs)</script>.
+</li>
+</ol>
+</div>
+
+</section>
+<section id="use">
+<h4><span class="secno">4.4.2 </span> Use </h4>
+
+<p>The use formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-372-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-372">used(id,a,e,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-373-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-373">id</script>
+denotes an event, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-374-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-374">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-375-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-375">e</script> is an object
+identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-376-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-376">attrs</script> is a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-377-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-377">t</script> is a time.
+</p>
+<div class="semantics" id="usage-semantics" data-count="21" data-title="Semantics 21 (usage-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#usage-semantics">Semantics 21 (usage-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-378-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-378">W,\rho \models used(id,a,e,t,attrs)</script> holds if and only if:</p>
+  <ol>
+
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-379-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-379">id</script> denotes a usage event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-380-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-380">evt = \rho(id) \in Usages</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-381-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-381">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-382-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-382">act = \rho(id) \in Activities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-383-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-383">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-384-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-384">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-385-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-385">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-386-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-386">\rho(t) \in Times</script>,
+i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-387-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-387">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-388-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-388">act</script> used <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-389-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><mi>j</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-389">obj</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-390-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-390">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-391-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-391">used(evt) = (act,ent)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-392-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-392">match(W,evt,attrs)</script>.
+</li></ol></div>
+
+</section>
+<section id="invalidation">
+<h4><span class="secno">4.4.3 </span> Invalidation </h4>
+
+<p>The invalidation formula is of the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-393-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-393">wasInvalidatedBy(id,e,a,t,attrs)</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-394-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-394">id</script> is an event identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-395-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-395">e</script> is an entity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-396-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-396">a</script> is an activity identifier, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-397-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-397">attrs</script> is a set of attribute-value pairs, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-398-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-398">t</script> is a time.</p>
+
+<div class="semantics" id="invalidation-semantics" data-count="22" data-title="Semantics 22 (invalidation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-semantics">Semantics 22 (invalidation-semantics)</a></div> <p>An invalidation formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-399-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-399">W,\rho \models
+  wasInvalidatedBy(id,e,a,t,attrs)</script> holds  if and only if:</p>
+<ol>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-400-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-400">id</script> denotes an invalidation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-401-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-401">evt = \rho(id) \in Invalidations</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-402-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-402">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-403-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-403">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] The identifier <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-404-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-404">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-405-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-405">act = \rho(a) \in Activities</script>.
+</li>
+<li>The event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-406-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-406">evt</script> occurred at time <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-407-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-407">\rho(t) \in Times</script>,
+  i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-408-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-408">time(evt) = \rho(t)</script>.
+</li>
+<li>The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-409-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-409">act</script> invalidated <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-410-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-410">ent</script> via <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-411-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-411">evt</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-412-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-412">invalidated(evt) = (ent,act)</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-413-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-413">match(W,evt,attrs)</script>.
+</li></ol></div>
+</section>
+
+<section id="association">
+
+<h4><span class="secno">4.4.4 </span> Association </h4>
+
+<p>An association formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-414-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-414">wasAssociatedWith(id,a,ag,pl,attrs)</script>.</p>
+
+<div class="semantics" id="association-plan-semantics" data-count="23" data-title="Semantics 23 (association-plan-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#association-plan-semantics">Semantics 23 (association-plan-semantics)</a></div><p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-415-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-415">W,\rho \models wasAssociatedWith(id,a,ag,pl,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-416-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-416">assoc</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-417-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-417">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-418-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-418">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-419-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-419">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-420-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-420">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-421-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-421">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-422-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-422">pl</script> denotes a plan <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-423-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi><mi>a</mi><mi>n</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-423">plan=\rho(pl) \in Plans</script>.
+</li>
+<li>The association associates the agent with the activity and plan, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-424-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mi>a</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-424">associatedWith(assoc) = (agent,act,plan)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-425-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-425">match(W,assoc,attrs)</script>.
+</li></ol></div>
+
+<div class="semantics" id="assocation-semantics" data-count="24" data-title="Semantics 24 (assocation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#assocation-semantics">Semantics 24 (assocation-semantics)</a></div><p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-426-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-426">W,\rho \models wasAssociatedWith(id,a,ag,-,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-427-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-427">assoc</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-428-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-428">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-429-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-429">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-430-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-430">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-431-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-431">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-432-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-432">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>The association associates the agent with the activity and no
+  plan, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-433-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi mathvariant="normal">⊥</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-433">associatedWith(assoc) = (agent,act,\bot)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-434-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-434">match(W,assoc,attrs)</script>.
+</li></ol></div>
+</section>
+<section id="start">
+<h4><span class="secno">4.4.5 </span> Start </h4>
+
+<p>A start formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-435-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-435">wasStartedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="start-semantics" data-count="25" data-title="Semantics 25 (start-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#start-semantics">Semantics 25 (start-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-436-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-436">W,\rho \models wasStartedBy(id,a_2,e,a_1,t,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-437-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-437">id</script> denotes a start event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-438-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-438">evt = \rho(id) \in Starts</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-439-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-439">a_2</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-440-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-440">act_2 = \rho(a_2) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-441-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-441">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-442-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-442">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-443-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-443">a_1</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-444-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-444">act_1 = \rho(a_1) \in Activities</script>.
+</li>
+<li>The event happened at the start of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-445-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-445">act_2</script>, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-446-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-446">\rho(t) = startTime(act_2) = time(evt)</script>.
+</li>
+<li> The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-447-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-447">act_1</script> started <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-448-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-448">act_2</script> via entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-449-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-449">ent</script>: that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-450-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-450">started(evt) = (act_2,ent,act_1)</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-451-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-451">match(W,evt,attrs)</script>.
+</li></ol></div>
+</section>
+<section id="end">
+<h4><span class="secno">4.4.6 </span> End </h4>
+
+<p>An activity end formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-452-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-452">wasEndedBy(id,a_2,e,a_1,t,attrs)</script> is interpreted as follows:</p>
+
+<div class="semantics" id="end-semantics" data-count="26" data-title="Semantics 26 (end-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#end-semantics">Semantics 26 (end-semantics)</a></div>
+<p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-453-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-453">W,\rho \models wasEndedBy(id,a_2,e,a_1,t,attrs)</script> holds if and only
+  if:</p>
+  
+<ol>
+  <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-454-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-454">id</script> denotes an end event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-455-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-455">evt = \rho(id) \in Ends</script>.</li>
+<li> [WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-456-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-456">a_2</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-457-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-457">act_2 = \rho(a_2)\in Activities</script>.</li>
+<li> [WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-458-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-458">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-459-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-459">ent = \rho(e)\in Entities</script>.</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-460-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-460">a_1</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-461-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-461">act_1 = \rho(a_1)\in Activities</script>.</li>
+<li>The event happened at the end of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-462-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-462">act_2</script>, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-463-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-463">\rho(t) = endTime(act_2) = time(evt)</script>.</li>
+<li> The activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-464-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-464">act_1</script> ended <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-465-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-465">act_2</script> via entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-466-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-466">ent</script>: that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-467-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-467">ended(evt) = (act_2,ent,act_1)</script>.</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-468-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-468">match(W,evt,attrs)</script>.</li>
+</ol>
+</div>
+</section>
+
+<section id="attribution">
+<h4><span class="secno">4.4.7 </span> Attribution </h4>
+
+<p>
+An attribution formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-469-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-469">wasAttributedTo(id,e,ag,attrs)</script> is interpreted as follows:
+</p>
+<div class="semantics" id="attribution-semantics" data-count="27" data-title="Semantics 27 (attribution-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#attribution-semantics">Semantics 27 (attribution-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-470-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-470">W,\rho \models wasAttributedTo(id,e,ag,attrs)</script>
+  holds if and only if:
+  </p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-471-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-471">id</script> denotes an association <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-472-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-472">assoc = \rho(id) \in Associations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-473-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-473">e</script> denotes an entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-474-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-474">ent = \rho(e) \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-475-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-475">ag</script> denotes an agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-476-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-476">agent = \rho(ag) \in Agents</script>.
+</li>
+<li>The entity was attributed to the agent, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-477-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-477">attributedTo(assoc)
+= (ent,agent)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-478-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-478">match(W,assoc,attrs)</script>.
+</li></ol>
+</div>
+</section>
+
+
+<section id="communication">
+<h4><span class="secno">4.4.8 </span>Communication</h4>
+<p>A communication formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-479-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-479">wasInformedBy(id,a_2,a_2,attrs)</script> is
+interpreted as follows: </p>
+<div class="semantics" id="communication-semantics" data-count="28" data-title="Semantics 28 (communication-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#communication-semantics">Semantics 28 (communication-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-480-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-480">W,\rho \models wasInformedBy(id,a_2,a_1,attrs)</script>
+  holds if and only if:
+  </p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-481-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-481">id</script> denotes a communication <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-482-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-482">comm = \rho(id) \in Communications</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-483-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-483">a_1,a_2</script> denote  activities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-484-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-484">act_1 = \rho(a_1) \in
+Activities, act_2 = \rho(a_2)\in Activities</script>.
+</li>
+<li>There exist <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-485-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-485">gen,use,ent</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-486-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-486">communicatedBy(comm) =
+(act_2,act_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-487-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-487">generated(gen) = (ent,act_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-488-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-488">used(use) = (act_2,ent)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-489-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-489">match(W,comm,attrs)</script>.
+</li></ol>
+</div>
+</section>
+
+
+<section id="delegation">
+
+<h4><span class="secno">4.4.9 </span> Delegation </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-490-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-490">actedOnBehalfOf(id,ag_2,ag_1,act,attrs)</script> relation is interpreted using the <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-491-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>s</mi><mi>F</mi><mi>o</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-491">ActsFor</script> relation as follows:</p>
+
+<div class="semantics" id="delegation-semantics" data-count="29" data-title="Semantics 29 (delegation-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#delegation-semantics">Semantics 29 (delegation-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-492-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-492">W,\rho \models actedOnBehalfOf(id,ag_2,ag_1,act,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-493-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-493">id</script> denotes a delegation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-494-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-494">deleg=\rho(id) \in Delegations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-495-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-495">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-496-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-496">act=\rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-497-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-497">ag_1,ag_2</script> denote agents <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-498-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-498">agent_1=\rho(ag_1), agent_2=\rho(ag_2) \in Agents</script>.
+</li>
+<li>The agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-499-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-499">agent_2</script> acted for the agent <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-500-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-500">agent_1</script> with respect to
+  the activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-501-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-501">act</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-502-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-502">actedFor(deleg) = (agent_2,agent_1,act)</script>.
+</li>
+<li>The attributes match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-503-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-503">match(W,deleg,attrs)</script>.
+</li></ol></div>
+</section>
+
+
+<section id="derivation">
+
+<h4><span class="secno">4.4.10 </span> Derivation </h4>
+
+<p>
+Derivation formulas can be of one of two forms:</p>
+<ul><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-504-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-504">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>, which specifies an
+  activity, generation and usage event.  For convenience we call this
+  a <dfn id="dfn-precise-derivation">precise derivation</dfn>.</li>
+  <li> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-505-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-505">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>, which does not
+  specify an activity, generation and usage event.  For convenience we
+  call this an <dfn id="dfn-imprecise-derivation">imprecise derivation</dfn>.</li>
+  </ul>
+
+<section id="precise">
+<h5><span class="secno">4.4.10.1 </span> Precise </h5>
+
+<p>A precise derivation formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-506-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-506">wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)</script>.
+</p>
+<div class="semantics" id="derivation-precise-semantics" data-count="30" data-title="Semantics 30 (derivation-precise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-precise-semantics">Semantics 30 (derivation-precise-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-507-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-507">W,\rho \models wasDerivedFrom(id,e_2,e_1,act,g,u,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-508-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-508">id</script> denotes a derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-509-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-509">deriv = \rho(id) \in Derivations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-510-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-510">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-511-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-511">ent_1 = \rho(e_1), ent_2=\rho(e_2)  \in Entities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-512-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-512">a</script> denotes an activity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-513-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-513">act = \rho(a) \in Activities</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-514-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-514">g</script> denotes a generation event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-515-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-515">gen = \rho(g) \in Generations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-516-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-516">u</script> denotes a use event <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-517-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-517">\rho(u) \in Usages</script>.
+</li>
+<li>The derivation denotes a one-step derivation path linking the
+entities via the activity, generation and use: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-518-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">⋅</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">⋅</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-518">derivationPath(deriv) =
+ent_2 \cdot gen \cdot act \cdot use \cdot ent_1</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-519-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-519">match(W,deriv,attrs)</script>.</li>
+</ol>
+</div>
+</section>
+<section id="imprecise">
+
+<h5><span class="secno">4.4.10.2 </span> Imprecise </h5>
+<p>
+An imprecise derivation formula has the form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-520-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-520">wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script>.</p>
+
+<div class="semantics" id="derivation-imprecise-semantics" data-count="31" data-title="Semantics 31 (derivation-imprecise-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#derivation-imprecise-semantics">Semantics 31 (derivation-imprecise-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-521-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-521">W,\rho \models wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)</script> holds if and only if:</p>
+<ol>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-522-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-522">id</script> denotes a derivation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-523-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-523">deriv = \rho(id) \in Derivations</script>.
+</li>
+<li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-524-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-524">e_1,e_2</script> denote entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-525-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-525">ent_1 = \rho(e_1), ent_2=\rho(e_2)  \in Entities</script> .
+</li>
+<li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-526-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>w</mi><mo stretchy="false">⋅</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-526">derivationPath(deriv)= ent_2 \cdot  w \cdot ent_1</script> for some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-527-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-527">w</script>.
+</li>
+<li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-528-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-528">match(W,deriv,attrs)</script>.
+</li></ol></div>
+</section>
+</section>
+
+  <section id="influence">
+  <h4><span class="secno">4.4.11 </span>Influence</h4>
+
+  <div class="semantics" id="influence-semantics" data-count="32" data-title="Semantics 32 (influence-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#influence-semantics">Semantics 32 (influence-semantics)</a></div>
+  <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-529-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-529">W,\rho \models wasInfluencedBy(id,o_2,o_1,attrs)</script> holds if
+  and only if at least one of the following hold:</p>
+    <ol>
+      <li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-530-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>d</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-530">id</script> denotes an influence <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-531-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-531">inf = \rho(id)  \in Influences</script>.
+      </li><li>[WF] <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-532-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-532">o_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-533-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-533">o_2</script> denote objects <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-534-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-534">obj_1 = \rho(o_1) \in
+  Objects</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-535-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-535">obj_2= \rho(o_2)
+  \in Objects</script>.</li>
+  <li>The influence <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-536-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-536">inf</script> links <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-537-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-537">o_2</script> with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-538-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>o</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-538">o_1</script>; that is,
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-539-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo stretchy="false">(</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-539">influenced(inf) = (o_2,o_1)</script>.
+  </li>
+  <li>The attribute values match: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-540-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>a</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo stretchy="false">(</mo><mi>W</mi><mo stretchy="false">,</mo><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-540">match(W,deriv,attrs)</script>.
+</li>
+      </ol>
+
+      
+  </div></section>
+
+<section id="specialization">
+<h4><span class="secno">4.4.12 </span> Specialization </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-541-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-541">specializationOf(e_1,e_2)</script> relation indicates when one entity formula presents more specific aspects of another.  
+</p>
+
+    
+<div class="semantics" id="specialization-semantics" data-count="33" data-title="Semantics 33 (specialization-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#specialization-semantics">Semantics 33 (specialization-semantics)</a></div>  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-542-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-542">W,\rho \models specializationOf(e_1,e_2)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-543-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-543">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-544-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-544">e_2</script> are entity identifiers, denoting
+  distinct entities <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-545-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-545">ent_1
+  = \rho(e_1) \in Entities</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-546-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-546">ent_2 = \rho(e_2) \in Entities</script>.
+</li>
+<!--<li>$(ent_1,ent_2) \in SpecializationOf$.-->
+<ol>
+  <li>The two entities are different: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-547-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">≠</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-547">ent_1 \neq ent_2</script>.
+  </li><li>The two entities present aspects of the same thing, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-548-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-548">thingOf(ent_1) = thingOf(ent_2)</script>.
+</li>
+<li>The lifetime of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-549-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-549">ent_1</script> is contained in that of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-550-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-550">ent_2</script>, i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-551-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-551">lifetime(ent_1) \subseteq lifetime(ent_2)</script>.
+</li>
+<li>For each attribute <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-552-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-552">attr</script> we have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-553-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-553">value(ent_1,attr) \supseteq value(ent_2,attr)</script>.</li>
+<li>At least one of these inclusions is strict: that is, either
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-554-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊊</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-554">lifetime(ent_1) \subsetneq lifetime(ent_2)</script> or for some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-555-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-555">attr</script> we
+ value(ent_1,attr) \supsetneq value(ent_2,attr)$.
+</li>
+</ol>
+</ol></div>
+
+<div class="remark">
+  <!--<p>The conditions on the $SpecializationOf$ relation imply that:</p>
+<ol>
+  <li>The two entities are different: $ent_1 \neq ent_2$.
+  <li>The two Entities refer to the same Thing, that is, $thingOf(ent_1) = thingOf(ent_2)$.
+</li>
+<li>The lifetime of $ent_1$ is contained in that of $ent_2$, i.e. $lifetime(ent_1) \subseteq lifetime(ent_2)$.
+</li>
+<li>For each attribute $attr$ we have $value(ent_1,attr) \supseteq value(ent_2,attr)$.
+</li></ol>
+-->
+<p>The second criterion says that the two Entities present (possibly different) aspects of
+the same Thing. Note that the third criterion allows <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-556-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-556">ent_1</script> and
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-557-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-557">ent_2</script> to have the same lifetime (or that of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-558-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-558">ent_2</script> can be larger).
+The last criterion allows <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-559-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-559">ent_1</script> to have more defined attributes than
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-560-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-560">ent_2</script>, but they must include the attributes defined by <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-561-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-561">ent_2</script>.  Two
+  different entities that have the same attributes can also be related
+  by specialization.  
+</p>
+</div>
+</section>
+<section id="alternate">
+
+<h4><span class="secno">4.4.13 </span> Alternate </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-562-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-562">alternateOf</script> relation indicates when two entity formulas present (possibly different) aspects of the same thing.  The two entities may or may not overlap in time.
+</p>
+<div class="semantics" id="alternate-semantics" data-count="34" data-title="Semantics 34 (alternate-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#alternate-semantics">Semantics 34 (alternate-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-563-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-563">W,\rho \models alternateOf(e_1,e_2)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-564-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-564">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-565-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-565">e_2</script> are entity identifiers, denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-566-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-566">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-567-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-567">ent_2 = \rho(e_2)</script>.
+</li>
+<li>The two objects refer to the same underlying Thing: <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-568-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-568">thingOf(ent_1) = thingOf(ent_2)</script>
+</li></ol>
+</div>
+
+
+</section>
+
+
+<section id="membership">
+
+<h4><span class="secno">4.4.14 </span> Membership </h4>
+
+<p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-569-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-569">hadMember</script> relation relates a collection to an element of the collection.
+</p>
+<div class="semantics" id="membership-semantics" data-count="35" data-title="Semantics 35 (membership-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#membership-semantics">Semantics 35 (membership-semantics)</a></div>
+  <p>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-570-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-570">W,\rho \models hadMember(c,e)</script> holds if and only if:</p>
+<ol>
+<li>[WF] Both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-571-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-571">e_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-572-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-572">e_2</script> are entity identifiers, denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-573-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-573">coll
+  = \rho(c) \in Collections</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-574-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-574">ent = \rho(e) \in Entities</script>.
+</li>
+<li>The entity <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-575-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-575">ent</script> is a member of the collection <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-576-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-576">coll</script>: that is,
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-577-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">,</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>l</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-577">(ent,coll) \in MemberOf</script>.
+</li></ol>
+</div>
+
+
+
+</section>
+
+</section>
+
+  <section id="semantics-of-auxiliary-formulas">
+  <h3><span class="secno">4.5 </span>Semantics of Auxiliary Formulas</h3>
+  
+  <p>In this section, we define the semantics of additional formulas
+  concerning ordering, null values, and typing.  These are used in the
+  logical versions of constraints.</p>
+  
+  <section id="precedes-and-strictly-precedes">
+  <h4><span class="secno">4.5.1 </span>Precedes and Strictly Precedes</h4>
+  <p>The precedes relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-578-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-578">x \precedes y</script> holds between two events, one taking
+  place before (or simultaneously with) another.  Its meaning is
+  defined in terms of the quasiordering on events specified by
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-579-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-579">\preceq</script>.  The semantics of strictly precedes (<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-580-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-580">x
+  \strictlyPrecedes y</script>) is similar, only <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-581-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-581">x</script> must take place strictly
+  before <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-582-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-582">y</script>.  It is interpreted as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-583-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≺</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-583">\prec</script>, which we recall is
+  defined from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-584-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">⪯</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-584">\preceq</script> as <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-585-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">≺</mo><mi>y</mi><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>x</mi><mo stretchy="false">⪯</mo><mi>y</mi><mtext>&nbsp;and&nbsp;</mtext><mi>y</mi><mo stretchy="false">⪯̸</mo><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-585">x \prec y \iff x \preceq y \text{ and } y
+  \not\preceq x</script>.</p>
+  <div class="semantics" id="precedes-semantics" data-count="36" data-title="Semantics 36 (precedes-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#precedes-semantics">Semantics 36 (precedes-semantics)</a></div>
+    <ol>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-586-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-586">W,\rho \models x \precedes y</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-587-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-587">\rho(x),\rho(y) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-588-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">⪯</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-588">\rho(x) \preceq\rho(y)</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-589-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>x</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-589">W,\rho \models x \strictlyPrecedes y</script> holds if and only if
+       <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-590-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-590">\rho(x),\rho(y) \in Events</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-591-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo stretchy="false">≺</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-591">\rho(x) \prec \rho(y)</script>.</li>
+    </ol>
+  </div>
+
+  <div class="remark">
+    <p> Although times are linearly ordered, the time ordering is
+    unrelated to the event ordering. For example:</p>
+    <pre>entity(e)
+activity(a1)
+activity(a2)
+wasGeneratedBy(gen1; e, a1, 2011-11-16T16:05:00)
+wasGeneratedBy(gen2; e, a2, 2012-11-16T16:05:00) //different date
+</pre>
+    <p>This instance is valid, and must satisfy precedence constraints
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-592-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-592">gen_1 \precedes gen_2</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-593-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-593">gen_2 \precedes gen_1</script>, but this does not
+    imply anything about the relative orderings of the associated
+    times, or vice versa.
+    </p>
+    
+  </div>
+  </section>
+  
+  <section id="notnull">
+  <h4><span class="secno">4.5.2 </span>notNull</h4>
+  <p>The <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-594-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-594">notNull(x)</script> formula is used to specify that a value may not
+  be the null value <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-595-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-595">\bot</script>.  The symbol <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-596-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-596">-</script> always denotes the null
+  value (i.e. <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-597-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mo stretchy="false">−</mo><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-597">\rho(-) = \bot</script>).
+  </p><div class="semantics" id="notNull-semantics" data-count="37" data-title="Semantics 37 (notNull-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#notNull-semantics">Semantics 37 (notNull-semantics)</a></div>
+    <p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-598-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-598">W,\rho\models notNull(e)</script> holds if and only if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-599-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">≠</mo><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-599">\rho(e) \neq
+  \bot</script>.
+      </p>
+  </div> 
+
+      </section>
+
+  <section id="typeof">
+  <h4><span class="secno">4.5.3 </span>typeOf</h4>
+  
+  <p>The typing formula <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-600-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-600">typeOf(x,t)</script> constrains the type of the value of
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-601-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-601">x</script>.  </p>
+
+  <div class="semantics" id="typeOf-semantics" data-count="38" data-title="Semantics 38 (typeOf-semantics)"><div class="ruleTitle"><a class="internalDFN" href="#typeOf-semantics">Semantics 38 (typeOf-semantics)</a></div>
+    <ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-602-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-602">W,\rho\models typeOf(e,entity)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-603-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-603">\rho(e) \in Entities</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-604-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-604">W,\rho\models typeOf(a,activity)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-605-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-605">\rho(a) \in Activities</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-606-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-606">W,\rho\models typeOf(ag,agent)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-607-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-607">\rho(ag) \in Agents</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-608-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-608">W,\rho\models typeOf(c,Collection)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-609-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-609">\rho(c) \in Collections</script>.</li>
+      <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-610-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-610">W,\rho\models typeOf(c,EmptyCollection)</script> holds if and only if
+      <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-611-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-611">\rho(c) \in Collections</script> and there is no <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-612-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-612">e \in Entities</script> such
+    that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-613-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-613">(e,\rho(c)) \in MemberOf</script>.</li>
+      </ol>
+      
+    </div>
+    
+    
+    </section>
+    </section>
+    </section>
+    
+<section id="theory">
+<!--OddPage--><h2><span class="secno">5. </span> Inferences and Constraints </h2>
+
+    <p>
+    In this section we restate all of the inferences and constraints
+    of PROV-CONSTRAINTS in terms of first-order logic.  For each, we
+    give a proof sketch showing why the inference or constraint is
+    sound for reasoning about the naive semantics.  We exclude the
+    definitional rules in PROV-CONSTRAINTS because they are only
+    needed for expanding the abbreviated forms of PROV-N statements to
+    the logical formulas used here.</p>
+<section id="inferences">
+<h3><span class="secno">5.1 </span>Inferences</h3>
+
+<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><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-614-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>e</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-614">\begin{array}[t]{l}
+\forall id,a_2,a_1,attrs.~
+\\
+\qquad wasInformedBy(id,a_2,a_1,attrs)
+\\
+\quad\Rightarrow
+\exists e,gen,t_1,use,t_2.~wasGeneratedBy(gen,e,a_1,t_1,[]) \wedge used(use,a_2,e,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+<p> This follows immediately from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-615-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-615">wasInformedBy</script>.</p>
+  </div>
+<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><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-616-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>i</mi><mi>d</mi><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-616">\begin{array}[t]{l}
+\forall gen,e,a_1,t_1,attrs_1,use,a_2,t_2,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge used(use,a_2,e,t_2,attrs_2)
+\\
+\quad\Rightarrow
+\exists id.~wasInformedBy(id,a_2,a_1,[])
+\end{array}</script></div>
+<div class="proof">
+<p> This follows from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-617-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-617">wasInformedBy</script> and <a href="#axiom1">Axiom 1</a>.</p>
+  </div>
+<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><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-618-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-618">\begin{array}[t]{l}
+\forall e,attrs.~
+\\
+\qquad entity(e,attrs)
+\\
+\quad\Rightarrow
+\exists gen,a_1,t_1,inv,a_2,t_2.~wasGeneratedBy(gen,e,a_1,t_1,[]) \wedge wasInvalidatedBy(inv,e,a_2,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of entity formulas, specifically
+  the requirement that generation and invalidation events exist for
+  the entity.</p>
+  </div>
+<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><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-619-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-619">\begin{array}[t]{l}
+\forall a,t_1,t_2,attrs.~
+\\
+\qquad activity(a,t_1,t_2,attrs)
+\\
+\quad\Rightarrow
+\exists start,e_1,a_1,end,a_2,e_2.~wasStartedBy(start,a,e_1,a_1,t_1,[]) \wedge wasEndedBy(end,a,e_2,a_2,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of activity formulas, specifically
+  the requirement that start and end events exist for
+  the activity.</p>
+  </div>
+
+  
+<div class="inference" id="wasStartedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasStartedBy-inference">Inference 9 (wasStartedBy-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-620-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-620">\begin{array}[t]{l}
+\forall id,a,e_1,a_1,t,attrs.~
+\\
+\qquad wasStartedBy(id,a,e_1,a_1,t,attrs)
+\\
+\quad\Rightarrow
+\exists gen,t_1.~wasGeneratedBy(gen,e_1,a_1,t_1,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom2">Axiom 2</a>.</p>
+  </div>
+<div class="inference" id="wasEndedBy-inference"><div class="ruleTitle"><a class="internalDFN" href="#wasEndedBy-inference">Inference 10 (wasEndedBy-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-621-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-621">\begin{array}[t]{l}
+\forall id,a,e_1,a_1,t,attrs.~
+\\
+\qquad wasEndedBy(id,a,e_1,a_1,t,attrs)
+\\
+\quad\Rightarrow
+\exists gen,t_1.~wasGeneratedBy(gen,e_1,a_1,t_1,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom3">Axiom 3</a>.</p>
+  </div>
+<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>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-622-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-622">\begin{array}[t]{l}
+\forall id,e_2,e_1,a,gen_2,use_1,attrs.~
+\\
+\qquad notNull(a) \wedge notNull(gen_2) \wedge notNull(use_1) \wedge wasDerivedFrom(id,e_2,e_1,a,gen_2,use_1,attrs)
+\\
+\quad\Rightarrow
+\exists t_1,t_2.~used(use_1,a,e_1,t_1,[]) \wedge wasGeneratedBy(gen_2,e_2,a,t_2,[])
+\end{array}</script></div>
+
+<div class="proof">
+  <p> This follows from the semantics of precise derivation steps.</p>
+  </div>
+  
+<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>
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-623-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">=</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>R</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>s</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-623">\begin{array}[t]{l}
+\forall id,e_1,e_2,a,g,u.~
+\\
+\qquad wasDerivedFrom(id,e_2,e_1,a,g,u,[prov:type = prov:Revision]))
+\\
+\quad\Rightarrow
+alternateOf(e_2,e_1)
+\end{array}</script></div>
+<div class="proof">
+  <p> This follows from the semantics of derivation steps (precise or
+  imprecise) and <a href="#axiom4">Axiom 4</a>.</p>
+  </div>
+<div class="inference" id="attribution-inference"><div class="ruleTitle"><a class="internalDFN" href="#attribution-inference">Inference 13 (attribution-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-624-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-624">\begin{array}[t]{l}
+\forall att,e,ag,attrs.~
+\\
+\qquad wasAttributedTo(att,e,ag,attrs)
+\\
+\quad\Rightarrow
+\exists a,t,gen,assoc,pl.~wasGeneratedBy(gen,e,a,t,[]) \wedge wasAssociatedWith(assoc,a,ag,pl,[])
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the semantics of generation, association, and
+  attribution, by <a href="#axiom5">Axiom 5</a></p>
+  </div>
+  
+<div class="inference" id="delegation-inference"><div class="ruleTitle"><a class="internalDFN" href="#delegation-inference">Inference 14 (delegation-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-625-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi mathvariant="normal">∃</mi><mi>i</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>p</mi><msub><mi>l</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-625">\begin{array}[t]{l}
+\forall id,ag_1,ag_2,a,attrs.~
+\\
+\qquad actedOnBehalfOf(id,ag_1,ag_2,a,attrs)
+\\
+\quad\Rightarrow
+\exists id_1,pl_1,id_2,pl_2.~wasAssociatedWith(id_1,a,ag_1,pl_1,[]) \wedge wasAssociatedWith(id_2,a,ag_2,pl_2,[])
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the semantics of association and delegation, by <a href="#axiom6">Axiom 6</a></p>
+  </div>
+<div class="inference" id="influence-inference"><div class="ruleTitle"><a class="internalDFN" href="#influence-inference">Inference 15 (influence-inference)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-626-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-626">\begin{array}[t]{l}
+\forall id,e,a,t,attrs.~
+\\
+\qquad wasGeneratedBy(id,e,a,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,a,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-627-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-627">\begin{array}[t]{l}
+\forall id,a,e,t,attrs.~
+\\
+\qquad used(id,a,e,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-628-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-628">\begin{array}[t]{l}
+\forall id,a_2,a_1,attrs.~
+\\
+\qquad wasInformedBy(id,a_2,a_1,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,a_1,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-629-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-629">\begin{array}[t]{l}
+\forall id,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasStartedBy(id,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-630-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-630">\begin{array}[t]{l}
+\forall id,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasEndedBy(id,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a_2,e,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-631-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-631">\begin{array}[t]{l}
+\forall id,e,a,t,attrs.~
+\\
+\qquad wasInvalidatedBy(id,e,a,t,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,a,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-632-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-632">\begin{array}[t]{l}
+\forall id,e_2,e_1,a,g,u,attrs.~
+\\
+\qquad wasDerivedFrom(id,e_2,e_1,a,g,u,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e_2,e_1,attrs)
+\end{array}</script></li><li>
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-633-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-633">\begin{array}[t]{l}
+\forall id,e,ag,attrs.~
+\\
+\qquad wasAttributedTo(id,e,ag,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,e,ag,attrs)
+\end{array}</script></li><li>
+<span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-634-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-634">\begin{array}[t]{l}
+\forall id,a,ag,pl,attrs.~
+\\
+\qquad wasAssociatedWith(id,a,ag,pl,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,a,ag,attrs)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-635-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-635">\begin{array}[t]{l}
+\forall id,ag_2,ag_1,a,attrs.~
+\\
+\qquad actedOnBehalfOf(id,ag_2,ag_1,a,attrs)
+\\
+\quad\Rightarrow
+wasInfluencedBy(id,ag_2,ag_1,attrs)
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>This follows via <a href="#axiom7">Axioms 7</a> through <a href="#axiom16">16</a>.
+  </p></div>
+<div class="inference" id="alternate-reflexive"><div class="ruleTitle"><a class="internalDFN" href="#alternate-reflexive">Inference 16 (alternate-reflexive)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-636-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-636">\begin{array}[t]{l}
+\forall e.~
+\\
+\qquad entity(e)
+\\
+\quad\Rightarrow
+alternateOf(e,e)
+\end{array}</script></div>
+<div class="proof">
+  <p> Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-637-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-637">ent = \rho(e)</script>.  Clearly <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-638-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-638">ent \in Entities</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-639-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-639">thingOf(ent) = thingOf(ent)</script>, so <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-640-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-640">W,\rho \models alternateOf(e,e)</script>.</p>
+  </div>
+<div class="inference" id="alternate-transitive"><div class="ruleTitle"><a class="internalDFN" href="#alternate-transitive">Inference 17 (alternate-transitive)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-641-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-641">\begin{array}[t]{l}
+\forall e_1,e_2,e_3.~
+\\
+\qquad alternateOf(e_1,e_2) \wedge alternateOf(e_2,e_3)
+\\
+\quad\Rightarrow
+alternateOf(e_1,e_3)
+\end{array}</script></div>
+<div class="proof">
+  <p> Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-642-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-642">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-643-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-643">ent_2 = \rho(e_2)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-644-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-644">ent_3 = \rho(e_3)</script>.  Then  by
+  assumption <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-645-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-645">ent_1</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-646-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-646">ent_2</script>, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-647-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-647">ent_3</script> are in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-648-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-648">Entities</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-649-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-649">thingOf(e_1) = thingOf(e_2)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-650-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-650">thingOf(e_2) = thingOf(e_3)</script>, so
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-651-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-651">thingOf(e_1) = thingOf(e_3)</script>, as required to conclude <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-652-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-652">W,\rho
+  \models alternateOf(e_1,e_3)</script>.</p>
+  </div>
+<div class="inference" id="alternate-symmetric"><div class="ruleTitle"><a class="internalDFN" href="#alternate-symmetric">Inference 18 (alternate-symmetric)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-653-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-653">\begin{array}[t]{l}
+\forall e_1,e_2.~
+\\
+\qquad alternateOf(e_1,e_2)
+\\
+\quad\Rightarrow
+alternateOf(e_2,e_1)
+\end{array}</script></div>
+<div class="proof">
+  <p> Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-654-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-654">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-655-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-655">ent_2 = \rho(e_2)</script>.  Then  by
+  assumption both <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-656-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-656">ent_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-657-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-657">ent_2</script> are in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-658-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-658">Entities</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-659-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-659">thingOf(e_1) = thingOf(e_2)</script>, as required to conclude <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-660-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-660">W,\rho
+  \models alternateOf(e_2,e_1)</script>.</p>
+  </div>
+  
+<div class="inference" id="specialization-transitive"><div class="ruleTitle"><a class="internalDFN" href="#specialization-transitive">Inference 19 (specialization-transitive)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-661-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-661">\begin{array}[t]{l}
+\forall e_1,e_2,e_3.~
+\\
+\qquad specializationOf(e_1,e_2) \wedge specializationOf(e_2,e_3)
+\\
+\quad\Rightarrow
+specializationOf(e_1,e_3)
+\end{array}</script></div>
+<div class="proof">
+  <p> Suppose the conditions for specialization hold of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-662-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-662">ent_1</script> and
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-663-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-663">ent_2</script> and for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-664-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-664">ent_2</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-665-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-665">ent_3</script>, where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-666-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-666">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-667-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-667">ent_2 = \rho(e_2)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-668-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>3</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-668">ent_3 =
+  \rho(e_3)</script>. Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-669-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⊆</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>3</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-669">lifetime(e_1) \subseteq lifetime(e_2) \subseteq
+  lifetime(e_3)</script>.  Moreover, 
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-670-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>3</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-670">value(obj_2,attr) \supseteq value(obj_3,attr)</script>, and similarly
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-671-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-671">value(obj_1,attr)\supseteq value(obj_2,attr)</script> so <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-672-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>3</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-672">value(obj_1,attr)
+  \supseteq value(obj_3,attr)</script>.  Finally, at least one of the
+  inclusions between <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-673-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-673">obj_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-674-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-674">obj_2</script> is strict, so the same is the
+  case for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-675-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-675">obj_1</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-676-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>o</mi><mi>b</mi><msub><mi>j</mi><mn>3</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-676">obj_3</script>.
+</p>
+</div>
+
+
+<div class="inference" id="specialization-alternate-inference"><div class="ruleTitle"><a class="internalDFN" href="#specialization-alternate-inference">Inference 20 (specialization-alternate-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-677-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-677">\begin{array}[t]{l}
+\forall e_1,e_2.~
+\\
+\qquad specializationOf(e_1,e_2)
+\\
+\quad\Rightarrow
+alternateOf(e_1,e_2)
+\end{array}</script></div>
+<div class="proof">
+  <p> If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-678-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-678">ent_1=\rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-679-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-679">ent_2 = \rho(e_2)</script> are
+  specializations, then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-680-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-680">thingOf(ent_1) = thingOf(ent_2)</script>.
+</p>
+</div>
+
+<div class="inference" id="specialization-attributes-inference"><div class="ruleTitle"><a class="internalDFN" href="#specialization-attributes-inference">Inference 21 (specialization-attributes-inference)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-681-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-681">\begin{array}[t]{l}
+\forall e_1,attrs,e_2.~
+\\
+\qquad entity(e_1,attrs) \wedge specializationOf(e_2,e_1)
+\\
+\quad\Rightarrow
+entity(e_2,attrs)
+\end{array}</script></div>
+</section>
+<div class="proof">
+  <p> Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-682-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-682">ent_1 = \rho(e_1)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-683-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-683">ent_2 = \rho(e_2)</script>.  Suppose
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-684-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>v</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-684">(att,v)</script> is an attribute-value pair in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-685-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-685">attrs</script>.  Since
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-686-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-686">entity(e_1,attrs)</script> holds, we know that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-687-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mo stretchy="false">∈</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-687">v \in value(ent_1,att)</script>.
+  Thus <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-688-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mo stretchy="false">∈</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-688">v \in value(ent_2,att)</script> since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-689-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">⊇</mo><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-689">value(ent_2,att) \supseteq value(ent_1,att)</script>.  Since
+  this is the case for all attribute-value pairs in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-690-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-690">attrs</script>, and since
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-691-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-691">e_2</script> obviously denotes an entity, we can conclude <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-692-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-692">W,\rho \models entity(e,attrs</script>).
+  </p>
+</div>
+
+<section id="constraints">
+<h3><span class="secno">5.2 </span>Constraints</h3>
+<section id="uniqueness-constraints">
+<h4><span class="secno">5.2.1 </span>Uniqueness constraints</h4>
+
+<div class="constraint" id="key-object"><div class="ruleTitle"><a class="internalDFN" href="#key-object">Constraint 22 (key-object)</a></div>
+  <ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-693-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⇒</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-693">\forall
+  id,attrs_1,attrs_2. entity(id,attrs_1) \wedge entity(id,attrs_2)
+  \Rightarrow entity(id,attrs_1\cup attrs_2)</script></li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-694-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msubsup><mi>t</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>t</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>t</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>t</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⇒</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>t</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>t</mi><mn>2</mn><mo>′</mo></msubsup></math></span></span></span><script type="math/tex" id="MathJax-Element-694">\forall
+  id,t_1,t_1',t_2,t_2',attrs_1,attrs_2.~ activity(id,t_1,t_2,attrs_1)
+  \wedge activity(id,t_1',t_2',attrs_2) \Rightarrow
+  activity(id,t_1,t_2,attrs_1\cup attrs_2) \wedge t_1=t_1' \wedge t_2=t_2'</script></li>
+  <li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-695-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">⇒</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-695">\forall
+  id,attrs_1,attrs_2. agent(id,attrs_1) \wedge agent(id,attrs_2)
+  \Rightarrow agent(id,attrs_1\cup attrs_2)</script>.</li></ol></div>
+  <div class="proof">
+<p>  These properties follow immediately from the definitions of the
+  semantics of the respective assertions, because functions are used
+  for the underlying data.</p>
+    </div>
+<div class="constraint" id="key-properties"><div class="ruleTitle"><a class="internalDFN" href="#key-properties">Constraint 23 (key-properties)</a></div>
+  <ol><li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-696-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>t</mi><mo stretchy="false">=</mo><msup><mi>t</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-696">\begin{array}[t]{l}
+    \forall
+  id,e,e',a,a',t,t',attrs_1,attrs_2.~ \\
+    wasGeneratedBy(id,e,a,t,attrs)
+  \wedge wasGeneratedBy(id,e',a',t',attrs_2) \\
+    \quad \Rightarrow
+  wasGeneratedBy(id,e,a,t,attrs_1 \cup attrs_2) \wedge e=e' \wedge
+  a=a' \wedge t = t'\end{array}</script></li>
+    <li><br> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-697-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>t</mi><mo stretchy="false">=</mo><msup><mi>t</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-697">\begin{array}[t]{l}\forall
+  id,e,e',a,a',t,t',attrs_1,attrs_2.~ \\used(id,a,e,t,attrs)
+  \wedge used(id,a',e',t',attrs_2)\\ \quad \Rightarrow
+  used(id,a,e',t,attrs_1 \cup attrs_2) \wedge e=e' \wedge
+  a=a' \wedge t = t'
+    \end{array}</script></li>
+    <li><br> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-698-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-698">\begin{array}[t]{l}\forall
+  id,a_1,a_2,a_1',a_2',attrs_1,attrs_2.~ \\wasInformedBy(id,a_1,a_2,attrs)
+  \wedge wasInformedBy(id,a_1',a_2',attrs_2)\\ \Rightarrow
+  wasInformedBy(id,a_1,a_2,attrs_1 \cup attrs_2) \wedge a_1=a_1'
+  \wedge a_2=a_2'
+    \end{array}</script></li>
+    <li><br> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-699-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>t</mi><mo stretchy="false">=</mo><msup><mi>t</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-699">\begin{array}[t]{l}\forall
+  id,e,e'a_1,a_2,a_1',a_2',t,t',attrs_1,attrs_2.~ \\wasStartedBy(id,a_2,e,a_1,t,attrs_1)
+  \wedge wasStartedBy(id,a_2',e',a_1',t',attrs_2)\\ \Rightarrow
+  wasStartedBy(id,a_2,e,a_1,t,attrs_1 \cup attrs_2) \wedge a_1=a_1'
+  \wedge e=e' \wedge
+  a_2=a_2' \wedge t = t'
+    \end{array}</script></li>
+    <li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-700-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>t</mi><mo stretchy="false">=</mo><msup><mi>t</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-700">\begin{array}[t]{l}\forall
+  id,e,e'a_1,a_2,a_1',a_2',t,t',attrs_1,attrs_2.~ \\wasEndedBy(id,a_2,e,a_1,t,attrs_1)
+  \wedge wasEndedBy(id,a_2',e',a_1',t',attrs_2)\\ \Rightarrow
+  wasEndedBy(id,a_2,e,a_1,t,attrs_1 \cup attrs_2) \wedge a_1=a_1'
+  \wedge e=e' \wedge
+  a_2=a_2' \wedge t = t'
+    \end{array}</script></li>
+    <li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-701-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>t</mi><mo stretchy="false">=</mo><msup><mi>t</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-701">\begin{array}[t]{l}\forall
+  id,e,e',a,a',t,t',attrs_1,attrs_2.~ \\wasInvalidatedBy(id,e,a,t,attrs_1)
+  \wedge wasInvalidatedBy(id,e',a',t',attrs_2)\\ \Rightarrow
+  wasInvalidatedBy(id,e,a,t,attrs_1 \cup attrs_2) \wedge e=e' \wedge
+  a=a' \wedge t = t'
+    \end{array}</script></li>
+    <li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-702-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msubsup><mi>e</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>e</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><msup><mi>u</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>e</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>e</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><msubsup><mi>g</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>u</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>e</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>e</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>g</mi><mo stretchy="false">=</mo><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>u</mi><mo stretchy="false">=</mo><msup><mi>u</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-702">\begin{array}[t]{l}\forall
+  id,e_1,e_1',e_2,e_2',a,a',g,g',u,u',attrs_1,attrs_2.~ \\wasDerivedFrom(id,e_2,e_1,a,g_2,u_1,attrs_1)
+  \wedge wasDerivedFrom(id,e_2',e_1',a',g_2',u_1',attrs_2)\\ \Rightarrow
+  wasDerivedFrom(id,e_2,e_1,a,g_2,u_1,attrs_1 \cup attrs_2) \wedge e_1=e_1'\wedge e_2=e_2'\wedge a=a'\wedge g=g'\wedge u=u'
+    \end{array}</script></li>
+    <li><br> <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-703-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>e</mi><mo stretchy="false">=</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>a</mi><mi>g</mi><mo stretchy="false">=</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-703">\begin{array}[t]{l}\forall
+  id,e,e',ag,ag',attrs_1,attrs_2.~ \\wasAttributedTo(id,e,ag,attrs_1)
+  \wedge wasAttributedTo(id,e',ag',attrs_2)\\ \Rightarrow
+  wasAttributedTo(id,e,ag,attrs_1 \cup attrs_2) \wedge e=e' \wedge ag = ag'
+    \end{array}</script></li>
+    <li> <br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-704-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>p</mi><msup><mi>l</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>p</mi><msup><mi>l</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>a</mi><mi>g</mi><mo stretchy="false">=</mo><mi>a</mi><msup><mi>g</mi><mo>′</mo></msup><mo stretchy="false">∧</mo><mi>p</mi><mi>l</mi><mo stretchy="false">=</mo><mi>p</mi><msup><mi>l</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-704">\begin{array}[t]{l}\forall
+  id,a,a',ag,ag',pl,pl',attrs_1,attrs_2.~ \\wasAssociatedWith(id,a,ag,pl,attrs_1)
+  \wedge wasAssociatedWith(id,a',ag',pl',attrs_2)\\ \Rightarrow
+  wasAssociatedWith(id,a,ag,pl,attrs_1 \cup attrs_2) \wedge a=a'
+  \wedge ag=ag'   \wedge pl=pl'
+    \end{array}</script></li>
+    <li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-705-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msubsup><mi>g</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msubsup><mi>g</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msubsup><mi>g</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><msubsup><mi>g</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>a</mi><msubsup><mi>g</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi>a</mi><msubsup><mi>g</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><mi>a</mi><mo stretchy="false">=</mo><msup><mi>a</mi><mo>′</mo></msup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-705">\begin{array}[t]{l}\forall
+  id,ag_1,ag_1',ag_2,ag_2',a,a',attrs_1,attrs_2.~ \\actedOnBehalfOf(id,ag_2,ag_1,a,attrs_1)
+  \wedge actedOnBehalfOf(id,ag_2',ag_1',a',attrs_2)\\ \Rightarrow
+  actedOnBehalfOf(id,ag_2,ag_1,a,attrs_1 \cup attrs_2) \wedge
+  ag_1=ag_1' \wedge ag_2 = ag_2' \wedge a = a'
+    \end{array}</script></li>
+    <li><br><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-706-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msubsup><mi>o</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mo stretchy="false">⇒</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><msub><mi>o</mi><mn>1</mn></msub><mo stretchy="false">=</mo><msubsup><mi>o</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">∧</mo><msub><mi>o</mi><mn>2</mn></msub><mo stretchy="false">=</mo><msubsup><mi>o</mi><mn>2</mn><mo>′</mo></msubsup></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-706">\begin{array}[t]{l}\forall
+  id,o_1,o_2,o_1',o_2',attrs_1,attrs_2.~ \\wasInfluencedBy(id,o_2',o_1',attrs_1)
+  \wedge wasInfluencedBy(id,o_2',o_1',attrs_2)\\ \Rightarrow
+  wasInfluencedBy(id,o_2,o_1,attrs_1 \cup attrs_2) \wedge o_1=o_1'
+  \wedge o_2=o_2'
+    \end{array}</script></li></ol>
+  </div>
+    <div class="proof">
+<p>  These properties follow immediately from the definitions of the
+  semantics of the respective assertions, again because functions are
+  used for the underlying data.</p>
+    </div>
+<div class="constraint" id="unique-generation"><div class="ruleTitle"><a class="internalDFN" href="#unique-generation">Constraint 24 (unique-generation)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-707-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-707">\begin{array}[t]{l}
+\forall gen_1,gen_2,e,a,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen_1,e,a,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e,a,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 = gen_2
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from <a href="#axiom17">Axiom 17</a>.
+  </p>
+  </div>
+<div class="constraint" id="unique-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#unique-invalidation">Constraint 25 (unique-invalidation)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-708-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-708">\begin{array}[t]{l}
+\forall inv_1,inv_2,e,a,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasInvalidatedBy(inv_1,e,a,t_1,attrs_1) \wedge wasInvalidatedBy(inv_2,e,a,t_2,attrs_2)
+\\
+\quad\Rightarrow
+inv_1 = inv_2
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from <a href="#axiom17">Axiom 18</a>.
+  </p>
+  </div>
+<div class="constraint" id="unique-wasStartedBy"><div class="ruleTitle"><a class="internalDFN" href="#unique-wasStartedBy">Constraint 26 (unique-wasStartedBy)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-709-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-709">\begin{array}[t]{l}
+\forall start_1,start_2,a,e_1,e_2,a_0,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start_1,a,e_1,a_0,t_1,attrs_1) \wedge wasStartedBy(start_2,a,e_2,a_0,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 = start_2
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from <a href="#axiom17">Axiom 19</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="unique-wasEndedBy"><div class="ruleTitle"><a class="internalDFN" href="#unique-wasEndedBy">Constraint 27 (unique-wasEndedBy)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-710-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>0</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-710">\begin{array}[t]{l}
+\forall end_1,end_2,a,e_1,e_2,a_0,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasEndedBy(end_1,a,e_1,a_0,t_1,attrs_1) \wedge wasEndedBy(end_2,a,e_2,a_0,t_2,attrs_2)
+\\
+\quad\Rightarrow
+end_1 = end_2
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from <a href="#axiom17">Axiom 20</a>.
+  </p>
+  </div>
+<div class="constraint" id="unique-startTime"><div class="ruleTitle"><a class="internalDFN" href="#unique-startTime">Constraint 28 (unique-startTime)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-711-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">=</mo><mi>t</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-711">\begin{array}[t]{l}
+\forall start,a_1,a_2,t,t_1,t_2,e,attrs,attrs_1.~
+\\
+\qquad activity(a_2,t_1,t_2,attrs) \wedge wasStartedBy(start,a_2,e,a_1,t,attrs_1)
+\\
+\quad\Rightarrow
+t_1 = t
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-712-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-712">wasStartedBy</script>, since the start times
+  must both match that of the activity.
+  </p>
+  </div>
+<div class="constraint" id="unique-endTime"><div class="ruleTitle"><a class="internalDFN" href="#unique-endTime">Constraint 29 (unique-endTime)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-713-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">=</mo><mi>t</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-713">\begin{array}[t]{l}
+\forall end,a_1,a_2,t,t_1,t_2,e,attrs,attrs_1.~
+\\
+\qquad activity(a_2,t_1,t_2,attrs) \wedge wasEndedBy(end,a_2,e,a_1,t,attrs_1)
+\\
+\quad\Rightarrow
+t_2 = t
+\end{array}</script></div>
+<div class="proof">
+  <p>
+  This follows from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-714-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-714">wasEndedBy</script>, since the end times
+  must both match that of the activity.
+  </p>
+  </div>
+</section>
+
+<section id="ordering-constraints">
+<h4><span class="secno">5.2.2 </span>Ordering constraints</h4>
+
+
+<div class="constraint" id="start-precedes-end"><div class="ruleTitle"><a class="internalDFN" href="#start-precedes-end">Constraint 30 (start-precedes-end)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-715-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-715">\begin{array}[t]{l}
+\forall start,end,a,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start,a,e_1,a_1,t_1,attrs_1) \wedge wasEndedBy(end,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start \precedes end
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from <a href="#axiom21">Axiom 21</a>.
+  </p>
+  </div>
+  
+<div class="constraint" id="start-start-ordering"><div class="ruleTitle"><a class="internalDFN" href="#start-start-ordering">Constraint 31 (start-start-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-716-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-716">\begin{array}[t]{l}
+\forall start_1,start_2,a,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start_1,a,e_1,a_1,t_1,attrs_1) \wedge wasStartedBy(start_2,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes start_2
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from <a href="#axiom21">Axiom 21</a>.
+  </p>
+  </div>
+  
+<div class="constraint" id="end-end-ordering"><div class="ruleTitle"><a class="internalDFN" href="#end-end-ordering">Constraint 32 (end-end-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-717-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-717">\begin{array}[t]{l}
+\forall end_1,end_2,a,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasEndedBy(end_1,a,e_1,a_1,t_1,attrs_1) \wedge wasEndedBy(end_2,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+end_1 \precedes end_2
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from <a href="#axiom22">Axiom 22</a>.
+  </p>
+  </div>
+  
+<div class="constraint" id="usage-within-activity"><div class="ruleTitle"><a class="internalDFN" href="#usage-within-activity">Constraint 33 (usage-within-activity)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-718-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-718">\begin{array}[t]{l}
+\forall start,use,a,e_1,e_2,a_1,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start,a,e_1,a_1,t_1,attrs_1) \wedge used(use,a,e_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start \precedes use
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-719-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>u</mi><mi>s</mi><mi>e</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-719">\begin{array}[t]{l}
+\forall use,end,a,e_1,e_2,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad used(use,a,e_1,t_1,attrs_1) \wedge wasEndedBy(end,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+use \precedes end
+\end{array}</script></li></ol></div>
+<div class="proof">
+  <p>Part 1 follows from <a href="#axiom21">Axiom 21</a> and part 2
+  follows from <a href="#axiom22">Axiom 22</a>.
+  </p>
+  </div>
+  
+<div class="constraint" id="generation-within-activity"><div class="ruleTitle"><a class="internalDFN" href="#generation-within-activity">Constraint 34 (generation-within-activity)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-720-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><mi>n</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-720">\begin{array}[t]{l}
+\forall start,gen,e_1,e_2,a,a_1,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start,a,e_1,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen,e_2,a,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start \precedes gen
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-721-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><mi>n</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-721">\begin{array}[t]{l}
+\forall gen,end,e,e_1,a,a_1,t,t_1,attrs,attrs_1.~
+\\
+\qquad wasGeneratedBy(gen,e,a,t,attrs) \wedge wasEndedBy(end,a,e_1,a_1,t_1,attrs_1)
+\\
+\quad\Rightarrow
+gen \precedes end
+\end{array}</script></li></ol></div>
+<div class="proof">
+  <p>Part 1 follows from <a href="#axiom21">Axiom 21</a> and part 2
+  follows from <a href="#axiom22">Axiom 22</a>.
+  </p>
+  </div>
+  
+<div class="constraint" id="wasInformedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasInformedBy-ordering">Constraint 35 (wasInformedBy-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-722-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>1</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msubsup><mi>a</mi><mn>2</mn><mo>′</mo></msubsup><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-722">\begin{array}[t]{l}
+\forall id,start,end,a_1,a_1',a_2,a_2',e_1,e_2,t_1,t_2,attrs,attrs_1,attrs_2.~
+\\
+\qquad wasInformedBy(id,a_2,a_1,attrs) \wedge wasStartedBy(start,a_1,e_1,a_1',t_1,attrs_1) \wedge wasEndedBy(end,a_2,e_2,a_2',t_2,attrs_2)
+\\
+\quad\Rightarrow
+start \precedes end
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the semantics of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-723-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-723">wasInformedBy</script> and the
+  previous two constraints, because <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-724-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-724">wasInformedBy</script> implies the
+  existence of intermediate generation and usage events linking <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-725-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-725">a_1</script>
+  and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-726-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-726">a_2</script>.
+  </p>
+  </div>
+  
+<div class="constraint" id="generation-precedes-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#generation-precedes-invalidation">Constraint 36 (generation-precedes-invalidation)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-727-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><mi>n</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-727">\begin{array}[t]{l}
+\forall gen,inv,e,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen \precedes inv
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom22">Axiom 22</a>.
+  </p>
+  </div>
+
+  <div class="constraint" id="generation-precedes-usage"><div class="ruleTitle"><a class="internalDFN" href="#generation-precedes-usage">Constraint 37 (generation-precedes-usage)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-728-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><mi>n</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-728">\begin{array}[t]{l}
+\forall gen,use,e,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge used(use,a_2,e,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen \precedes use
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom 23">Axiom 23</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="usage-precedes-invalidation"><div class="ruleTitle"><a class="internalDFN" href="#usage-precedes-invalidation">Constraint 38 (usage-precedes-invalidation)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-729-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>u</mi><mi>s</mi><mi>e</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-729">\begin{array}[t]{l}
+\forall use,inv,a_1,a_2,e,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad used(use,a_1,e,t_1,attrs_1) \wedge wasInvalidatedBy(inv,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+use \precedes inv
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom24">Axiom 24</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="generation-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#generation-generation-ordering">Constraint 39 (generation-generation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-730-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-730">\begin{array}[t]{l}
+\forall gen_1,gen_2,e,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen_1,e,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \precedes gen_2
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom23">Axiom 23</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="invalidation-invalidation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#invalidation-invalidation-ordering">Constraint 40 (invalidation-invalidation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-731-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-731">\begin{array}[t]{l}
+\forall inv_1,inv_2,e,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasInvalidatedBy(inv_1,e,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv_2,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+inv_1 \precedes inv_2
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom24">Axiom 24</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="derivation-usage-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#derivation-usage-generation-ordering">Constraint 41 (derivation-usage-generation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-732-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>u</mi><mi>s</mi><msub><mi>e</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-732">\begin{array}[t]{l}
+\forall d,e_1,e_2,a,gen_2,use_1,attrs.~
+\\
+\qquad notNull(a) \wedge notNull(gen_2) \wedge notNull(use_1) \wedge wasDerivedFrom(d,e_2,e_1,a,gen_2,use_1,attrs)
+\\
+\quad\Rightarrow
+use_1 \precedes gen_2
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom25">Axiom 25</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="derivation-generation-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#derivation-generation-generation-ordering">Constraint 42 (derivation-generation-generation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-733-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>d</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">strictlyPrecedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-733">\begin{array}[t]{l}
+\forall d,gen_1,gen_2,e_1,e_2,a,a_1,a_2,g,u,t_1,t_2,attrs,attrs_1,attrs_2.~
+\\
+\qquad wasDerivedFrom(d,e_2,e_1,a,g,u,attrs) \wedge wasGeneratedBy(gen_1,e_1,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \strictlyPrecedes gen_2
+\end{array}</script></div>
+
+<div class="proof">
+  <p>This follows from <a href="#axiom25">Axiom 26</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="wasStartedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasStartedBy-ordering">Constraint 43 (wasStartedBy-ordering)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-734-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><mi>n</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-734">\begin{array}[t]{l}
+\forall gen,start,e,a,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge wasStartedBy(start,a,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen \precedes start
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-735-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-735">\begin{array}[t]{l}
+\forall start,inv,e,a,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasStartedBy(start,a,e,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start \precedes inv
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>Part 1 follows from <a href="#axiom23">Axiom 23</a>.  Part 2
+  follows from <a href="#axiom24">Axiom 24</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="wasEndedBy-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasEndedBy-ordering">Constraint 44 (wasEndedBy-ordering)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-736-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><mi>n</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><mi>n</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><mi>d</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-736">\begin{array}[t]{l}
+\forall gen,end,e,a,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasGeneratedBy(gen,e,a_1,t_1,attrs_1) \wedge wasEndedBy(end,a,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen \precedes end
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-737-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>e</mi><mi>n</mi><mi>d</mi><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><mi>v</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-737">\begin{array}[t]{l}
+\forall end,inv,e,a,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasEndedBy(end,a,e,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+end \precedes inv
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>Part 1 follows from <a href="#axiom23">Axiom 23</a>.  Part 2
+  follows from <a href="#axiom24">Axiom 24</a>.
+  </p>
+  </div>
+
+<div class="constraint" id="specialization-generation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#specialization-generation-ordering">Constraint 45 (specialization-generation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-738-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-738">\begin{array}[t]{l}
+\forall gen_1,gen_2,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad specializationOf(e_2,e_1) \wedge wasGeneratedBy(gen_1,e_1,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \precedes gen_2
+\end{array}</script></div>
+
+
+<div class="proof">
+  <p> ???
+  </p>
+  </div>
+
+  <div class="constraint" id="specialization-invalidation-ordering"><div class="ruleTitle"><a class="internalDFN" href="#specialization-invalidation-ordering">Constraint 46 (specialization-invalidation-ordering)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-739-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-739">\begin{array}[t]{l}
+\forall inv_1,inv_2,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad specializationOf(e_1,e_2) \wedge wasInvalidatedBy(inv_1,e_1,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv_2,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+inv_1 \precedes inv_2
+\end{array}</script></div>
+
+<div class="proof">
+  <p> ???
+  </p>
+  </div>
+
+<div class="constraint" id="wasAssociatedWith-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasAssociatedWith-ordering">Constraint 47 (wasAssociatedWith-ordering)</a></div><p>In the following inferences, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-740-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mi>l</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-740">pl</script> may be a placeholder -.</p><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-741-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-741">\begin{array}[t]{l}
+\forall assoc,start_1,inv_2,ag,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasAssociatedWith(assoc,a,ag,pl,attrs) \wedge wasStartedBy(start_1,a,e_1,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv_2,ag,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes inv_2
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-742-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-742">\begin{array}[t]{l}
+\forall assoc,gen_1,end_2,ag,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasAssociatedWith(assoc,a,ag,pl,attrs) \wedge wasGeneratedBy(gen_1,ag,a_1,t_1,attrs_1) \wedge wasEndedBy(end_2,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \precedes end_2
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-743-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-743">\begin{array}[t]{l}
+\forall assoc,start_1,end_2,ag,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasAssociatedWith(assoc,a,ag,pl,attrs) \wedge wasStartedBy(start_1,a,e_1,a_1,t_1,attrs_1) \wedge wasEndedBy(end_2,ag,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes end_2
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-744-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-744">\begin{array}[t]{l}
+\forall assoc,start_1,end_2,ag,e_1,e_2,a_1,a_2,t_1,t_2,attrs_1,attrs_2.~
+\\
+\qquad wasAssociatedWith(assoc,a,ag,pl,attrs) \wedge wasStartedBy(start_1,ag,e_1,a_1,t_1,attrs_1) \wedge wasEndedBy(end_2,a,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes end_2
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>TODO - arbitrary axioms.
+  </p>
+  </div>
+
+<div class="constraint" id="wasAttributedTo-ordering"><div class="ruleTitle"><a class="internalDFN" href="#wasAttributedTo-ordering">Constraint 48 (wasAttributedTo-ordering)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-745-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-745">\begin{array}[t]{l}
+\forall att,gen_1,gen_2,e,a_1,a_2,t_1,t_2,ag,attrs,attrs_1,attrs_2.~
+\\
+\qquad wasAttributedTo(att,e,ag,attrs) \wedge wasGeneratedBy(gen_1,ag,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \precedes gen_2
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-746-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>a</mi><mi>t</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-746">\begin{array}[t]{l}
+\forall att,start_1,gen_2,e,e_1,a_1,a_2,ag,t_1,t_2,attrs,attrs_1,attrs_2.~
+\\
+\qquad wasAttributedTo(att,e,ag,attrs) \wedge wasStartedBy(start_1,ag,e_1,a_1,t_1,attrs_1) \wedge wasGeneratedBy(gen_2,e,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes gen_2
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>TODO - arbitrary axioms.
+  </p>
+  </div>
+
+<div class="constraint" id="actedOnBehalfOf-ordering"><div class="ruleTitle"><a class="internalDFN" href="#actedOnBehalfOf-ordering">Constraint 49 (actedOnBehalfOf-ordering)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-747-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>d</mi><mi>e</mi><mi>l</mi><mo stretchy="false">,</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>g</mi><mi>e</mi><msub><mi>n</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>i</mi><mi>n</mi><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-747">\begin{array}[t]{l}
+\forall del,gen_1,inv_2,ag_1,ag_2,a,a_1,a_2,t_1,t_2,attrs,attrs_1,attrs_2.~
+\\
+\qquad actedOnBehalfOf(del,ag_2,ag_1,a,attrs) \wedge wasGeneratedBy(gen_1,ag_1,a_1,t_1,attrs_1) \wedge wasInvalidatedBy(inv_2,ag_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+gen_1 \precedes inv_2
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-748-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>d</mi><mi>e</mi><mi>l</mi><mo stretchy="false">,</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>d</mi><mi>e</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><msub><mi>t</mi><mn>1</mn></msub><mtext>&nbsp;</mtext><mrow class="MJX-TeXAtom-REL"><mrow class="MJX-TeXAtom-ORD"><mtext mathvariant="normal">precedes</mtext></mrow></mrow><mtext>&nbsp;</mtext><mi>e</mi><mi>n</mi><msub><mi>d</mi><mn>2</mn></msub></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-748">\begin{array}[t]{l}
+\forall del,start_1,end_2,ag_1,ag_2,a,a_1,a_2,e_1,e_2,t_1,t_2,attrs,attrs_1,attrs_2.~
+\\
+\qquad actedOnBehalfOf(del,ag_2,ag_1,a,attrs) \wedge wasStartedBy(start_1,ag_1,e_1,a_1,t_1,attrs_1) \wedge wasEndedBy(end_2,ag_2,e_2,a_2,t_2,attrs_2)
+\\
+\quad\Rightarrow
+start_1 \precedes end_2
+\end{array}</script></li></ol></div>
+
+<div class="proof">
+  <p>TODO - arbitrary axioms.
+  </p>
+  </div>
+
+
+</section>
+
+<section id="typing-constraints">
+<h4><span class="secno">5.2.3 </span>Typing constraints</h4>
+
+<div class="constraint" id="typing"><div class="ruleTitle"><a class="internalDFN" href="#typing">Constraint 50 (typing)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-749-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-749">\begin{array}[t]{l}
+\forall e,attrs.~
+\\
+\qquad entity(e,attrs)
+\\
+\quad\Rightarrow
+typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-750-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-750">\begin{array}[t]{l}
+\forall ag,attrs.~
+\\
+\qquad agent(ag,attrs)
+\\
+\quad\Rightarrow
+typeOf(ag,agent)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-751-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-751">\begin{array}[t]{l}
+\forall a,t_1,t_2,attrs.~
+\\
+\qquad activity(a,t_1,t_2,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-752-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-752">\begin{array}[t]{l}
+\forall u,a,e,t,attrs.~
+\\
+\qquad used(u,a,e,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-753-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-753">\begin{array}[t]{l}
+\forall g,a,e,t,attrs.~
+\\
+\qquad wasGeneratedBy(g,e,a,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-754-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>f</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-754">\begin{array}[t]{l}
+\forall inf,a_2,a_1,t,attrs.~
+\\
+\qquad wasInformedBy(inf,a_2,a_1,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a_1,activity) \wedge typeOf(a_2,activity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-755-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-755">\begin{array}[t]{l}
+\forall start,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasStartedBy(start,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a_1,activity) \wedge typeOf(a_2,activity) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-756-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mi>n</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-756">\begin{array}[t]{l}
+\forall end,a_2,e,a_1,t,attrs.~
+\\
+\qquad wasEndedBy(end,a_2,e,a_1,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a_1,activity) \wedge typeOf(a_2,activity) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-757-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>n</mi><mi>v</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-757">\begin{array}[t]{l}
+\forall inv,a,e,t,attrs.~
+\\
+\qquad wasInvalidatedBy(inv,e,a,t,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-758-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>u</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-758">\begin{array}[t]{l}
+\forall id,e_2,e_1,a,g_2,u_1,attrs.~
+\\
+\qquad notNull(a) \wedge notNull(g_2) \wedge notNull(u_1) \wedge wasDerivedFrom(id,e_2,e_1,a,g_2,u_1,attrs)
+\\
+\quad\Rightarrow
+typeOf(e_2,entity) \wedge typeOf(e_1,activity) \wedge typeOf(a,activity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-759-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-759">\begin{array}[t]{l}
+\forall id,e_2,e_1,attrs.~
+\\
+\qquad wasDerivedFrom(id,e_2,e_1,-,-,-,attrs)
+\\
+\quad\Rightarrow
+typeOf(e_2,entity) \wedge typeOf(e_1,activity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-760-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-760">\begin{array}[t]{l}
+\forall id,e,ag,attrs.~
+\\
+\qquad wasAttributedTo(id,e,ag,attrs)
+\\
+\quad\Rightarrow
+typeOf(e,entity) \wedge typeOf(ag,agent)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-761-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-761">\begin{array}[t]{l}
+\forall id,a,ag,pl,attrs.~
+\\
+\qquad notNull(pl) \wedge wasAssociatedWith(id,a,ag,pl,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity) \wedge typeOf(ag,agent) \wedge typeOf(pl,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-762-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-762">\begin{array}[t]{l}
+\forall id,a,ag,attrs.~
+\\
+\qquad wasAssociatedWith(id,a,ag,-,attrs)
+\\
+\quad\Rightarrow
+typeOf(a,activity) \wedge typeOf(ag,agent)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-763-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-763">\begin{array}[t]{l}
+\forall id,ag_2,ag_1,a,attrs.~
+\\
+\qquad actedOnBehalfOf(id,ag_2,ag_1,a,attrs)
+\\
+\quad\Rightarrow
+typeOf(ag_2,agent) \wedge typeOf(ag_1,agent) \wedge typeOf(a,activity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-764-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-764">\begin{array}[t]{l}
+\forall e_2,e_1.~
+\\
+\qquad alternateOf(e_2,e_1)
+\\
+\quad\Rightarrow
+typeOf(e_2,entity) \wedge typeOf(e_1,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-765-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-765">\begin{array}[t]{l}
+\forall e_2,e_1.~
+\\
+\qquad specializationOf(e_2,e_1)
+\\
+\quad\Rightarrow
+typeOf(e_2,entity) \wedge typeOf(e_1,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-766-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>h</mi><mi>a</mi><mi>d</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-766">\begin{array}[t]{l}
+\forall c,e.~
+\\
+\qquad hadMember(c,e)
+\\
+\quad\Rightarrow
+typeOf(c,Collection) \wedge typeOf(e,entity)
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-767-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>c</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mo stretchy="false">[</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">=</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>e</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">]</mo><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-767">\begin{array}[t]{l}
+\forall c.~
+\\
+\qquad entity(c,[prov:type = prov:emptyCollection]))
+\\
+\quad\Rightarrow
+typeOf(c,entity) \wedge typeOf(c,Collection) \wedge typeOf(c,EmptyCollection)
+\end{array}</script></li></ol></div>
+<div class="proof">
+  <p>Each typing constraint follows immediately from well-formedness
+  criteria marked [WF] in the corresponding semantics for formulas.
+  </p> 
+  </div>
+</section>
+
+<section id="impossibility-constraints">
+<h4><span class="secno">5.2.4 </span>Impossibility constraints</h4>
+
+<div class="constraint" id="impossible-unspecified-derivation-generation-use"><div class="ruleTitle"><a class="internalDFN" href="#impossible-unspecified-derivation-generation-use">Constraint 51 (impossible-unspecified-derivation-generation-use)</a></div><ol><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-768-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-768">\begin{array}[t]{l}
+\forall id,e_1,e_2,g,attrs.~
+\\
+\qquad notNull(g) \wedge wasDerivedFrom(id,e_2,e_1,-,g,-,attrs)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-769-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-769">\begin{array}[t]{l}
+\forall id,e_1,e_2,u,attrs.~
+\\
+\qquad notNull(u) \wedge wasDerivedFrom(id,e_2,e_1,-,-,u,attrs)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></li><li><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-770-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>n</mi><mi>o</mi><mi>t</mi><mi>N</mi><mi>u</mi><mi>l</mi><mi>l</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-770">\begin{array}[t]{l}
+\forall id,e_1,e_2,g,u,attrs.~
+\\
+\qquad notNull(g) \wedge notNull(u) \wedge wasDerivedFrom(id,e_2,e_1,-,g,u,attrs)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></li></ol></div>
+<div class="proof">
+  <p>Each part follows from the fact that the semantics of
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-771-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-771">wasDerivedFrom</script> only allows formulas to hold when either all three
+  of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-772-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-772">a,g,u</script> are <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-773-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">−</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-773">-</script> (denoting <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-774-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="normal">⊥</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-774">\bot</script>) or none of them are.</p>
+  </div>
+<div class="constraint" id="impossible-specialization-reflexive"><div class="ruleTitle"><a class="internalDFN" href="#impossible-specialization-reflexive">Constraint 52 (impossible-specialization-reflexive)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-775-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>e</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-775">\begin{array}[t]{l}
+\forall e.~
+\\
+\qquad specializationOf(e,e)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the fact that in the semantics of
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-776-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>p</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>z</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-776">specializationOf</script>, the two entities denoted by the first and second
+  arguments are required to be distinct.
+  </p>
+  </div>
+<div class="constraint" id="impossible-property-overlap"><div class="ruleTitle"><a class="internalDFN" href="#impossible-property-overlap">Constraint 53 (impossible-property-overlap)</a></div><p>For each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-777-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-777">r</script>  and  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-778-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mo stretchy="false">∈</mo><mo fence="false" stretchy="false">{</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-778">s \in \{ used, wasGeneratedBy, wasInvalidatedBy, wasStartedBy, wasEndedBy, wasInformedBy, wasAttributedTo, wasAssociatedWith, actedOnBehalfOf\}</script> such that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-779-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-779">r</script>  and  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-780-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-780">s</script> are different relation names, the following constraint holds:</p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-781-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>m</mi></msub><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>m</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>s</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-781">\begin{array}[t]{l}
+\forall id,a_1,\ldots,a_m,b_1,\ldots,b_n.~
+\\
+\qquad r(id,a_1,\ldots,a_m) \wedge s(id,b_1,\ldots,b_n)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the assumption that the different classes of
+  influences are disjoint sets, characterized by their types.
+  </p>
+  </div>
+<div class="constraint" id="impossible-object-property-overlap"><div class="ruleTitle"><a class="internalDFN" href="#impossible-object-property-overlap">Constraint 54 (impossible-object-property-overlap)</a></div><p>For each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-782-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>p</mi><mo stretchy="false">∈</mo><mo fence="false" stretchy="false">{</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-782">p \in \{entity,activity,agent\}</script>  and each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-783-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo stretchy="false">∈</mo><mo fence="false" stretchy="false">{</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">,</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-783">r \in \{ used, wasGeneratedBy, wasInvalidatedBy, wasStartedBy, wasEndedBy, wasInformedBy, wasAttributedTo, wasAssociatedWith, actedOnBehalfOf\}</script>, the following constraint holds:</p><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-784-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>m</mi></msub><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>p</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>m</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-784">\begin{array}[t]{l}
+\forall id,a_1,\ldots,a_m,b_1,\ldots,b_n.~
+\\
+\qquad p(id,a_1,\ldots,a_m) \wedge r(id,b_1,\ldots,b_n)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the assumption that influences are distinct
+  from other objects (entities, activities or agents).
+  </p>
+  </div>
+<div class="constraint" id="entity-activity-disjoint"><div class="ruleTitle"><a class="internalDFN" href="#entity-activity-disjoint">Constraint 55 (entity-activity-disjoint)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-785-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>i</mi><mi>d</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-785">\begin{array}[t]{l}
+\forall id.~
+\\
+\qquad typeOf(id,entity) \wedge typeOf(id,activity)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the assumption that entities and activities are disjoint.
+  </p>
+  </div>
+<div class="constraint" id="membership-empty-collection"><div class="ruleTitle"><a class="internalDFN" href="#membership-empty-collection">Constraint 56 (membership-empty-collection)</a></div><span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-786-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mtable align="baseline 1" columnalign="left" rowspacing="4pt" columnspacing="1em"><mtr><mtd><mi mathvariant="normal">∀</mi><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo>.</mo><mtext>&nbsp;</mtext></mtd></mtr><mtr><mtd><mspace width="2em"></mspace><mi>h</mi><mi>a</mi><mi>s</mi><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mspace width="1em"></mspace><mo stretchy="false">⇒</mo><mi>F</mi><mi>a</mi><mi>l</mi><mi>s</mi><mi>e</mi></mtd></mtr></mtable></math></span></span></span><script type="math/tex" id="MathJax-Element-786">\begin{array}[t]{l}
+\forall c,e.~
+\\
+\qquad hasMember(c,e) \wedge typeOf(c,EmptyCollection)
+\\
+\quad\Rightarrow
+False
+\end{array}</script></div>
+<div class="proof">
+  <p>This follows from the definition of the semantics of
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-787-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>c</mi><mo stretchy="false">,</mo><mi>E</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-787">typeOf(c,EmptyCollection)</script>, which requires that there are no
+  members of the collection denoted by <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-788-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-788">c</script>.
+  </p>
+  </div>
+</section>
+</section>
+</section>
+
+
+<section id="soundness-completeness">
+  <!--OddPage--><h2><span class="secno">6. </span>Soundness and Completeness</h2>
+
+  <p>Above we have presented arguments for the soundness of the
+constraints and inferences with respect to the naive semantics.
+Here, we relate the notions of <dfn id="dfn-validity">validity</dfn> and <dfn id="dfn-normal-form">normal
+form</dfn> defined in PROV-CONSTRAINTS to the semantics.  
+</p>
+  
+<section id="soundness">
+  <h3><span class="secno">6.1 </span>Soundness</h3>
+
+<p>Our main soundness result is:</p>
+
+<div class="theorem" id="soundness-theorem" data-count="39" data-title="Theorem 39 (soundness-theorem)"><div class="ruleTitle"><a class="internalDFN" href="#soundness-theorem">Theorem 39 (soundness-theorem)</a></div>
+  <p> Let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-789-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-789">W</script> be a PROV model, that is, a structure satisfying all of
+  the axioms</p>.
+  <ol>
+  <li>If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-790-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-790">I</script> is an instance and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-791-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-791">W \models I</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-792-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-792">I'</script> is obtained from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-793-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-793">I</script> by applying one
+  of the PROV inferences, then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-794-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-794">W \models I'</script>.</li>
+  <li>If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-795-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-795">I</script> is an instance and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-796-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-796">W \models I</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-797-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-797">I</script> has a normal
+  form <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-798-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-798">I'</script> and   <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-799-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-799"> W \models I'</script>.</li>
+  <li>If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-800-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-800">I</script> is a normal form and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-801-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-801">W \models I</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-802-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-802">I</script> satisfies all of the ordering,
+  typing and impossibility constraints.
+  </li><li>If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-803-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-803">W \models I</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-804-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-804">I</script> is valid.</li>
+</ol>
+  </div>
+<div class="proof">
+  <p>For part 1, the arguments are as in the previous section.  </p>
+  <p>For
+  part 2, proceed by induction on a terminating sequence of inference
+  or uniqueness constraint steps: if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-805-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-805">I</script> is in normal form then we are
+  done. If <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-806-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-806">I</script> is not in normal form then if an inference is  applicable, then use part 1; if a uniqueness constraint is
+  applicable, then from <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-807-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-807">W \models I</script> the uniqueness constraint cannot
+  fail on <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-808-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-808">I</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-809-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-809">W \models I'</script>.</p>
+<p>
+  For part 3, the arguments are as
+  in the previous section for each constraint. </p>
+  <p>Finally, for part 4,
+  suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-810-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-810">W \models I</script>.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-811-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>W</mi><mo stretchy="false">⊨</mo><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-811">W \models I'</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-812-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-812">I'</script> is the normal
+  form of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-813-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-813">I</script> by part 2.  By part 3, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-814-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-814">I'</script> satisfies all of the
+  remaining constraints, so <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-815-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-815">I</script> is valid.</p>
+  </div>
+
+  </section>
+<section id="completeness">
+  <h3><span class="secno">6.2 </span>Weak Completeness</h3>
+
+<p> In this section we give a translation from valid PROV instances to
+  structures, and show that a valid PROV instance has a model.</p>
+
+  
+  <p> Let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-816-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-816">I</script> be a valid PROV instance that is in normal form.
+  We define a structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-817-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-817">M(I)</script> as follows, by giving the sets,
+  functions and relations specified in the components in <a href="#structures">Section 3</a>.</p>
+
+  <section id="sets">
+<h4><span class="secno">6.2.1 </span>Sets</h4>
+  <p> The sets of structure <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-818-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-818">M(I)</script> are: </p>
+
+  <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-819-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="3pt" columnspacing="thickmathspace" displaystyle="true" side="right" minlabelspacing="0.8em"><mtr><mtd><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>P</mi><mi>l</mi><mi>a</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>p</mi><mi>l</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">≠</mo><mo stretchy="false">−</mo><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>e</mi><mo stretchy="false">∣</mo><mi>m</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msup><mi>e</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>e</mi><mo stretchy="false">∣</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo stretchy="false">,</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>t</mi><mi>y</mi><mi>p</mi><mi>e</mi><mo stretchy="false">=</mo><mi>p</mi><mi>r</mi><mi>o</mi><mi>v</mi><mo stretchy="false">:</mo><mi>e</mi><mi>m</mi><mi>p</mi><mi>t</mi><mi>y</mi><mi>C</mi><mi>o</mi><mi>l</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo stretchy="false">∈</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><msub><mi>a</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>a</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><msub><mi>u</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><msub><mi>g</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>E</mi><mi>n</mi><mi>d</mi><mi>s</mi></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>C</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>D</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>g</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>q</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>q</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mi>O</mi><mi>b</mi><mi>j</mi><mi>e</mi><mi>c</mi><mi>t</mi><mi>s</mi></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>A</mi><mi>g</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">∪</mo><mi>I</mi><mi>n</mi><mi>f</mi><mi>l</mi><mi>u</mi><mi>e</mi><mi>n</mi><mi>c</mi><mi>e</mi><mi>s</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-819">
+  \begin{eqnarray*}
+  Entities &=& \{id \mid entity(id,attrs) \in I\}\\
+  Plans &=& \{pl \mid wasAssociatedWith(id,ag,act,pl,attrs) \in I, pl
+  \neq -\}\\
+  Collections &=& \{e \mid memberOf(e',e) \in I\} \\
+  &\cup& \{e \mid
+  entity(e,attrs) \in I, prov:type=prov:emptyCollection \in attrs\}\\
+  
+  Activities &=& \{id \mid activity(id,attrs) \in I\}\\
+  &\cup& \{a_{id} \mid wasDerivedFrom(id,e_2,e_1,-,-,-,attrs) \in I\}\\
+  Agents &=& \{id \mid agent(id,attrs) \in I\}\\
+  \\
+  Usages &=&  \{id \mid used(id,a,e,t,attrs) \in I\}\\
+  &\cup& \{u_{id} \mid wasDerivedFrom(id,e_2,e_1,-,-,-,attrs) \in I\}\\  Generations &=&  \{id \mid wasGeneratedBy(id,e,a,t,attrs) \in I\}\\
+  &\cup& \{g_{id} \mid wasDerivedFrom(id,e_2,e_1,-,-,-,attrs) \in I\}\\  Invalidations &=&  \{id \mid wasInvalidatedBy(id,e,a,t,attrs) \in I\}\\
+  Starts &=&  \{id \mid wasStartedBy(id,a,e,a',t,attrs) \in I\}\\
+  Ends &=&  \{id \mid wasEndedBy(id,a,e,a',t,attrs) \in I\}\\
+  Events &=& Usages \cup Generations \cup Invalidations \cup Starts
+  \cup Ends\\
+  \\
+  Associations &=& \{id \mid wasAssociatedWith(id,ag,act,pl,attrs) \in
+  I\}\\
+  Attributions &=&  \{id \mid wasAttributedTo(id,e,ag,attrs) \in I\}\\
+  Delegations &=&  \{id \mid actedOnBehalfOf(id,ag_2,ag_1,act,attrs) \in I\}\\
+  Communications &=&  \{id \mid wasInformedBy(id,a_2,a_1,attrs) \in I\}\\
+  Derivations &=&  \{id \mid wasDerivedFrom(id,e_2,e_1,a,g,u,attrs) \in I\}\\
+\\
+  Influences &=& Events \cup Associations \cup Attributions \cup
+  Communications \cup Delegations\\
+  &\cup & \{id \mid wasInfluencedBy(id,q_2,q_1,attrs) \in I\}\\
+  \\
+  Objects &=& Entities \cup Activities \cup Agents \cup Influences\\
+  \end{eqnarray*}
+  </script>
+<p>In the definitions of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-820-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>A</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-820">Activities</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-821-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-821">Generations</script>, and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-822-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>U</mi><mi>s</mi><mi>a</mi><mi>g</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-822">Usages</script> we
+  write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-823-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-823">a_{id}</script>, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-824-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>g</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-824">g_{id}</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-825-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>u</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-825">u_{id}</script> respectively to indicate
+  additional activities, generations and usages added for imprecise derivations.
+</p>
+  <p> In addition, to define the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-826-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-826">Things</script>, we introduce an
+  equivalence relation on <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-827-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-827">Entities</script> as follows:
+  </p>
+  <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-828-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">≡</mo><msub><mi>e</mi><mn>2</mn></msub><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-828">e_1 \equiv e_2 \iff alternateOf(e_1,e_2) \in I</script>
+  <p>The fact that this is an equivalence relation follows from the
+  fact that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-829-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-829">I</script> is in normal form, since the constraints on
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-830-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-830">alternateOf</script> ensure that it is an equivalence relation.  Recall
+  that given an equivalence relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-831-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≡</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-831">\equiv</script> on some set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-832-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-832">X</script>, the
+  <em>equivalence class</em> of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-833-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo stretchy="false">∈</mo><mi>X</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-833">x \in X</script> is the set <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-834-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><mi>x</mi><msub><mo stretchy="false">]</mo><mo stretchy="false">≡</mo></msub><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mi>y</mi><mo stretchy="false">∈</mo><mi>X</mi><mo stretchy="false">∣</mo><mi>x</mi><mo stretchy="false">≡</mo><mi>y</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-834">[x]_\equiv = \{y
+  \in X \mid x
+  \equiv y\}</script>.  The <em>quotient</em> of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-835-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-835">X</script> by an equivalence
+  relation on <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-836-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-836">X</script> is the set of equivalence classes, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-837-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>X</mi><mo stretchy="false">≡</mo></msub><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mo stretchy="false">[</mo><mi>x</mi><msub><mo stretchy="false">]</mo><mo stretchy="false">≡</mo></msub><mo stretchy="false">∣</mo><mi>x</mi><mo stretchy="false">∈</mo><mi>X</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-837">X_\equiv =
+  \{[x]_\equiv \mid x \in X\}</script>.  Now we
+  define the set of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-838-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-838">Things</script> as the quotient of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-839-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≡</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-839">\equiv</script>-equivalence classes of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-840-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-840">Entities</script>.</p>
+
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-841-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">=</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><msub><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">/</mo></mrow><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">≡</mo></mrow></msub><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><mo stretchy="false">[</mo><mi>e</mi><msub><mo stretchy="false">]</mo><mo stretchy="false">≡</mo></msub><mo stretchy="false">∣</mo><mi>e</mi><mo stretchy="false">∈</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo fence="false" stretchy="false">}</mo></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-841">Things = Entities /_{\equiv} = \{[e]_\equiv \mid e \in Entities\}</script>
+
+<p> Observe that since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-842-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-842">I</script> is normalized and valid, entities and
+activities are disjoint, the influences are disjoint from entities,
+activities, and agents, 
+and the different subsets of events and influences are pairwise
+disjoint, as required.</p>
+</section>
+<section id="functions">
+<h4><span class="secno">6.2.2 </span>Functions</h4>
+
+<p> First, we consider the functions associated with <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-843-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-843">Entities</script>.  We
+employ an auxiliary function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-844-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">:</mo><mi>E</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>e</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-844">events:Entities \to P(Events)</script> that collects the set of all
+events in which <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-845-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-845">e</script> participated.</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-846-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="3pt" columnspacing="thickmathspace" displaystyle="true" side="right" minlabelspacing="0.8em"><mtr><mtd><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd></mtd><mtd><mo stretchy="false">∪</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>i</mi><mi>d</mi><mo stretchy="false">∣</mo><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∣</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>v</mi><mo stretchy="false">∣</mo><mi>e</mi><mi>n</mi><mi>t</mi><mi>i</mi><mi>t</mi><mi>y</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">=</mo><mi>v</mi><mo stretchy="false">∈</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>t</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">[</mo><mi>e</mi><msub><mo stretchy="false">]</mo><mo stretchy="false">≡</mo></msub></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-846">
+\begin{eqnarray*}
+events(e) &=& \{id \mid used(id,a,e,t,attrs) \in I\}\\
+&\cup& \{id \mid wasGeneratedBy(id,e,a,t,attrs) \in I\}\\
+&\cup& \{id \mid wasInvalidatedBy(id,e,a,t,attrs) \in I\}\\
+&\cup& \{id \mid wasStartedBy(id,a,e,a',t,attrs) \in I\}\\
+&\cup& \{id \mid wasEndedBy(id,a,e,a',t,attrs) \in I\}\\
+lifetime(e) &=& \{time(e) \mid evt \in events(e)\}\\
+value(e,a) &=& \{v \mid entity(e,attrs) \in I, a=v \in attrs\}\\
+thingOf(e) &=& [e]_\equiv
+\end{eqnarray*}
+</script>
+<p> Similarly, for <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-847-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-847">Things</script>, we
+employ an auxiliary function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-848-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">:</mo><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi><mo stretchy="false">→</mo><mi>P</mi><mo stretchy="false">(</mo><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-848">events:Things \to P(Events)</script> that collects the set of all
+events in which one of the entities constituting the thing participated.</p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-849-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="3pt" columnspacing="thickmathspace" displaystyle="true" side="right" minlabelspacing="0.8em"><mtr><mtd><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>T</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><munder><mo stretchy="false">⋃</mo><mrow class="MJX-TeXAtom-ORD"><mi>e</mi><mo stretchy="false">∈</mo><mi>T</mi></mrow></munder><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo fence="false" stretchy="false">{</mo><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">∣</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">∈</mo><mi>e</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi><mo stretchy="false">(</mo><mi>T</mi><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></mtd></mtr><mtr><mtd><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>T</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><munder><mo stretchy="false">⋃</mo><mrow class="MJX-TeXAtom-ORD"><mi>e</mi><mo stretchy="false">∈</mo><mi>T</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">∈</mo><mi>l</mi><mi>i</mi><mi>f</mi><mi>e</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mrow></munder><mi>v</mi><mi>a</mi><mi>l</mi><mi>u</mi><mi>e</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-849">
+\begin{eqnarray*}
+events(T) &=& \bigcup_{e \in T} events(e)\\
+lifetime(e) &=& \{time(e) \mid evt \in events(T)\}\\
+value(T,a,t) &=& \bigcup_{e \in T, t \in lifetime(e)} value(e,a)\\
+\end{eqnarray*}
+</script>
+<div class="note"><div class="note-title"><span>Note</span></div><div class="">
+  <p> TODO: The above treatment of time/lifetime is flawed, as we are
+defining lifetimes to be sets of times, not intervals. What if
+  some of the times are symbolic?</p>
+  </div></div>
+
+<p> The functions <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-850-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-850">startTime</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-851-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mi>n</mi><mi>d</mi><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-851">endTime</script> mapping activities to
+  their start and end times is defined as follows:
+  </p>
+  <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-852-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><span style="display: inline-block; vertical-align: middle; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid; ">\begin{eqnarray*}<br>&nbsp;&nbsp;startTime(id)&nbsp;&amp;=&amp;&nbsp;t_1&nbsp;\text{&nbsp;where&nbsp;}&nbsp;activity(a,t_1,t_2,attrs)&nbsp;\in<br>&nbsp;&nbsp;I\\<br>&nbsp;&nbsp;&amp;&nbsp;\text{&nbsp;or&nbsp;}&nbsp;wasStartedBy(start,a,e,a',t_1,attrs)&nbsp;\in&nbsp;I\\<br>&nbsp;&nbsp;endTime(id)&nbsp;&amp;=&amp;&nbsp;t_2&nbsp;\text{&nbsp;where&nbsp;}&nbsp;activity(a,t_1,t_2,attrs)&nbsp;\in<br>&nbsp;&nbsp;I\\<br>&nbsp;&nbsp;&amp;&nbsp;\text{&nbsp;or&nbsp;}&nbsp;wasEndedBy(end,a,e,a',t_2,attrs)&nbsp;\in&nbsp;I\\</span></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-852">\begin{eqnarray*}
+  startTime(id) &=& t_1 \text{ where } activity(a,t_1,t_2,attrs) \in
+  I\\
+  & \text{ or } wasStartedBy(start,a,e,a',t_1,attrs) \in I\\
+  endTime(id) &=& t_2 \text{ where } activity(a,t_1,t_2,attrs) \in
+  I\\
+  & \text{ or } wasEndedBy(end,a,e,a',t_2,attrs) \in I\\
+</script>
+  <p>Note that the above definition is deterministic because the start
+  and end times in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-853-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>c</mi><mi>t</mi><mi>i</mi><mi>v</mi><mi>i</mi><mi>t</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-853">activity</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-854-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mrow class="MJX-TeXAtom-ORD"><mo stretchy="false">/</mo></mrow><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-854">wasStartedBy/wasEndedBy</script> statements
+  must be equal</p>.
+<p> The function <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-855-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-855">time</script> mapping <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-856-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>v</mi><mi>e</mi><mi>n</mi><mi>t</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-856">Events</script> to their <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-857-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>i</mi><mi>m</mi><mi>e</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-857">Times</script> is defined
+  as follows:
+  </p>
+  <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-858-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="3pt" columnspacing="thickmathspace" displaystyle="true" side="right" minlabelspacing="0.8em"><mtr><mtd><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>t</mi><mtext>&nbsp;where&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>t</mi><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>t</mi><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>t</mi><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>t</mi><mi>i</mi><mi>m</mi><mi>e</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mi>t</mi><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-858">\begin{eqnarray*}
+  time(id) &=& t \text{ where } used(id,a,e,t,attrs) \in I\\
+  time(id) &=&  t \text{ where } wasGeneratedBy(id,e,a,t,attrs) \in I\\
+time(id) &=& t\text{ where } wasInvalidatedBy(id,e,a,t,attrs) \in I\\
+time(id) &=& t \text{ where } wasStartedBy(id,a,e,a',t,attrs) \in I\\
+time(id) &=& t \text{ where }wasEndedBy(id,a,e,a',t,attrs) \in I\\
+\end{eqnarray*}
+  </script>
+  
+  
+  <p>Finally, the functions giving the interpretations of the
+  different identified influences are as follows:
+  </p>
+<span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-859-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mtable columnalign="right center left" rowspacing="3pt" columnspacing="thickmathspace" displaystyle="true" side="right" minlabelspacing="0.8em"><mtr><mtd><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>u</mi><mi>s</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>g</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>G</mi><mi>e</mi><mi>n</mi><mi>e</mi><mi>r</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>i</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>v</mi><mi>a</mi><mi>l</mi><mi>i</mi><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>s</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>e</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>E</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><msup><mi>a</mi><mo>′</mo></msup><mo stretchy="false">,</mo><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mi>a</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>s</mi><mi>s</mi><mi>o</mi><mi>c</mi><mi>i</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>W</mi><mi>i</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>p</mi><mi>l</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>A</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>i</mi><mi>b</mi><mi>u</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>T</mi><mi>o</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>e</mi><mo stretchy="false">,</mo><mi>a</mi><mi>g</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>a</mi><mi>c</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>O</mi><mi>n</mi><mi>B</mi><mi>e</mi><mi>h</mi><mi>a</mi><mi>l</mi><mi>f</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>2</mn></msub><mo stretchy="false">,</mo><mi>a</mi><msub><mi>g</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>c</mi><mi>t</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>c</mi><mi>o</mi><mi>m</mi><mi>m</mi><mi>u</mi><mi>n</mi><mi>i</mi><mi>c</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><mo stretchy="false">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>I</mi><mi>n</mi><mi>f</mi><mi>o</mi><mi>r</mi><mi>m</mi><mi>e</mi><mi>d</mi><mi>B</mi><mi>y</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><mi>g</mi><mo stretchy="false">⋅</mo><mi>a</mi><mo stretchy="false">⋅</mo><mi>u</mi><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mi>a</mi><mo stretchy="false">,</mo><mi>g</mi><mo stretchy="false">,</mo><mi>u</mi><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr><mtr><mtd><mi>d</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>P</mi><mi>a</mi><mi>t</mi><mi>h</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">)</mo></mtd><mtd><mo stretchy="false">=</mo></mtd><mtd><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">⋅</mo><msub><mi>g</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">⋅</mo><msub><mi>a</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">⋅</mo><msub><mi>u</mi><mrow class="MJX-TeXAtom-ORD"><mi>i</mi><mi>d</mi></mrow></msub><mo stretchy="false">⋅</mo><msub><mi>e</mi><mn>1</mn></msub><mtext>&nbsp;where&nbsp;</mtext><mi>w</mi><mi>a</mi><mi>s</mi><mi>D</mi><mi>e</mi><mi>r</mi><mi>i</mi><mi>v</mi><mi>e</mi><mi>d</mi><mi>F</mi><mi>r</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>e</mi><mn>2</mn></msub><mo stretchy="false">,</mo><msub><mi>e</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mo stretchy="false">−</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></mtd></mtr></mtable></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-859">\begin{eqnarray*}
+  used(id) &=& (a,e) \text{ where } used(id,a,e,t,attrs) \in I\\
+  generated(id) &=&  (e,a) \text{ where } wasGeneratedBy(id,e,a,t,attrs) \in I\\
+  invalidated(id) &=& (e,a) \text{ where } wasInvalidatedBy(id,e,a,t,attrs) \in I\\
+  started(id) &=& (a,e,a') \text{ where } wasStartedBy(id,a,e,a',t,attrs) \in I\\
+  ended(id) &=& (a,e,a') \text{ where }wasEndedBy(id,a,e,a',t,attrs) \in I\\
+ \\
+  associatedWith(id) &=& (ag,act,pl) \text{ where } wasAssociatedWith(id,ag,act,pl,attrs) \in
+  I\\
+ attributedTo(id) &=& (e,ag) \text{ where } wasAttributedTo(id,e,ag,attrs) \in I\\
+actedFor (id) &=& (ag_2,ag_1,act) \text{ where } actedOnBehalfOf(id,ag_2,ag_1,act,attrs) \in I\\
+  communicatedBy(id) &=& (a_2,a_1) \text{ where }
+  wasInformedBy(id,a_2,a_1,attrs)\in I\\
+  derivationPath(id) &=& e_2\cdot g \cdot a \cdot u \cdot e_1 \text{ where } wasDerivedFrom(id,e_2,e_1,a,g,u,attrs) \in I\\
+  derivationPath(id) &=& e_2\cdot g_{id} \cdot a_{id} \cdot u_{id} \cdot e_1 \text{ where } wasDerivedFrom(id,e_2,e_1,-,-,-,attrs) \in I\\
+  \end{eqnarray*}
+  </script>
+  <p>Note that since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-860-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-860">I</script> is normalized and valid, by the uniqueness
+  constraints these functions are all well-defined.  In the case for
+  imprecise derivations, we generate additional activities, generations
+  and usages linking <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-861-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>2</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-861">e_2</script> to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-862-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>e</mi><mn>1</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-862">e_1</script>.
+  </p>
+  <div class="remark">
+
+    <p> We explicitly add activities, generations, and usages to
+  ensure that we can form derivation paths for imprecise derivation
+  formulas.
+    </p>
+    </div>
+</section>
+<section id="relations">
+<h4><span class="secno">6.2.3 </span>Relations</h4>
+<p>We introduced a relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-863-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">≡</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-863">\equiv</script> corresponding to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-864-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi><mi>l</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>n</mi><mi>a</mi><mi>t</mi><mi>e</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-864">alternateOf</script>
+  above, in defining <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-865-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>h</mi><mi>i</mi><mi>n</mi><mi>g</mi><mi>s</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-865">Things</script>, but this relation is not a component of
+  the semantics.</p>
+    <p>The event ordering relation is defined as follows:</p>
+    <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-866-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">⪯</mo><mi>e</mi><mi>v</mi><msup><mi>t</mi><mo>′</mo></msup><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mo stretchy="false">(</mo><mi>e</mi><mi>v</mi><mi>t</mi><mo stretchy="false">,</mo><mi>e</mi><mi>v</mi><msup><mi>t</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><msub><mi>G</mi><mi>I</mi></msub></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-866">evt \preceq evt' \iff (evt,evt') \in G_I</script>
+    <p> Here, we are using a slight abuse of notation: we write <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-867-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>G</mi><mi>I</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-867">G_I</script>
+  for the directed graph that is used during validation of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-868-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-868">I</script> to
+  test for cycles amond event ordering constraints.  See Sec. 7.1 of PROV-CONSTRAINTS [<cite><a class="bibref" href="#bib-PROV-CONSTRAINTS">PROV-CONSTRAINTS</a></cite>].</p>
+
+    <p> Finally, the collection membership relation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-869-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-869">MemberOf</script> is
+    defined as follows:</p>
+    <span class="MathJax_Preview"></span><div class="MathJax_MathML" id="MathJax-Element-870-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>M</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi><mspace width="thickmathspace"></mspace><mo stretchy="false">⟺</mo><mspace width="thickmathspace"></mspace><mi>m</mi><mi>e</mi><mi>m</mi><mi>b</mi><mi>e</mi><mi>r</mi><mi>O</mi><mi>f</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">,</mo><mi>c</mi><mo stretchy="false">)</mo><mo stretchy="false">∈</mo><mi>I</mi></math></span></span></div><script type="math/tex; mode=display" id="MathJax-Element-870">(e,c) \in MemberOf \iff memberOf(e,c) \in I</script>
+    
+</section>
+    <section id="axioms-1">
+    <h4><span class="secno">6.2.4 </span>Axioms</h4>
+
+    <p>To verify that the construction of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-871-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-871">M(I)</script> yields a PROV
+    structure, we must ensure that all of the axioms and
+    side-conditions in the components are satisfied.  As noted above,
+    the disjointness constraints are satisfied by construction. </p>
+
+    </section>
+    
+<section id="main-results">
+<h4><span class="secno">6.2.5 </span>Main results</h4>
+
+<p> The main results of this section are that if a valid PROV instance
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-872-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-872">I</script> normalizes to
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-873-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>I</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-873">I'</script>, then  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-874-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><msup><mi>I</mi><mo>′</mo></msup><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-874">M(I') \models I</script>, and that furthermore <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-875-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><msup><mi>I</mi><mo>′</mo></msup><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-875">M(I')</script>
+    satisfies all of the inferences and constraints.  Thus, a form of
+    completeness holds: every valid PROV instance has a model.</p>
+
+<div class="theorem" id="rule_40" data-count="40" data-title="Theorem 40 (rule_40)"><div class="ruleTitle"><a class="internalDFN" href="#rule_40">Theorem 40 (rule_40)</a></div>
+  <p>Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-876-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-876">J</script> is a valid PROV instance and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-877-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-877">I</script> is a normal form for
+  <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-878-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-878">J</script>.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-879-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-879">M(I) \models J</script></p>
+  </div>
+  <div class="proof">
+    <p>
+    First, we consider the case where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-880-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-880">J</script> itself is a valid,
+  normalized PROV instance <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-881-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-881">I</script>, and let <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-882-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-882">M(I)</script>
+  be the corresponding structure.  Then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-883-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-883">M(I)</script> is a PROV structure,
+  satisfying all of the axioms (and hence all of the inferences and
+  constraints) stated above.
+    </p>
+
+    <p>Moreover, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-884-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-884">M(I) \models I</script>, as can be verified on a
+    case-by-case basis for each type of formula by considering its
+    semantics and the definition of the construction of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-885-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-885">M</script>.  </p>
+
+    <p> To conclude, we need to show that if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-886-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-886">J</script> is not in normal
+    form, and norma,izes to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-887-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-887">I</script>, then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-888-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-888">M(I) \models J</script>.  WE can prove
+    this by induction on the length of the sequence of normalization
+    steps.  The base case, when <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-889-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi><mo stretchy="false">=</mo><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-889">J = I</script>, is established already.
+    Suppose <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-890-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-890">J</script> normalizes in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-891-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo stretchy="false">+</mo><mn>1</mn></math></span></span></span><script type="math/tex" id="MathJax-Element-891">n+1</script> steps and we can perform one
+    normalization step on it to obtain <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-892-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-892">J'</script>, which normalizes to <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-893-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-893">I</script>
+    in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-894-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-894">n</script> steps.  By induction, we know that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-895-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-895">M(I) \models J'</script>.  For
+    each possible normalization step, we must show that if <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-896-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-896">M(I)
+    \models J'</script> then <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-897-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-897">M(I) \models J</script>.
+    </p>
+    <p>First consider inference steps.  These add information, that
+    is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-898-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>J</mi><mo>′</mo></msup><mo stretchy="false">⊇</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-898">J' \supseteq J</script>.  Hence it is immediate that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-899-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-899">M(I) \models J</script>
+    since every formula in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-900-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-900">J</script> is in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-901-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-901">J'</script>, and all formulas of <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-902-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-902">J'</script>
+    are satisfied in <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-903-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-903">M(I)</script>.
+    </p>
+    <p>Next consider uniqueness constraint steps, which may involve
+    merging formulas.  That is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-904-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>J</mi><mo stretchy="false">=</mo><msub><mi>J</mi><mn>0</mn></msub><mo stretchy="false">∪</mo><mo fence="false" stretchy="false">{</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-904">J = J_0 \cup
+    \{r(id,a_1,\ldots,a_n,attrs_1), r(id,b_1,\ldots,b_n,attrs_2)\}</script>
+    and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-905-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>J</mi><mo>′</mo></msup><mo stretchy="false">=</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>J</mi><mn>0</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∪</mo><mo fence="false" stretchy="false">{</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-905">J' = S(J_0) \cup \{r(id,S(a_1),\ldots,S(a_n),attrs_1\cup
+    attrs_2)\}</script>, where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-906-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>S</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-906">S</script> is a unifying substitution making <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-907-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>S</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>b</mi><mi>i</mi></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-907">S(a_i) =
+    S(b_i)</script> for each <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-908-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>i</mi><mo stretchy="false">∈</mo><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><mi>n</mi><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-908">i \in \{1,\ldots,n\}</script>.  Since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-909-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-909">M(I) \models J'</script>,
+    we must have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-910-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><msup><mi>J</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-910">M(I),\rho \models J'</script>  for some <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-911-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-911">\rho</script>, and therefore
+    we must also have that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-912-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>J</mi><mn>0</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-912">M(I),\rho \models S(J_0)</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-913-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mi mathvariant="italic">ρ</mi><mo stretchy="false">⊨</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-913">M(I)\rho \models r(id,S(a_1),\ldots,S(a_n),attrs_1\cup
+    attrs_2)</script>.  We can extend <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-914-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi mathvariant="italic">ρ</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-914">\rho</script> to a valuation <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-915-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup></math></span></span></span><script type="math/tex" id="MathJax-Element-915">\rho'</script> such that
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-916-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup><mo stretchy="false">⊨</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>x</mi><mi>i</mi></msub><mo stretchy="false">∧</mo><mo stretchy="false">⋯</mo><mo stretchy="false">∧</mo><mi>S</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">=</mo><msub><mi>x</mi><mi>k</mi></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-916">M(I),\rho' \models S(x_1) = x_i \wedge \cdots \wedge S(x_k) =
+    x_k</script> where <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-917-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>d</mi><mi>o</mi><mi>m</mi><mo stretchy="false">(</mo><mi>S</mi><mo stretchy="false">)</mo><mo stretchy="false">=</mo><mo fence="false" stretchy="false">{</mo><msub><mi>x</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>x</mi><mi>k</mi></msub><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-917">dom(S) = \{x_1,\ldots,x_k\}</script>.
+    <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-918-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup><mo stretchy="false">⊨</mo><msub><mi>J</mi><mn>0</mn></msub></math></span></span></span><script type="math/tex" id="MathJax-Element-918">M(I),\rho' \models J_0</script> and <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-919-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup><mo stretchy="false">⊨</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-919">M(I),\rho' \models r(id,a_1,\ldots,a_n,attrs_1\cup
+    attrs_2)</script>.  Moreover, since <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-920-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>S</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-920">S</script> is a unifier, we also have <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-921-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup><mo stretchy="false">⊨</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">∪</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-921">M(I),\rho' \models r(id,b_1,\ldots,b_n,attrs_1\cup
+    attrs_2)</script>.  Finally, since we can always remove attributes from an
+    atomic formula without danaging its satisfiability, we can
+    conclude that <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-922-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">,</mo><msup><mi mathvariant="italic">ρ</mi><mo>′</mo></msup><mo stretchy="false">⊨</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo stretchy="false">∧</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-922">M(I),\rho' \models r(id,a_1,\ldots,a_n,attrs_1)
+    \wedge r(id,b_1,\ldots,b_n,    attrs_2)</script>.  To conclude, we have
+    shown <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-923-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><msub><mi>J</mi><mn>0</mn></msub><mo stretchy="false">∪</mo><mo fence="false" stretchy="false">{</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>a</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mi>d</mi><mo stretchy="false">,</mo><msub><mi>b</mi><mn>1</mn></msub><mo stretchy="false">,</mo><mo stretchy="false">…</mo><mo stretchy="false">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo stretchy="false">,</mo><mi>a</mi><mi>t</mi><mi>t</mi><mi>r</mi><msub><mi>s</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo fence="false" stretchy="false">}</mo></math></span></span></span><script type="math/tex" id="MathJax-Element-923">M(I) \models J_0 \cup \{ r(id,a_1,\ldots,a_n,attrs_1)
+   r(id,b_1,\ldots,b_n,    attrs_2)\}</script>, that is, <span class="MathJax_Preview"></span><span class="MathJax_MathML" id="MathJax-Element-924-Frame" style="font-size: 100%; "><span class="MathJax_MathContainer" style="position: relative; display: inline-block; white-space: nowrap; "><span style="display: inline-block; "><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mo stretchy="false">(</mo><mi>I</mi><mo stretchy="false">)</mo><mo stretchy="false">⊨</mo><mi>J</mi></math></span></span></span><script type="math/tex" id="MathJax-Element-924">M(I) \models J</script>, as
+    desired.
+</p>
+</div></section>
+
+  </section>
+  
+</section>
+
+<section class="appendix" id="acknowledgements"> 
+      <!--OddPage--><h2><span class="secno">A. </span>Acknowledgements</h2> 
+      <p> 
+
+This  document has been produced by the PROV Working Group, and its contents reflect extensive discussion within the Working Group as a whole.
+      </p>
+<p>Thanks also to Robin Berjon for the ReSPec.js specification writing
+tool and to MathJax for their LaTeX-to-HTML conversion tools, both of
+      which aided in the preparation of this document.</p>
+
+<p>
+Members of the PROV 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),
+David Corsar (University of Aberdeen, Computing Science),
+Stephen Cresswell (The National Archives),
+Tom De Nies (IBBT),
+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)),
+Kai Eckert (Invited expert),
+Jean-Pierre EVAIN (European Broadcasting Union, EBU-UER),
+James Frew (Invited expert),
+Irini Fundulaki (Foundation for Research and Technology - Hellas(FORTH)),
+Daniel Garijo (Universidad Politécnica de Madrid),
+Yolanda Gil (Invited expert),
+Ryan Golden (Oracle Corporation),
+Paul Groth (Vrije Universiteit),
+Olaf Hartig (Invited expert),
+David Hau (National Cancer Institute, NCI),
+Sandro Hawke (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="Massachusetts Institute of Technology">MIT</abbr>),
+Jörn Hees (German Research Center for Artificial Intelligence (DFKI) Gmbh),
+Ivan Herman, (<abbr title="World Wide Web Consortium">W3C</abbr>/<abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr>),
+Ralph Hodgson (TopQuadrant),
+Hook Hua (Invited expert),
+Trung Dong Huynh (University of Southampton),
+Graham Klyne (University of Oxford),
+Michael Lang (Revelytix, Inc.),
+Timothy Lebo (Rensselaer Polytechnic Institute),
+James McCusker (Rensselaer Polytechnic Institute),
+Deborah McGuinness (Rensselaer Polytechnic Institute),
+Simon Miles (Invited expert),
+Paolo Missier (School of Computing Science, Newcastle university),
+Luc Moreau (University of Southampton),
+James Myers (Rensselaer Polytechnic Institute),
+Vinh Nguyen (Wright State University),
+Edoardo Pignotti (University of Aberdeen, Computing Science),
+Paulo da Silva Pinheiro (Rensselaer Polytechnic Institute),
+Carl Reed (Open Geospatial Consortium),
+Adam Retter (Invited Expert),
+Christine Runnegar (Invited expert),
+Satya Sahoo (Invited expert),
+David Schaengold (Revelytix, Inc.),
+Daniel Schutzer (FSTC, Financial Services Technology Consortium),
+Yogesh Simmhan (Invited expert),
+Stian Soiland-Reyes (University of Manchester),
+Eric Stephan (Pacific Northwest National Laboratory),
+Linda Stewart (The National Archives),
+Ed Summers (Library of Congress),
+Maria Theodoridou (Foundation for Research and Technology - Hellas(FORTH)),
+Ted Thibodeau (OpenLink Software Inc.),
+Curt Tilmes (National Aeronautics and Space Administration),
+Craig Trim (IBM Corporation),
+Stephan Zednik (Rensselaer Polytechnic Institute),
+Jun Zhao (University of Oxford),
+Yuting Zhao (University of Aberdeen, Computing Science).
+</p>
+    </section> 
+
+ 
+
+<!--  LocalWords:  px DM RL RDF AQ SEM SOTD Definitional wasInformedBy attrs ag
+ -->
+<!--  LocalWords:  wasGeneratedBy wasStartedBy gAttr sAttr wasAttributedTo attr
+ -->
+<!--  LocalWords:  wasAssociatedWith dAttrs gAttrs wasDerivedFrom uAttrs eAttrs
+ -->
+<!--  LocalWords:  wasRevisionOf specializationOf wasQuotedFrom Traceability WD
+ -->
+<!--  LocalWords:  tracedTo aAttr actedOnBehalfOf rAttr traceability TODO xsd
+ -->
+<!--  LocalWords:  alternateOf wasEndedBy Lamport's timeline subfigure memberOf
+ -->
+<!--  LocalWords:  wasStartedByAgent wasAttributedWith derivedByInsertionFrom
+ -->
+<!--  LocalWords:  QName derivedByRemovalFrom EmptyCollection wasVersionOf dm
+ -->
+<!--  LocalWords:  RecsWD formedness workflow ness operability CSP versa hyp YY
+ -->
+<!--  LocalWords:  disambiguating lifecycle conformant minimalistic Lamport fo
+ -->
+<!--  LocalWords:  reflexivity antisymmetry timelines timespan WG concl inv TBD
+ -->
+<!--  LocalWords:  continuant occurrent modalities toyota womanInRedDress provn
+ -->
+<!--  LocalWords:  customerInChairAt manWithGlasses customerInChair irreflexive
+ -->
+<!--  LocalWords:  wasStartedByActivity antisymmetric wasInvalidatedBy stmt CHR
+ -->
+<!--  LocalWords:  DBCONSTRAINTS formalisms URIs wasInfluencedBy definitional
+ -->
+<!--  LocalWords:  wasInvalidated th  nontermination  implementability att evt
+ -->
+<!--  LocalWords:  Irreflexivity mentionOf preorder equalities unsatisfiable De
+ -->
+<!--  LocalWords:  Lebo subfigures pre del irreflexivity superproperty typeOf
+ -->
+<!--  LocalWords:  disjointness inferrable subtyping subtype subtypes hadMember
+ -->
+<!--  LocalWords:  hasMember toplevel sameAs tuple acyclicity isomorphism IRI
+ -->
+<!--  LocalWords:  endBundle typeof equational acyclic invertible procedurally
+ -->
+<!--  LocalWords:  implementers multi unifier ERCIM Groth Stian Soiland Ilkay
+ -->
+<!--  LocalWords:  Altintas Reza B'Far Belhajjame Informatics Coppens IBBT Nies
+ -->
+<!--  LocalWords:  Corsar Cresswell Deus DERI Galway satisfiable namespace Kai
+ -->
+<!--  LocalWords:  endDocument Dobson Doerr Hellas Eckert EVAIN EBU UER Frew de
+ -->
+<!--  LocalWords:  Irini Fundulaki Garijo Universidad Politécnica Vrije Hartig
+ -->
+<!--  LocalWords:  Universiteit Hau NCI Sandro Hawke Jörn Hees DFKI Gmbh Hua da
+ -->
+<!--  LocalWords:  Hodgson TopQuadrant Trung Huynh Klyne Revelytix Rensselaer
+ -->
+<!--  LocalWords:  McCusker McGuinness Paolo Missier Luc Moreau Vinh Edoardo
+ -->
+<!--  LocalWords:  Pignotti Paulo Pinheiro Geospatial Retter Runnegar Satya
+ -->
+<!--  LocalWords:  Sahoo Schaengold Schutzer FSTC Yogesh Simmhan Theodoridou
+ -->
+<!--  LocalWords:  Thibodeau OpenLink Tilmes Zednik Zhao Yuting
+ -->
+<section id="references" class="appendix"><!--OddPage--><h2><span class="secno">B. </span>References</h2><section id="informative-references"><h3><span class="secno">B.1 </span>Informative references</h3><dl class="bibliography"><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/NOTE-prov-aq-20130430/"><cite>Provenance Access and Query</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/</a>
+</dd><dt id="bib-PROV-CONSTRAINTS">[PROV-CONSTRAINTS]</dt><dd>James Cheney; Paolo Missier; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/REC-prov-constraints-20130430/"><cite>Constraints of the PROV Data Model</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-constraints-20130430/">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/</a>
+</dd><dt id="bib-PROV-DC">[PROV-DC]</dt><dd>Daniel Garijo; Kai Eckert; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/"><cite>Dublin Core to PROV Mapping</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dc-20130430/</a>
+</dd><dt id="bib-PROV-DICTIONARY">[PROV-DICTIONARY]</dt><dd>Tom De Nies; Sam Coppens; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/"><cite>PROV Dictionary</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/">http://www.w3.org/TR/2013/NOTE-prov-dictionary-20130430/</a>
+</dd><dt id="bib-PROV-DM">[PROV-DM]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/REC-prov-dm-20130430/"><cite>PROV-DM: The PROV Data Model</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-dm-20130430/">http://www.w3.org/TR/2013/REC-prov-dm-20130430/</a>
+</dd><dt id="bib-PROV-LINKS">[PROV-LINKS]</dt><dd>Luc Moreau; Timothy Lebo; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-links-20130430/"><cite>Linking Across Provenance Bundles</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-links-20130430/">http://www.w3.org/TR/2013/NOTE-prov-links-20130430/</a>
+</dd><dt id="bib-PROV-N">[PROV-N]</dt><dd>Luc Moreau; Paolo Missier; eds. <a href="http://www.w3.org/TR/2013/REC-prov-n-20130430/"><cite>PROV-N: The Provenance Notation</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-n-20130430/">http://www.w3.org/TR/2013/REC-prov-n-20130430/</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/REC-prov-o-20130430/"><cite>PROV-O: The PROV Ontology</cite></a>. 30 April 2013, W3C Recommendation. URL: <a href="http://www.w3.org/TR/2013/REC-prov-o-20130430/">http://www.w3.org/TR/2013/REC-prov-o-20130430/</a>
+</dd><dt id="bib-PROV-OVERVIEW">[PROV-OVERVIEW]</dt><dd>Paul Groth; Luc Moreau; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/"><cite>PROV-OVERVIEW: An Overview of the PROV Family of Documents</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/">http://www.w3.org/TR/2013/NOTE-prov-overview-20130430/</a>
+</dd><dt id="bib-PROV-PRIMER">[PROV-PRIMER]</dt><dd>Yolanda Gil; Simon Miles; eds. <a href="http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/"><cite>PROV Model Primer</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/">http://www.w3.org/TR/2013/NOTE-prov-primer-20130430/</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/NOTE-prov-xml-20130430/"><cite>PROV-XML: The PROV XML Schema</cite></a>. 30 April 2013, W3C Note. URL: <a href="http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/">http://www.w3.org/TR/2013/NOTE-prov-xml-20130430/</a>
+</dd></dl></section></section></body></html>
\ No newline at end of file